安価で小型のRP2040 ZEROを見かけたので、思わず10個まとめて買っちゃいました。
オンボードに NeoPixel が1個搭載されています。
手元のRP2040 ZERO は GRB 順で点灯するので、その点に注意しながら CircuitPython で光らせてみます。
必要なライブラリ
-
Adafruit CircuitPython ライブラリ集をダウンロード
👉 https://circuitpython.org/libraries -
zip を解凍すると、多量なライブラリができますので、
lib/フォルダの中の下~のほうにあるneopixel.mpyを探す。 -
RP2040 ZERO の CIRCUITPY ドライブにある
lib/フォルダへコピーする。
※lib/ディレクトリはあると思いますが、うっかり消しちゃったとか、なければ自分でディレクトリを作ってOK。
コード例
import board
import neopixel
import time
# オンボード NeoPixel(RP2040 ZERO は GPIO16 に接続)
pixel = neopixel.NeoPixel(board.GP16, 1, brightness=0.3, auto_write=False)
# GRB順で色を指定(緑・赤・青の順に光りました)
colors = [
(255, 0, 0), # 緑
(0, 255, 0), # 赤
(0, 0, 255), # 青
(0,0,0), # 消灯
(0,0,0) # 消灯
]
while True:
for color in colors:
pixel[0] = color
pixel.show()
time.sleep(0.5)
ポイント
- RP2040 ZERO は
board.NEOPIXELが定義されていないので GPIO16 を指定。
pixel = neopixel.NeoPixel(board.GP16, 1, brightness=0.3, auto_write=False) - NeoPixel のデータ配列順は GRB。
- 1個のNeoPixelの場合は意味がありませんが、複数個の場合は
auto_write=Falseにしてpixel.show()で更新すると、一斉に色が切り替わるので綺麗です。
ひとこと
10個あるので、しばらくは「ピカッと光らせ放題」です。