User manual

34
GPIO.output(Ampel[gelb],False); GPIO.output(Ampel[rot],True)
time.sleep(2)
GPIO.output(Ampel[gelb],True)
time.sleep(0.6)
GPIO.output(Ampel[rot],False); GPIO.output(Ampel[gelb],False)
GPIO.output(Ampel[gruen],True)
except KeyboardInterrupt:
GPIO.cleanup()
3.1.1 Zo werkt het
De eerste regels zijn al bekend, zij importeren de bibliotheken RPi.GPIO voor de aansturing van de GPIO-
poorten e n
time voor tijdsvertragingen. Hierna wordt de nummering van de GPIO-poorten zoals in het eer-
dere voorbeeld op BCM geplaatst.
rood = 0; geel = 1; groen = 2 Ddeze regels definiëren drie variabelen rood, geel en groen
voor de drie LED's. Hierdoor hoeft men in het programma geen nummers of GPIO-poorten te onthouden,
maar kan de LED's eenvoudig via hun kleuren aansturen.
Ampel=[4,18,23] Voor de aansturing van de drie LED's wordt een lijst ingesteld, die de GPIO-nummers in
de volgorde bevat, waarin de LED's op de insteekprintplaat zijn gemonteerd. Omdat de GPIO-poorten alleen
op deze ene plaats in het programma naar voren komen, kunt u het programma zeer eenvoudig ombouwen,
wanneer u andere GPIO-poorten wilt gebruiken.
GPIO.setup(Ampel[rot], GPIO.OUT, initial=False)
GPIO.setup(Ampel[gelb], GPIO.OUT, initial=False)
GPIO.setup(Ampel[gruen], GPIO.OUT, initial=True)
Achtereenvolgend worden de drie gebruikte GPIO-poorten als uitgangen geïnitialiseerd. Hierbij gebruiken wij
dit keer geen GPIO-poortnummers, maar de eerder gedefinieerde lijst. Binnen een lijst worden de individuele
elementen via getallen, beginnend met 0, geïndiceerd.
Ampel[0] is dus het eerste element, in dit geval 4. De
variabelen
rood, geel en groen bevatten de getallen 0, 1 en 2, die als indicaties voor de elementen van de
lijst nodig zijn. Op deze manier kunnen de gebruikte GPIO-poorten via kleuren worden geadresseerd:
Ampel[rot] komt overeen met de GPIO-poort 4 met de rode LED.
Ampel[gelb] komt overeen met de GPIO-poort 18 met de gele LED.
Ampel[gruen] komt overeen met de GPIO-poort 23 met de groene LED.
De
GPIO.setup-aanwijzing kan een optionele parameter initial bevatten, die aan de GPIO-poort bij het
initialiseren al een logische status toewijst. Hiermee schakelen we in dit programma de groene LED al vanaf
het begin in. De andere beide LED's beginnen het programma in uitgeschakelde toestand.
print ("Strg+C beëindigt het programma") Nu verschijnt een korte gebruiksaanwijzing op het
beeldscherm. Het programma loopt automatisch. De toetsencombinatie
[Strg]+[C] moet het beëindigen.
Om te vragen, of de gebruiker met
[Strg]+[C] het programma beëindigt, gebruiken wij een try...except-
vraag. Hierbij wordt de onder
try: ingevoerde programmacode vervolgens normaal uitgevoerd. Wanneer
gedurende deze een systeemuitzondering optreedt – dit kan een fout zijn of mede de toetscombinatie