Skip to main content

Seeed Studio XIAO RA4M1 入門ガイド


はじめに

XIAO RA4M1は、RenesasのRA4M1チップ(最大48MHzの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を搭載、最大48MHzで動作する32ビットARM® Cortex®-M4 R7FA4M1AB3CNE MCU、256KBのFlashメモリ、32KBの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
48MHz 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 ピンリスト

はじめに

ハードウェアの準備

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


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

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

最初のBlinkプログラムを実行する

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

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

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

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

note

XIAO RA4M1のユーザーLEDピンがハイレベルに設定されたときのみ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
}
}

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

バッテリー&電源管理

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

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

  • Step 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...