import time
from machine import Pin
from neopixel import NeoPixel
LED_AANTAL = 16
FLASH_TIME = 0.25
PIN_NR_21 = 21
PIN_NR_25 = 25
DENDER_VALUE = 0.3
pin = Pin(PIN_NR_21, Pin.OUT) # set GPIO0 to output to drive NeoPixels
np = NeoPixel(pin, LED_AANTAL) # create NeoPixel driver on GPIO0 for 8 pixels
druk_mode = Pin(PIN_NR_25, Pin.IN, Pin.PULL_DOWN) # switch direction
def led_neopixel_stuur(led_strip, start, stop, step):
for i in range(start, stop, step):
global direction
global druk_mode_now
global druk_mode_prev
global start_flash
led_strip[i] = (255, 0, 0) # red, full intensity
led_strip.write()
time.sleep(FLASH_TIME)
led_strip[i] = (0, 0, 0) # reset pixel
led_strip.write()
druk_mode_now = druk_mode.value()
if druk_mode_now != druk_mode_prev:
druk_mode_prev = druk_mode_now
if druk_mode_now:
direction = not direction
start_flash = i # keep position when interupted
break
else:
if direction:
start_flash = LED_AANTAL
else:
start_flash = 0
time.sleep(DENDER_VALUE)
druk_mode_now = 0
druk_mode_prev = 0
direction = 0
start_flash = 0
while True:
if direction:
led_neopixel_stuur(np, start_flash-1, -1, -1)
else:
led_neopixel_stuur(np, start_flash, LED_AANTAL, 1)