light strips!
This commit is contained in:
parent
244a09d9d1
commit
4e84992148
2 changed files with 27 additions and 2 deletions
26
leds.py
26
leds.py
|
@ -7,6 +7,8 @@
|
|||
#
|
||||
|
||||
from time import sleep
|
||||
import board
|
||||
import neopixel
|
||||
|
||||
|
||||
class Adafruit_CharLCD:
|
||||
|
@ -53,7 +55,7 @@ class Adafruit_CharLCD:
|
|||
LCD_5x10DOTS = 0x04
|
||||
LCD_5x8DOTS = 0x00
|
||||
|
||||
def __init__(self, pin_rs=24, pin_e=23, pin_b=4, pins_db=[17, 25, 27, 22], pin_rgb=18, GPIO=None):
|
||||
def __init__(self, pin_rs=24, pin_e=23, pin_b=4, pins_db=[17, 25, 27, 22], GPIO=None):
|
||||
# Emulate the old behavior of using RPi.GPIO if we haven't been given
|
||||
# an explicit GPIO interface to use
|
||||
if not GPIO:
|
||||
|
@ -242,6 +244,27 @@ class Adafruit_CharLCD:
|
|||
else:
|
||||
self.write4bits(ord(char), True)
|
||||
|
||||
def defaultPattern(n):
|
||||
return (n % 255, n % 255, n % 255)
|
||||
|
||||
class LightStrip:
|
||||
def __init__(self, data_pin = board.D18, string_length = 300, brightness = 1, pixel_order = neopixel.GRB):
|
||||
# Emulate the old behavior of using RPi.GPIO if we haven't been given
|
||||
# an explicit GPIO interface to use
|
||||
|
||||
self.np = neopixel.NeoPixel(data_pin, string_length, brightness = brightness, auto_write=False, pixel_order = pixel_order)
|
||||
self.pattern = defaultPattern
|
||||
|
||||
def pattern(self, pattern_callback):
|
||||
self.pattern = pattern_callback
|
||||
|
||||
def tick(self):
|
||||
np = self.np
|
||||
n = np.n
|
||||
for i in range(n):
|
||||
col = self.pattern(i)
|
||||
if np[i] != col:
|
||||
np[i] = col
|
||||
|
||||
debug_statements = True
|
||||
|
||||
|
@ -275,6 +298,7 @@ def querycolor():
|
|||
|
||||
def loop():
|
||||
lcd = Adafruit_CharLCD()
|
||||
lights = LightStrip()
|
||||
level = 0
|
||||
level_max = 14
|
||||
idle = 0
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
rpi_ws281x==4.2.5
|
||||
rpi_ws281x==4.2.5
|
||||
adafruit-circuitpython-neopixel==6.0.0
|
Loading…
Reference in a new issue