User manual
94
LED = [23,24,25,8]
for i in LED:
GPIO.setup(i, GPIO.OUT, initial=False)
De GPIO-poorten voor de LED's worden volgens het bekende schema in een lijst LED als uitgangen ingesteld
en allemaal uitgeschakeld.
TAST = [4,17,21,22]
for i in TAST:
GPIO.setup(i, GPIO.IN)
Volgens hetzelfde principe worden de GPIO-poorten voor de vier toetsen in een lijst TAST als ingangen
ingesteld.
Hiermee is de basis vastgelegd en worden er nog twee functies gedefinieerd, die meerdere keren nodig zijn in
het programma.
def LEDein(n, z):
GPIO.output(LED[n], True); time.sleep(z)
GPIO.output(LED[n], False); time.sleep(0.15)
De functie LEDein() schakelt een LED in en laat deze een bepaalde periode branden. De functie gebruikt
twee parameters. De eerste parameter,
n, geeft het nummer van de LED tussen 0 en 3 aan, de tweede
parameter,
z, de periode, die de LED zou moeten branden. Nadat de LED weer is uitgeschakeld, wacht de
functie nog 0,15 seconden, tot ze wordt beƫindigd, om bij het vaker opvragen van korte pauzes tussen het
gaan branden van de LED's te kijken. Dit is vooral belangrijk, wanneer een LED meerdere keren achter elkaar
brandt. Anders zou dit niet kunnen worden herkend.
def Druecken():
while True:
if(GPIO.input(TAST[0])):
return 0
if(GPIO.input(TAST[1])):
return 1
if(GPIO.input(TAST[2])):
return 2
if(GPIO.input(TAST[3])):
return 3
De functie Druecken() bestaat uit een gesloten lus, die wacht, tot de gebruiker een toets indrukt. Vervolgens
wordt het nummer van de toets teruggegeven aan het hoofdprogramma.
ok = True Na de definitie van de functies start het eigenlijke hoofdprogramma en stelt als eerste een
variabele
ok in True. Zodra de speler een fout maakt, wordt ok op False ingesteld. Als de variabele na het
gegeven aantal ronden nog
True, heeft de speler gewonnen.
for runde in range(1, rzahl +1):
Het spel loopt door het in de variabelen rzahl vastgelegde aantal ronden. De rondeteller is hierbij 1 naar
boven verschoven, opdat het spel in ronde 1 begint en niet in ronde 0.