はじめに
3.3V電源のRP2040のコントローラボードを使っていると3.3Vで動くNeoPixel LEDが欲しくなります。
これまで、メーカの仕様外でWS2812BとSK6812MINI-Eを3.3V電源で使っていました。
自分が楽しむだけならいいのですが、私のブログやツイートを参考にして、他の方がハマってしまうかも?と最近心配になっていました。
YF923-2020
3.3V電源で動くNeoPixel LEDをAliで見つけました。
https://ja.aliexpress.com/item/4000770210584.html?spm=a2g0o.order_list.0.0.8425585aYGIp87&gatewayAdapt=glo2jpnja.aliexpress.com
VDD 2.5V~になっています。
5V電源を使って、3.3V出力から LEDのDINへのレベルシフト回路が不要になりました。
(メーカ仕様で保証されている)
動作確認
YF923-2020を変換基板にのっけて、ブレットボードで配線。Seeed Studio XIAO RP2040 からLチカします。
信号の互換性を確かめるためにYF923-2020のDOUTをSK6812MINI-EのDINに繋ぎました。
XIAO RP2040 -> YF923-2020 -> SK6812MINI-E
— 𝕜urihara (@kurihary) 2022年10月7日
いつもの #PRK_Firmware で #RGBing pic.twitter.com/HzfGD87SDy
Lチカ
すんなりと動きました。当然ですけど。。。。
VDD 2.5V~仕様のYF923-2020をLチカ
— 𝕜urihara (@kurihary) 2022年10月7日
面実装の2x2mm,MXスイッチ下にもいける。
XIAO RP2040 の3.3V、2個目はSK6812MINI-E https://t.co/iVU5v3r1wy pic.twitter.com/zBOF61zL8N
ファームウエア
ファームウエアは、いつものPRK Firmwareです。
理由は、インストールとkeymap.rbの書込みを2回のドラッグ&ドロップのみでできるからです。
スイッチなどのON動作とNeoPixelを光らせるには、一番簡単で早いと思います。
最近は、Beep音の実装も進んでいます。
keymap.rb
# Initialize a Keyboard kbd = Keyboard.new rgb = RGB.new( 1, # pin number XIAO RP2040のWS2812Bは12番 2, # size of underglow pixel 0, # size of backlight pixel false # 32bit data will be sent to a pixel if true while 24bit if false ) sleep 1 rgb.effect = :swirl rgb.speed = 28 kbd.append rgb # `kbd` is an instance of Keyboard class that should be newed in advance kbd.start!
XIAO1keyへの搭載について
YF923-2020は面実装の2x2mmサイズです。
XIAO1keyで使ったΦ5穴のKailh SUN Switchの下に入るんですよね。
MX (互換)Switch下にも入ると思う。
面実装なんで、PCBAもお願いできそうです。