Skip to main content

Seeed Studio XIAO RA4M1 入門ガイド


はじめに

XIAO RA4M1 は、Renesas の RA4M1 チップ(最大 48 MHz の 32 ビット ARM® Cortex®-M4 MCU)を従来の XIAO フォームファクターに統合しています。この開発ボードは、256KB Flash、32KB SRAM、8KB EEPROM、USB 2.0 コネクタ、リセットおよびブートボタン、3 つの LED、14 ビット A/D コンバータ、12 ビット D/A コンバータ、CAN BUS インターフェースを提供します。オンボード充電回路と低消費電力モード(最低 45μA)により、バッテリー駆動アプリケーションに最適です。Arduino Uno R4 と同じ 32 ビット R7FA4M1AB3CNE マイクロコントローラを共有し、Arduino IDE と豊富な XIAO アクセサリとネイティブに互換性があり、電子プロジェクトの完璧な出発点となります。

特徴

  • 人気のマイクロコントローラを搭載: Renesas RA4M1、最大 48 MHz で動作する 32 ビット ARM® Cortex®-M4 R7FA4M1AB3CNE MCU、256 KB の Flash メモリ、32 KB の SRAM を搭載。
  • 注目のオンボードリソース: 14 ビット ADC、12 ビット DAC、CAN BUS、USB 2.0、オンボード RGB LED を装備。
  • 8 つの新しい IO を拡張: 従来の XIAO ボードと比較して背面に 8 つの新しい IO ピンを追加(合計 19 GPIO)、より複雑なアプリケーションを可能にします。
  • 強力なセキュリティ機能: 内蔵ハードウェア暗号化、セキュアブート、キーストレージ、その他の機能によりアプリケーションのセキュリティを確保。
  • ソフトウェア互換性: Arduino IDE と完全互換で、シームレスなプロジェクト開発とプロトタイピングが可能。
  • 効率的な電力設計: ディープスリープ時の消費電力が最低 45μA の 4 つの動作モードを提供し、リチウムバッテリー充電管理をサポート。
  • コンパクトな親指サイズ設計: 21 x 17.8mm のサイズで、Seeed Studio の従来の XIAO フォームファクターを採用し、スペースを重視するアプリケーションに最適。
  • 量産対応: 表面実装デバイス(SMD)設計で、すべてのコンポーネントが前面にあり、両側にスタンプホールがあり、効率的な大量生産を促進。

仕様

製品XIAO RA4M1
プロセッサRenesas RA4M1
48-MHz Arm® Cortex®-M4 コア
RAM32 KB SRAM
Flash256 KB
LED1 ユーザー LED、1 電源 LED、1 RGB LED
インターフェース19 ピン:14x アナログ、19x デジタル、2x IIC、2x UART、2x SPI
ボタン1 RESET ボタン、1 BOOT ボタン
セキュリティAES128/256
低消費電力45μA
ソフトウェア互換性Arduino IDE
動作温度-20°C-70°C
寸法21x17.8 mm
電源Type-C: 5V
BAT: 3.8V

ハードウェア概要

すべてを始める前に、製品の基本的なパラメータを把握することが非常に重要です。以下の表は、Seeed Studio XIAO RA4M1 の特性に関する情報を提供します。





XIAO RA4M1 前面表示図
XIAO RA4M1 ピンリスト

ピンマップ

XIAO ピン機能チップピン代替機能説明
5VVBUS電源入力/出力
GND
3V33V3_OUT電源出力
D0アナログP014ADC09GPIO、ADC
D1アナログP000ADC00GPIO、ADC
D2アナログP001ADC01GPIO、ADC
D3アナログP002ADC02GPIO、ADC
D4アナログ、SDA1P206GPIO、I2C データ、ADC
D5アナログ、SCL1P100GPIO、I2C クロック、ADC
D6TXD2P302SDA2GPIO、UART 送信、I2C
D7RXD2P301SCL2GPIO、UART 受信、I2C
D8SPI1_SCKP111GPIO、SPI クロック
D9SPI1_MISOP110CRX0GPIO、SPI データ、UART
D10SPI1_MOSIP109CTX0GPIO、SPI データ、UART
D11RX9P408GPIO、UART
D12TX9P409GPIO、UART
D13GPIOP013GPIO
D14GPIOP012GPIO
D15TXD0P101SDA0,ADC21,SPI0_MOSIGPIO、UART 送信、ADC、SPI、I2C
D16RXD0P104SCL0,SPI0_MISOGPIO、UART、SPI、I2C
D17CRX0P102ADC20,SPI0_SCKGPIO、UART、ADC、SPI
D18CTX0P103ADC19GPIO、SPI、ADC、UART
ADC_BATP400BAT 電圧値を読み取り
ResetRESRESET
BootP201ブートモードに入る
RGB LEDP112RGB LED
CHARGE_LEDVBUSCHG-LED_赤
USER_LEDP011ユーザーライト(黄)

入門ガイド

ハードウェアの準備

以下を準備する必要があります:


tip

一部の USB ケーブルは電源供給のみでデータ転送ができません。USB ケーブルをお持ちでない場合、またはお使いの USB ケーブルがデータ転送可能かわからない場合は、Seeed USB Type-C support USB 3.1 をご確認ください。

ソフトウェアの準備

XIAO RA4M1 の推奨プログラミングツールは Arduino IDE です。そのため、ソフトウェア準備の一環として、Arduino のインストールを完了する必要があります。

tip

Arduino を初めて使用する場合は、Getting Started with Arduino を参照することを強くお勧めします。

  • ステップ 1. お使いのオペレーティングシステムに応じて、Arduino IDE の安定版をダウンロードしてインストールします。
  • ステップ 2. Arduino アプリケーションを起動します。

  • ステップ 3. Arduino IDE に RA4M1 ボードパッケージを追加します。

    File > Preferences に移動し、"Additional Boards Manager URLs" に以下の URL を入力します: https://files.seeedstudio.com/arduino/package_renesas_1.2.0_index.json

    Tools > Board > Boards Manager... に移動し、検索ボックスに RA4M1 というキーワードを入力し、Seeed Renesas Board の最新バージョンを選択してインストールします。

  • ステップ 4. ボードとポートを選択します。

    Arduino IDE の上部で、左側の開発ボードで xiao を検索し、XIAO_RA4M1 を選択し、ポートを直接選択します。

BootLoader モード

時々、間違ったプログラムを使用すると、XIAO がポートを失ったり、正しく機能しなくなったりすることがあります。よくある問題には以下があります:

  • XIAO がコンピュータに接続されているが、ポート番号が見つからない。
  • XIAO が接続され、ポート番号が表示されるが、プログラムのアップロードが失敗する。

上記の 2 つの状況に遭遇した場合、XIAO を BootLoader モードにすることで、認識されないデバイスやアップロード失敗の問題のほとんどを解決できます。具体的な方法は:

  • 方法 1. XIAO RA4M1 の BOOT ボタンを離さずに押し続けます。
  • 方法 2. BOOT ボタンを押し続けたまま、データケーブルでコンピュータに接続します。コンピュータに接続した後、BOOT ボタンを離します。

リセット

プログラムが異常に動作している場合、電源投入時に Reset を一度押すことで、XIAO にアップロードされたプログラムを再実行させることができます。 電源投入時に BOOT キーを押し続けてから Reset キーを一度押すことで、BootLoader モードに入ることもできます。

ここまでで、XIAO RA4M1 の機能とハードウェアについて十分理解できたと思います。次に、最もシンプルな Blink プログラムを例に、XIAO RA4M1 の最初の点滅を実行してみましょう!

  • ステップ 1. Arduino アプリケーションを起動します。
  • ステップ 2. File > Examples > 01.Basics > Blink に移動し、プログラムを開きます。
  • ステップ 3. ボードモデルを XIAO RA4M1 に選択し、正しいポート番号を選択してプログラムをアップロードします。

プログラムが正常にアップロードされると、以下の出力メッセージが表示され、XIAO RA4M1 の右側にあるオレンジ色の LED が点滅しているのを観察できます。

おめでとうございます!XIAO RA4M1 のプログラムの書き方とアップロード方法を学びました!

note

LED は、XIAO RA4M1 のユーザー LED ピンがハイレベルに設定されたときのみオフになり、ピンがローレベルに設定されたときのみオンになります。

RGB LED で遊ぶ

XIAO RA4M1 には制御可能な内蔵 RGB LED が搭載されています。以下は、LED の色を赤、緑、青の間でスムーズに変化させる例です。

  • ステップ 1. Adafruit_NeoPixel ライブラリをダウンロードします

Sketch > Include Liarbry > Manage Libraries... に移動し、Adafruit_NeoPixel を検索して、最新バージョンをインストールします。

  • ステップ 2. 以下のコードを新しいスケッチにコピーします:
#include <Adafruit_NeoPixel.h>

#define LED_PIN RGB_BUILTIN // Define the pin for the built-in RGB LED
#define NUM_PIXELS 1 // Number of WS2812 LEDs

Adafruit_NeoPixel pixels(NUM_PIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);

void setup() {
pinMode(PIN_RGB_EN, OUTPUT); // Set up the power pin
digitalWrite(PIN_RGB_EN, HIGH); //Turn on power to the LED
pixels.begin(); // Initialize the NeoPixel library
}

void loop() {
// Transition from Red to Green
for (int i = 0; i <= 255; i++) {
pixels.setPixelColor(0, pixels.Color(255 - i, i, 0)); // Red decreases, Green increases
pixels.show();
delay(10); // Adjust delay for smoothness
}

// Transition from Green to Blue
for (int i = 0; i <= 255; i++) {
pixels.setPixelColor(0, pixels.Color(0, 255 - i, i)); // Green decreases, Blue increases
pixels.show();
delay(10); // Adjust delay for smoothness
}

// Transition from Blue to Red
for (int i = 0; i <= 255; i++) {
pixels.setPixelColor(0, pixels.Color(i, 0, 255 - i)); // Blue decreases, Red increases
pixels.show();
delay(10); // Adjust delay for smoothness
}
}

  • ステップ 3. ボードモデルを XIAO RA4M1 に選択し、正しいポート番号を選択してプログラムをアップロードします。

バッテリーと電源管理

追加のコンポーネントなしでバッテリー電圧を読み取ることは可能でしょうか?はい、XIAO RA4M1 では、これまで以上に簡単になりました。以前の XIAO ファミリーメンバー、例えば XIAO ESP32C3 では、バッテリー電圧を読み取るために抵抗を使って A0 に手動で接続する必要がありました。

しかし、XIAO RA4M1 では、このプロセスが簡素化されています。BAT_DET_PIN/P105 ピンを直接使用してバッテリー電圧レベルを読み取ることができ、設計と開発を合理化できます。バッテリーレベルの読み取りを有効にするために BAT_READ_EN/P400 ピンをハイに設定することが必要であることを忘れないでください。

  • ステップ 1. ハードウェアの準備
Seeed Studio XIAO RA4M1Seeed Studio Expansion Base for XIAO with Grove OLED

XIAO 拡張ボード上の OLED ディスプレイは I2C プロトコルを使用し、ボード上の I2C 回路を通じて XIAO の I2C インターフェースに接続されています。したがって、XIAO を拡張ボードに直接差し込んで、画面にコンテンツを表示するようにプログラムできます。

  • ステップ 2. u8g2 ライブラリをインストールします。
  • ステップ 3. コードをコピーして Arduino IDE に貼り付けます。
#include <Arduino.h>
#include <U8x8lib.h>
#include <Wire.h>

U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* clock=*/ WIRE_SCL_PIN, /* data=*/ WIRE_SDA_PIN, /* reset=*/ U8X8_PIN_NONE); // OLEDs without Reset of the Display

#define enablePin BAT_READ_EN // Pin for enabling battery voltage reading
#define adcPin BAT_DET_PIN // Analog input pin (GPIO29 in your case)
const float referenceVoltage = 3.3; // Reference voltage for the ADC
const float voltageDivider = 2.0; // Voltage divider factor

void setup() {
Serial.begin(9600); // Initialize serial communication at 9600 baud
pinMode(enablePin, OUTPUT); // Set the enable pin as an output
digitalWrite(enablePin, HIGH); // Set the pin high to enable battery voltage reading
u8x8.begin();
u8x8.setFlipMode(1); // set number from 1 to 3, the screen word will rotary 180
u8x8.setFont(u8x8_font_chroma48medium8_r);
}

void loop() {
int rawValue = analogRead(adcPin); // Read the analog input value
float voltage = rawValue * (referenceVoltage / 1023.0) * voltageDivider; // Calculate the voltage
// Print the raw value and the calculated voltage
u8x8.setCursor(0, 0);
u8x8.print("Raw value:0x");
u8x8.print(rawValue, HEX);
u8x8.setCursor(0, 2);
u8x8.print("Voltage:");
u8x8.print(voltage, 2);
u8x8.print("V");

delay(500); // Delay for 500 milliseconds
}

  • ステップ 4. ボードモデルを XIAO RA4M1 に選択し、正しいポート番号を選択してプログラムをアップロードします

リソース

トラブルシューティング

Q1: ピンをはんだ付けする際に注意すべき点は何ですか

XIAO RA4M1 の小型サイズのため、ヘッダーをはんだ付けする際は注意してください。異なるピン同士をくっつけたり、シールドや他の部品にはんだを付着させたりしないでください。そうしないと、XIAO がショートしたり正常に動作しなくなる可能性があり、これによって生じる結果はユーザーの責任となります。

技術サポート & 製品ディスカッション

弊社製品をお選びいただき、ありがとうございます!弊社製品での体験が可能な限りスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、複数のコミュニケーションチャンネルを用意しています。

Loading Comments...