from machine import Pin
from time import sleep, time
import random
# Definieer LEDs en knop
alle_leds = [Pin(9, Pin.OUT), Pin(8, Pin.OUT), Pin(7, Pin.OUT), Pin(6, Pin.OUT),
Pin(5, Pin.OUT), Pin(4, Pin.OUT), Pin(3, Pin.OUT), Pin(2, Pin.OUT)]
sequentie_leds = alle_leds[:3] # Pin(9), Pin(8), Pin(7) voor de sequentie
knop1 = Pin(22, mode=Pin.IN, pull=Pin.PULL_UP)
knop2 = Pin(10, mode=Pin.IN, pull=Pin.PULL_UP)
def main():
led = Pin(2, Pin.OUT)
while True:
led.on()
time.sleep(1)
led.off()
time.sleep(1)
def wacht_op_knoppen(): #Wacht totdat beide knoppen zijn ingedrukt.
while True:
if knop1.value() == 0 and knop2.value() == 0: # Beide knoppen ingedrukt
sleep(0.2) # Debounce (beveiliging tegen ongewenste contact)
return # Start program
def willekeurige_led_sequentie():#Start een willekeurige LED-sequentie met de eerste 3 LEDs
totale_tijd = random.randint(3, 7) # Duur van de LED-sequentie tussen 3 en 7 seconden
start_tijd = time()
laatste_led = None
while time() - start_tijd < totale_tijd:
willekeurige_led = random.choice(sequentie_leds)
willekeurige_led.on()
sleep(0.2)
willekeurige_led.off()
laatste_led = willekeurige_led
return laatste_led
def flash_leds(duur=8): #alle LEDs knipperen.
eind_tijd = time() + duur
while time() < eind_tijd:
for led in alle_leds:
led.toggle()
sleep(0.5)
while True:
wacht_op_knoppen() # Wachten tot beide knoppen zijn ingedrukt
laatste_led = willekeurige_led_sequentie() # Start van willekeurige LED-sequentie
# Controleren of de eerste LED als laatste is aangegaan
if laatste_led == sequentie_leds[0]: # sequentie_leds[0] is de bom led (Pin 9)
flash_leds(8) # Alle 8 LEDs knipperen samen gedurende 8 seconden
#alle LEDs uit
for led in alle_leds:
led.off()
"""
Instructies
Bomspel
Het spel begint zodra beide knoppen zijn ingedrukt. Gedurende een willekeurige tijd
(tussen 3 en 7 seconden) zullen 3 LEDs willekeurig aan en uit gaan. Als LED 1 als laatste
LED is afgegaan, zullen alle LEDs gedurende 8 seconden knipperen. Dit betekent dat de bom bij
jou is ontploft. :)
INFO!
Het monitoren van de live LED-status of de geschiedenis in het geheugen is mogelijk,
voor bescherming tegen spelers die niet tegen hun verlies kunnen. :)
def print_led_status():
status = ["ON" if led.value() == 1 else "OFF" for led in leds]
print("LED statuses:", status)
"""