中野島ロボット

小さなロボットの自作記事を書いています。

週刊中ロボ222 XIAO RP2040のフルカラーLEDを使うには

つづきに
「ちいさいロボット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よりお得です。