NeoPixel animationライブラリを使う#09

CircuitPython

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の中

Introduction — LED_Animation Library 1.0 documentation

ここにadafruit_led_animationの解説があります。いろいろな色、アニメーションを使いこなせるともっともっと楽しくなりますよ。部屋のインテリアを変えてしまうのもありですね。

animate()

animationの中にはsolidという効果があります。その色を常時点灯させておくものです。cometなんかもいいですよ。LEDのライトが流れ星になります。sparkleなんかもキラキラしたエフェクトですのでとてもおもしろいです。パーティ会場、ライブのときなんかにも使えそうです。

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