つづきに
「ちいさいロボット2号」をSeeeduino XIAO RP2040で動かせるか確認を行ったときに、XAIOから追加されているフルカラーLEDの使い方を書いておきます。
Seeed XIAO RP2040 にはフルカラーLEDが二つ乗っていて、USBコネクタの横に一つと、二つのスイッチの間に一つです。
ただ使い方にちょっとした癖があったので記録を残しておきます。
環境
PC Raspberry PI-400
OS Raspberry Pi OS(64-bit) Bullseye
IDE Arduino IDE 1.8.13
ボードマネージャ Seeed XIAO RP2040 バージョン 2.7.2
ライブラリ Adafruit NeoPixel 1.7.0
USBコネクタ横のフルカラーLED
USBコネクタの横のLEDは回路図を見ると、RGB2となっており以下の通り直結されています。
R GPIO16 赤
G GPIO17 緑
B GPIO25 青
なので、USBコネクタの横のLEDは単純にGPIOをON/OFFすれば光らせる事ができます。
ただ負論理なので、LOWで点灯、HIGHで消灯なのがご愛敬です。
スイッチの間フルカラーLED
もう一つのスイッチの間に新設されたフルカラーLEDはマイコン内臓のNEOピクセルタイプのシリアルLEDです。シリアルLEDを光らせるには、ライブラリを使います。
Arduino IDEのツール->ライブラリの管理でライブラリマネージャ画面から NeoPixelで検索して Adafruit_NeoPixel をインストールします。
接続は以下の通りとなっています。
NEO_PWR GPIO11
NEO_PIX GPIO12
NEO_PIXはシリアルで制御信号を送ります。ふつうならここから制御信号を送れば点灯するのですが、点灯しませんでした。
NEO_PWRはLEDの電源で、これをONにしておかないと点灯しません。
こっちはHIGHが点灯なのがご愛敬です。
スケッチ
本家のAdafruit_NeoPixel のテストスケッチ を転載しておきます。
#include <Adafruit_NeoPixel.h>
int Power = 11;
int PIN = 12;
#define NUMPIXELS 1
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
pixels.begin();
pinMode(Power,OUTPUT);
digitalWrite(Power, HIGH);
}
void loop() {
pixels.clear();
pixels.setPixelColor(0, pixels.Color(15, 25, 205));
delay(400);
pixels.show();
pixels.clear();
pixels.setPixelColor(0, pixels.Color(103, 25, 205));
delay(400);
pixels.show();
pixels.clear();
pixels.setPixelColor(0, pixels.Color(233, 242, 205));
delay(400);
pixels.show();
pixels.clear();
pixels.setPixelColor(0, pixels.Color(233, 23, 23));
delay(400);
pixels.show();
pixels.clear();
pixels.setPixelColor(0, pixels.Color(12, 66, 101));
delay(400);
pixels.show();
delay(500);
}
これだとちょっと明るすぎるので、数値を下げた方が電池が長く持つと思います。
おわりに
Seeed Studio XIAO RP2040 はフルカラーLEDが二つも搭載されているので、Raspberry Pi Pico より「ちいさいロボット」の情報を沢山表示させることができます。ただ、LEDを付けるのにもちょっと癖があるので注意が必要でした。
おしまい
参考 本家の情報はこちら
wiki.seeedstudio.com
購入品情報
ちょっと癖がありますが、Seeed Studio XIAO RP2040 はフルカラーLEDが二つもついていて、値段も少し高いだけなので、ピンがあまり要らないならPicoよりお得です。