pico wとCircuitPythonでテキストをスクロールさせる看板を作る#14

CircuitPython

接続方法

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を経由してテキストや色を変えられるようにしたいと思います。

タイトルとURLをコピーしました