from machine import Pin
import time
# LED-pins instellen
led1 = Pin(13, Pin.OUT)
led2 = Pin(12, Pin.OUT)
led3 = Pin(14, Pin.OUT)
led4 = Pin(27, Pin.OUT)
led5 = Pin(26, Pin.OUT)
led6 = Pin(25, Pin.OUT)
led_pins = [led1, led2, led3, led4, led5, led6]
# Functie om het Knight Rider-effect te creëren met 3 LED's tegelijk
def knight_rider_three_leds(delay=0.1):
num_leds = len(led_pins)
state = 0b111 # Begin met drie LED's aan (laagste 3 bits)
direction = 1 # 1 voor rechts, -1 voor links
while True:
# Schakel LED's op basis van de huidige bitwaarde
for i in range(num_leds):
if state & (1 << i): # Controleer of de i-de bit aan is
led_pins[i].on()
else:
led_pins[i].off()
time.sleep(delay)
# Verplaats de bitpositie
if direction == 1:
state <<= 1 # Schuif bits naar links
if state >= (1 << (num_leds - 1)): # Bereikt de laatste LED
direction = -1 # Keer om naar rechts
else:
state >>= 1 # Schuif bits naar rechts
if state <= 0b111: # Bereikt de eerste drie LED's
direction = 1 # Keer om naar links
# Start het Knight Rider-effect met 3 LED's tegelijk
knight_rider_three_leds(delay=0.1)