Added neopixel on rotary encoder breakout board for user feedback
This commit is contained in:
parent
6800d0eb7a
commit
c2deee3ebd
|
@ -3,6 +3,7 @@ import board
|
|||
import neopixel
|
||||
import adafruit_datetime as datetime
|
||||
from adafruit_seesaw import seesaw, rotaryio, digitalio
|
||||
from adafruit_seesaw import neopixel as seesaw_neopixel
|
||||
from adafruit_debouncer import Button
|
||||
import busio
|
||||
import displayio
|
||||
|
@ -85,16 +86,24 @@ pixels = neopixel.NeoPixel(
|
|||
pixel_order="GRBW"
|
||||
)
|
||||
|
||||
# Set up user-facing neopixel on rotary breakout
|
||||
userpixel = seesaw_neopixel.NeoPixel(seesaw, 6, 1,
|
||||
brightness=brightness,
|
||||
auto_write=False)
|
||||
|
||||
|
||||
# Colors used in this script
|
||||
# FORMAT: (R, G, B, W)
|
||||
RED = (255, 0, 0, 0)
|
||||
YELLOW = (255, 150, 0, 0)
|
||||
GREEN = (0, 255, 0, 0)
|
||||
BLANK = (0, 0, 0)
|
||||
BLANK = (0, 0, 0, 0)
|
||||
|
||||
# Turn all pixels off
|
||||
pixels.fill(BLANK)
|
||||
pixels.show()
|
||||
userpixel.fill(BLANK)
|
||||
userpixel.show()
|
||||
|
||||
# END Neopixel setup
|
||||
####
|
||||
|
@ -182,6 +191,8 @@ def countdown(
|
|||
# Turn all pixels off
|
||||
pixels.fill(BLANK)
|
||||
pixels.show()
|
||||
userpixel.fill(BLANK)
|
||||
userpixel.show()
|
||||
|
||||
# Init the update interval tracking variable
|
||||
last_update_time = -1
|
||||
|
@ -228,6 +239,7 @@ def countdown(
|
|||
# Light the first LED when the timer starts
|
||||
# regardless of other factors
|
||||
colorizer(0, colormode)
|
||||
userpixel.fill(GREEN)
|
||||
elif current_position == num_pixels and current_time > 0:
|
||||
# If current_position calls for *all*
|
||||
# pixels to be lit, and the timer
|
||||
|
@ -248,14 +260,18 @@ def countdown(
|
|||
pass
|
||||
elif current_time <= redtime:
|
||||
colorizer(pixel, colormode, red=True)
|
||||
userpixel.fill(RED)
|
||||
elif current_time <= yellowtime:
|
||||
colorizer(pixel, colormode, yellow=True)
|
||||
userpixel.fill(YELLOW)
|
||||
else:
|
||||
colorizer(pixel, colormode)
|
||||
userpixel.fill(GREEN)
|
||||
|
||||
# All the pixels have now been set based on the
|
||||
# specified colormode, now display the result IRL.
|
||||
pixels.show()
|
||||
userpixel.show()
|
||||
|
||||
# Increment the elapsed time variable
|
||||
current_time -= update_interval
|
||||
|
@ -328,3 +344,5 @@ while True:
|
|||
# Turn off all pixels
|
||||
pixels.fill(BLANK)
|
||||
pixels.show()
|
||||
userpixel.fill(BLANK)
|
||||
userpixel.show()
|
||||
|
|
Loading…
Reference in New Issue