/ examples / led_animation.py
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()