4x4のNeoPixelを試す
概要
前回は、NeoPixel単体で購入して、自分で実装しましたが、4x4の16個のNeoPixelが実装された基板を購入してみました。
3本の線をはんだするだけのなので簡単でした。
すべてのLEDが点灯することを確認しました。
LEDの通し番号を確認しました。
(指定していないLEDが点灯することがあったので、調査中です)
LEDの通し番号の変換
以下の変換をするコードをMicroPythonで書いてみました
「行、列の順番」で「行は左から右へ」「列は上から下へ」という順番で通し番号、0から15まで
X座標とY座標(Xが0から3、Yが0から3まで)
import machine, neopixel
import time
# 0, 1, 2, 3 0, 1, 2, 3
# 7, 6, 5, 4 TO 4, 5, 6, 7
# 8, 9, A, B -> 8, 9, A, B
# F, E, D, C C, D, E, F
table = [0, 1, 2, 3, 7, 6, 5, 4, 8, 9, 10, 11, 15, 14, 13, 12]
def get_xy(seq, columns, rows):
return seq % columns, seq // rows
num = 16
np = neopixel.NeoPixel(machine.Pin(23), num)
on_color = (4, 0, 0)
off_color = (0, 0, 0)
for seq in range(num):
x, y = get_xy(seq, 4, 4)
index = table[seq]
np[index] = ((x + 1) * 4, (y + 1) * 4, 0)
np.write()
time.sleep(0.2)
np[index] = off_color
for i in range(16):
np[i] = off_color
np.write()
使ったモジュール
この記事が気に入ったらサポートをしてみませんか?