led_animation.py
1 import adafruit_pixelbuf 2 import board 3 from adafruit_led_animation.animation.rainbow import Rainbow 4 from adafruit_led_animation.animation.rainbowchase import RainbowChase 5 from adafruit_led_animation.animation.rainbowcomet import RainbowComet 6 from adafruit_led_animation.animation.rainbowsparkle import RainbowSparkle 7 from adafruit_led_animation.sequence import AnimationSequence 8 from adafruit_raspberry_pi5_neopixel_write import neopixel_write 9 10 NEOPIXEL = board.D13 11 num_pixels = 96 12 13 class Pi5Pixelbuf(adafruit_pixelbuf.PixelBuf): 14 def __init__(self, pin, size, **kwargs): 15 self._pin = pin 16 super().__init__(size=size, **kwargs) 17 18 def _transmit(self, buf): 19 neopixel_write(self._pin, buf) 20 21 pixels = Pi5Pixelbuf(NEOPIXEL, num_pixels, auto_write=True, byteorder="BGR") 22 23 rainbow = Rainbow(pixels, speed=0.02, period=2) 24 rainbow_chase = RainbowChase(pixels, speed=0.02, size=5, spacing=3) 25 rainbow_comet = RainbowComet(pixels, speed=0.02, tail_length=7, bounce=True) 26 rainbow_sparkle = RainbowSparkle(pixels, speed=0.02, num_sparkles=15) 27 28 29 animations = AnimationSequence( 30 rainbow, 31 rainbow_chase, 32 rainbow_comet, 33 rainbow_sparkle, 34 advance_interval=5, 35 auto_clear=True, 36 ) 37 38 while True: 39 animations.animate()