見出し画像

4x4のNeoPixelを試す

概要

  • 前回は、NeoPixel単体で購入して、自分で実装しましたが、4x4の16個のNeoPixelが実装された基板を購入してみました。

  • 3本の線をはんだするだけのなので簡単でした。

4x4のNeoPixel
LEDの点灯を確認
  • すべての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()

この記事が気に入ったらサポートをしてみませんか?