User manual
27
GPIO.output(Ampel[gruen],True)
except KeyboardInterrupt:
GPIO.cleanup()
3.1.1 Tako deluje
Prve vrstice so že znane in uvozijo knjižnice RPi.GPIO za krmiljenje GPIO-vrat in time za
časovne zakasnitve. Nato sledi oštevilčenje GPIO-vrat na BCM v skladu s prejšnjim
primerom.
rot = 0; gelb = 1; gruen = 2
Te vrstice definirajo tri spremenljivke rot, gelb in gruen za tri LED (rdeča, rumena in
zelena). S tem si vam v programu ni treba zapomniti številk ali GPIO-vrat, temveč lahko LED
enostavno krmilite glede na njihove barve.
Ampel=[4,18,23]
Za krmiljenje treh LED ustvarite seznam, ki vsebuje GPIO-številke v zaporedju, v katerem so
LED vgrajene na preizkusni ploščici. Ker se GPIO-vrata pojavijo v programu samo na tem
mestu, lahko program popolnoma enostavno predelate, če želite uporabiti druga GPIO-vrata.
GPIO.setup(Ampel[rot], GPIO.OUT, initial=False)
GPIO.setup(Ampel[gelb], GPIO.OUT, initial=False)
GPIO.setup(Ampel[gruen], GPIO.OUT, initial=True)
Zaporedoma se tri uporabljena GPIO-vrata inicializirajo kot izhodi. Pri tem tokrat ne uporabite
številk GPIO-vrat, temveč predhodno definiran seznam. Znotraj seznama so posamezni
elementi indicirani s številkami, ki se začnejo z 0. Ampel[0] je torej prvi element, v tem
primeru 4. Spremenljivke rot, gelb in gruen vsebujejo številke 0, 1 in 2, ki so potrebne kot
indici za elemente seznama. Na ta način je možno uporabljena GPIO-vrata naslavljati prek
barv:
• Ampel[rot] se sklada z GPIO-vrati 4 z rdečo LED.
• Ampel[gelb] se sklada z GPIO-vrati 18 z rumeno LED.
• Ampel[gruen] se sklada z GPIO-vrati 23 z zeleno LED.
Navodila GPIO.setup lahko vsebujejo dodatni parameter initial, ki GPIO-vratom že pri
inicializaciji dodeli logični status. S tem v tem programu že od začetka vklopite zeleno LED.
Drugi dve LED začneta program v izklopljenem stanju.
print ("Ctrl+C zaključi program")
Sedaj se na zaslonu pojavijo kratka navodila za uporabo. Program deluje samodejno.
Kombinacija tipk [Ctrl]+[C] je namenjena njegovi zaključitvi. Za poizvedbo, če lahko
uporabnik s [Ctrl]+[C] zaključi program, uporabite poizvedbo try...except. Pri tem
se programska koda, ki je vnesena pod try:, najprej izvede na običajen način. Če med tem
pride do sistemske izjeme – to je lahko napaka ali tudi kombinacija tipk [Ctrl]+[C], pride
do prekinitve in izvede se navodilo except na koncu programa.
except KeyboardInterrupt:
GPIO.cleanup()