我想通过单击触觉开关来更改 NeoPixel 条上的动画。我正在使用 Raspberry Pi 并已正确连接开关和灯条。
- 点击 1:开启
- 点击2:第一个动画
- 点击3:第二个动画
- 点击4:第三部动画
- ETC...
- 点击 8:所有 LED 熄灭
我正在努力让 pi 记录点击次数和运行动画。
按下按钮时,pi 当前正在激活 Comet 动画。之后,下一次按下不会激活下一个动画。
from gpiozero import Button
from adafruit_led_animation.animation.comet import Comet
from adafruit_led_animation.color import RED
from adafruit_led_animation.animation.rainbowcomet import RainbowComet
import os
import board
import neopixel
pixel_pin = board.D18
pixel_num = 150
button = Button(15)
count = 0
pixels = neopixel.NeoPixel(pixel_pin, pixel_num, brightness=0.2, auto_write=False)
comet = Comet(pixels, speed=0.01, color=RED, tail_length=10, bounce=True)
rainbow_comet = RainbowComet(pixels, speed=0.03, tail_length=15, bounce=True)
def Rainbow_comet():
while True:
rainbow_comet.animate()
def Comet():
while True:
comet.animate()
while True:
button.wait_for_press()
count += 1
print(count)
button.wait_for_release()
if count == 1:
Comet()
if count == 2:
Rainbow_comet()
如果我可以提供任何进一步的信息,请告诉我。