from time import sleep_ms # Functie om te wachten in milliseconden
from machine import Pin # Module om GPIO-pinnen te gebruiken
# LED's instellen als uitgang (OUTPUT)
rode_led = Pin(2,Pin.OUT)
oranje_led = Pin(3,Pin.OUT)
gele_led = Pin(4,Pin.OUT)
groene_led = Pin(5,Pin.OUT)
blauwe_led = Pin(6,Pin.OUT)
roos_led = Pin(7,Pin.OUT)
violet_led = Pin(8,Pin.OUT)
lichtblauw_led = Pin(9,Pin.OUT)
# Drukknoppen instellen als input
drukknop_start = Pin(0, Pin.IN, Pin.PULL_DOWN)
drukknop_stop = Pin(1, Pin.IN, Pin.PULL_DOWN)
richting = 0
code = 1 # Startwaarde
while True: # Oneindige lus
if drukknop_start.value() == 1:
richting = 1 # Zet richting op vooruit
elif drukknop_stop.value() == 1:
richting = 2 # Zet richting op achteruit
if richting == 1:
print(code) # Print huidige waarde
if code == 1:
rode_led.on() # Rode LED aan
oranje_led.off()
gele_led.off()
groene_led.off()
blauwe_led.off()
roos_led.off()
violet_led.off()
lichtblauw_led.off()
if code == 2:
rode_led.off()
oranje_led.on() # Oranje LED aan
gele_led.off()
groene_led.off()
blauwe_led.off()
roos_led.off()
violet_led.off()
lichtblauw_led.off()
if code == 4:
rode_led.off()
oranje_led.off()
gele_led.on() # Gele LED aan
groene_led.off()
blauwe_led.off()
roos_led.off()
violet_led.off()
lichtblauw_led.off()
if code == 8:
rode_led.off()
oranje_led.off()
gele_led.off()
groene_led.on() # Groene LED aan
blauwe_led.off()
roos_led.off()
violet_led.off()
lichtblauw_led.off()
if code == 16:
rode_led.off()
oranje_led.off()
gele_led.off()
groene_led.off()
blauwe_led.on() # Blauwe LED aan
roos_led.off()
violet_led.off()
lichtblauw_led.off()
if code == 32:
rode_led.off()
oranje_led.off()
gele_led.off()
groene_led.off()
blauwe_led.off()
roos_led.on() # Roze LED aan
violet_led.off()
lichtblauw_led.off()
if code == 64:
rode_led.off()
oranje_led.off()
gele_led.off()
groene_led.off()
blauwe_led.off()
roos_led.off()
violet_led.on() # Violet LED aan
lichtblauw_led.off()
if code == 128:
rode_led.off()
oranje_led.off()
gele_led.off()
groene_led.off()
blauwe_led.off()
roos_led.off()
violet_led.off()
lichtblauw_led.on() # Lichtblauwe LED aan
sleep_ms(600) # slaapt 600 milliseconden
code = code * 2 # Verdubbelt code
# Als code groter wordt dan 256
if code > 256:
code = 256 # Zet code vast op 256
# Zet alle LED's tegelijk aan
rode_led.on()
oranje_led.on()
gele_led.on()
groene_led.on()
blauwe_led.on()
roos_led.on()
violet_led.on()
lichtblauw_led.on()
sleep_ms(300) # Wacht 300 ms
# Zet alle LED's terug uit
rode_led.off()
oranje_led.off()
gele_led.off()
groene_led.off()
blauwe_led.off()
roos_led.off()
violet_led.off()
lichtblauw_led.off()
# ================= ACHTERUIT =================
if richting == 2:
print(code)
# Hier loopt het LED-patroon omgekeerd
if code == 1:
rode_led.off()
oranje_led.off()
gele_led.off()
groene_led.off()
blauwe_led.off()
roos_led.off()
violet_led.off()
lichtblauw_led.on() # Laatste LED eerst aan
if code == 2:
rode_led.off()
oranje_led.off()
gele_led.off()
groene_led.off()
blauwe_led.off()
roos_led.off()
violet_led.on() # Eén LED terug naar links
lichtblauw_led.off()
if code == 4:
rode_led.off()
oranje_led.off()
gele_led.off()
groene_led.off()
blauwe_led.off()
roos_led.on()
violet_led.off()
lichtblauw_led.off()
if code == 8:
rode_led.off()
oranje_led.off()
gele_led.off()
groene_led.off()
blauwe_led.on()
roos_led.off()
violet_led.off()
lichtblauw_led.off()
if code == 16:
rode_led.off()
oranje_led.off()
gele_led.off()
groene_led.on()
blauwe_led.off()
roos_led.off()
violet_led.off()
lichtblauw_led.off()
if code == 32:
rode_led.off()
oranje_led.off()
gele_led.on()
groene_led.off()
blauwe_led.off()
roos_led.off()
violet_led.off()
lichtblauw_led.off()
if code == 64:
rode_led.off()
oranje_led.on()
gele_led.off()
groene_led.off()
blauwe_led.off()
roos_led.off()
violet_led.off()
lichtblauw_led.off()
if code == 128:
rode_led.on() # Eerste LED als laatste
oranje_led.off()
gele_led.off()
groene_led.off()
blauwe_led.off()
roos_led.off()
violet_led.off()
lichtblauw_led.off()
sleep_ms(600) # Wacht 600 ms
code = code * 2 # Verdubbel code opnieuw
if code > 256:
code = 256
# Alle LED's aan als eind-effect
rode_led.on()
oranje_led.on()
gele_led.on()
groene_led.on()
blauwe_led.on()
roos_led.on()
violet_led.on()
lichtblauw_led.on()
sleep_ms(300)
# Alles terug uit
rode_led.off()
oranje_led.off()
gele_led.off()
groene_led.off()
blauwe_led.off()
roos_led.off()
violet_led.off()
lichtblauw_led.off()