0

我想通过单击触觉开关来更改 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()

如果我可以提供任何进一步的信息,请告诉我。

4

0 回答 0