add rainbows and blinkies

pull/536/head
helgibbons 2022-10-05 15:00:59 +01:00
rodzic 283986b531
commit 1886c4c3d2
2 zmienionych plików z 78 dodań i 0 usunięć

Wyświetl plik

@ -0,0 +1,42 @@
import plasma
from plasma import plasma2040
import time
"""
This super simple example sets up two alternating colours, great for festive lights!
"""
# Set how many LEDs you have
NUM_LEDS = 50
# Pick two hues from the colour wheel (from 0-360°, try https://www.cssscript.com/demo/hsv-hsl-color-wheel-picker-reinvented/ )
HUE_1 = 40
HUE_2 = 285
# Set up brightness (between 0 and 1)
BRIGHTNESS = 0.5
# Set up speed (wait time between colour changes, in seconds)
SPEED = 1
# WS2812 / NeoPixel™ LEDs
led_strip = plasma.WS2812(NUM_LEDS, 0, 0, plasma2040.DAT)
# Start updating the LED strip
led_strip.start()
while True:
for i in range(NUM_LEDS):
# the if statements below use a modulo operation to identify the even and odd numbered LEDs
if (i % 2) == 0:
led_strip.set_hsv(i, HUE_1 / 360, 1.0, BRIGHTNESS)
else:
led_strip.set_hsv(i, HUE_2 / 360, 1.0, BRIGHTNESS)
time.sleep(SPEED)
for i in range(NUM_LEDS):
if (i % 2) == 0:
led_strip.set_hsv(i, HUE_2 / 360, 1.0, BRIGHTNESS)
else:
led_strip.set_hsv(i, HUE_1 / 360, 1.0, BRIGHTNESS)
time.sleep(SPEED)

Wyświetl plik

@ -0,0 +1,36 @@
import plasma
from plasma import plasma2040
import time
"""
Make some rainbows!
"""
# Set how many LEDs you have
NUM_LEDS = 50
# The SPEED that the LEDs cycle at (1 - 255)
SPEED = 20
# How many times the LEDs will be updated per second
UPDATES = 60
# WS2812 / NeoPixel™ LEDs
led_strip = plasma.WS2812(NUM_LEDS, 0, 0, plasma2040.DAT)
# Start updating the LED strip
led_strip.start()
offset = 0.0
# Make rainbows
while True:
SPEED = min(255, max(1, SPEED))
offset += float(SPEED) / 2000.0
for i in range(NUM_LEDS):
hue = float(i) / NUM_LEDS
led_strip.set_hsv(i, hue + offset, 1.0, 1.0)
time.sleep(1.0 / UPDATES)