接続方法
pico wのGPIOピン28番から信号を出力。GNDピンにMatrixpanelのGND、3V3(OUT)ピンからpanelの5Vピンへとつなぎます。
コード
#pico WでWS2812bマトリックスパネルを操作する-CircuitPython
import board
import neopixel
import time
from adafruit_pixel_framebuf import PixelFramebuffer, VERTICAL
#GP28から信号出力
pixel_pin = board.GP28
#今回は32x8のマトリックスパネルを使用
pixel_width = 32
pixel_height = 8
pixels = neopixel.NeoPixel(
pixel_pin,
pixel_width * pixel_height,
brightness=0.1,
auto_write=False,
)
pixel_framebuf = PixelFramebuffer(
pixels,
32,
8,
orientation=VERTICAL,#縦配列
alternating= True,#ジグザグ配線
rotation=0
)
text = 'First Drink is for FREE!'
while True:
for i in range(6 * len(text) + pixel_width):
pixel_framebuf.fill(0x220000)
pixel_framebuf.text(text, pixel_width - i, 0, 0xFFFF00)
pixel_framebuf.display()
#スクロールスピード
time.sleep(0.05)
必要なライブラリとフォントファイル
neopixelとadafruit_pixel_framebufが必要です。libフォルダにインストールしておきます。あとはこちらからfont5x8.binファイルをダウンロードしてCIRCUITPYのルートディレクトリに置いておきます。
matrix panelの特性
上記のアマゾンで購入したパネルは縦配列、そしてジグザグ配列ですので、orientation=VERTICAL,alternating= Trueとします。
https://github.com/adafruit/Adafruit_CircuitPython_framebuf/raw/main/examples/font5x8.bin
こんなかんじになりました。次回#15ではpico Wらしくwifiを使用します。いよいよスマホからAdafruit IOを経由してテキストや色を変えられるようにしたいと思います。