from machine import Pin
from neopixel import NeoPixel
from time import sleep,sleep_ms,ticks_ms
pin = Pin(12, Pin.OUT) # set GPIO0 to output to drive NeoPixels
np = NeoPixel(pin, 8) # create NeoPixel driver on GPIO0 for 8 pixels
#np[0] = (255, 255, 255) # set the first pixel to white
#np.write() # write data to all pixels
timestamp_pinker_500ms = 0
rem = ""
rem_vorige = ""
pinkers = ""
pinkers_vorige = ""
pinker_state = ""
pinker_state_before = ""
braker_state = ""
front_state = ""
siren_state = ""
orange = (255,165,0)
off = (0,0,0)
red = (255,0,0)
def rem_on_leds(state):
for x in range(1,7):
if state:
np[x] = red
else:
np[x] = off
np.write()
def handle_verlichting():
global timestamp_pinker_500ms, pinkers_vorige, rem_vorige
if pinkers != pinkers_vorige:
pinkers_vorige = pinkers
if pinkers == "l":
np[0] = orange
np[7] = off
elif pinkers == "r":
np[0] = off
np[7] = orange
else:
np[0] = off
np[7] = off
np.write()
if pinkers != "off":
if ticks_ms() - timestamp_pinker_500ms > 500 :
timestamp_pinker_500ms = ticks_ms()
if pinkers == "l":
if np[0] == orange:
np[0] = off
else:
np[0] = orange
elif pinkers == "r":
if np[7] == orange:
np[7] = off
else:
np[7] = orange
elif pinkers == "4":
if np[0] == off:
np[0] = orange
np[7] = orange
else:
np[0] = off
np[7] = off
np.write()
if rem != rem_vorige:
rem_vorige = rem
if rem == 1:
rem_on_leds(1)
else:
rem_on_leds(0)
if __name__ == "__main__":
counter = 0
while True:
if counter == 0:
pinkers = "l"
print("l")
elif counter == 5000:
rem = 1
print("rem 1s")
elif counter == 6000:
rem = 0
elif counter == 10000:
pinkers = "r"
print("r")
elif counter == 12000:
rem = 1
print("rem 4s")
elif counter == 16000:
rem = 0
elif counter == 20000:
pinkers = "off"
print("off")
elif counter == 25000:
pinkers = "4"
print("4")
elif counter == 35000:
counter = 0
counter +=1
handle_verlichting()
sleep_ms(1)