Blink animation with a user selected background color

This commit is contained in:
jposada2020 2025-02-05 17:02:54 -05:00
parent 83b87ef867
commit c7dc901791
3 changed files with 49 additions and 3 deletions

View file

@ -37,10 +37,17 @@ class Blink(ColorCycle):
:param pixel_object: The initialised LED object.
:param float speed: Animation speed in seconds, e.g. ``0.1``.
:param color: Animation color in ``(r, g, b)`` tuple, or ``0x000000`` hex format.
:param background_color: Background color in ``(r, g, b)`` tuple, or ``0x000000`` hex format. Defaults to BLACK.
:param name: A human-readable name for the Animation. Used by the string function.
"""
def __init__(self, pixel_object, speed, color, name=None):
super().__init__(pixel_object, speed, [color, BLACK], name=name)
def __init__(
self, pixel_object, speed, color, background_color=BLACK, name=None
):
self._background_color = background_color
super().__init__(
pixel_object, speed, [color, background_color], name=name
)
def _set_color(self, color):
self.colors = [color, BLACK]
self.colors = [color, self._background_color]

View file

@ -61,6 +61,14 @@ Demonstrates the blink animation.
:caption: examples/led_animation_blink.py
:linenos:
Blink with a selcted background color
----------------------------------------
Demonstrates the blink animation with an user defined background color.
.. literalinclude:: ../examples/led_animation_blink_with_background.py
:caption: examples/led_animation_blink_with_background.py
:linenos:
Comet
-----

View file

@ -0,0 +1,31 @@
# SPDX-FileCopyrightText: 2025 Jose D. Montoya
# SPDX-License-Identifier: MIT
"""
This example blinks the LEDs purple with a yellow background at a 0.5 second interval.
For QT Py Haxpress and a NeoPixel strip. Update pixel_pin and pixel_num to match your wiring if
using a different board or form of NeoPixels.
This example will run on SAMD21 (M0) Express boards (such as Circuit Playground Express or QT Py
Haxpress), but not on SAMD21 non-Express boards (such as QT Py or Trinket).
"""
import board
import neopixel
from adafruit_led_animation.animation.blink import Blink
from adafruit_led_animation.color import PURPLE, YELLOW
# Update to match the pin connected to your NeoPixels
pixel_pin = board.A3
# Update to match the number of NeoPixels you have connected
pixel_num = 30
pixels = neopixel.NeoPixel(
pixel_pin, pixel_num, brightness=0.5, auto_write=False
)
blink = Blink(pixels, speed=0.5, color=PURPLE, background_color=YELLOW)
while True:
blink.animate()