NeoPIxelテープの配線
WS2813Bという規格でこちらはサブの線を持っているため、途中のLEDが切れてもつぎのLEDがひかってくれるというタイプ。アマゾンで探しても現在では取り扱っていませんでした。
今回使用するのはWS2812B規格のものを新たに入手。こちらのほうがたくさん出回っていますね。どちらの規格でも必ず最後にBがついているものを選択してください。
Maker PI RP2040に付属していたGROVE端子をGROVE2に差し込んで、接続していきます。グレーはGND、赤は電源、濃いグレーを信号線にします。
circupでライブラリをらくらくインストール
circupをインストールするにはpipとgitがインストールされている前提ですが
pip install circup
circup update
とすればOKです。今回使うライブラリはadafruit_led_animationですので
circup install adafruit_led_animation
とすれば勝手にUSBケーブルにつながったMaker Pi RP2040を見つけ出して、そのlibフォルダに必要なファイルをインストールしてくれるのです。
NeoPixelを制御する
まずはこのコードを実行してみましょう。
import board
import neopixel
from adafruit_led_animation.animation.blink import Blink
from adafruit_led_animation.color import RED
#GP2に信号線を接続
pixel_pin = board.GP2
#20個点灯させましょう
pixel_num = 20
pixels = neopixel.NeoPixel(pixel_pin, pixel_num, brightness=0.1, auto_write=False)
blink = Blink(pixels,speed=0.5,color = RED)
while True:
blink.animate()
brightnessは明るさ。auto_write=Falseはよく使います。自動書き込みをオフにしておくと、animate()で一気に書き込んだほうが圧倒的にスピードが早くなります。そして最後にblink.animate()で実行してくれます。
led_animationの中
ここにadafruit_led_animationの解説があります。いろいろな色、アニメーションを使いこなせるともっともっと楽しくなりますよ。部屋のインテリアを変えてしまうのもありですね。
animate()
animationの中にはsolidという効果があります。その色を常時点灯させておくものです。cometなんかもいいですよ。LEDのライトが流れ星になります。sparkleなんかもキラキラしたエフェクトですのでとてもおもしろいです。パーティ会場、ライブのときなんかにも使えそうです。