Her har vi et oppsett for en dreieretningsvender der vi må innom stoppknappen for å kunne skifte mellom høyre og venstredrift.
Eksempel på programkode:
# Dreieretningsvender # Arne G from gpiozero import Button, LED led1 = LED(21) led2 = LED(26) knapp1 = Button(2) knapp2 = Button(16) knapp3 = Button(20) forrigling = False while True: if knapp1.value and not forrigling: print("CW Running") led1.on() led2.off() forrigling = True if knapp2.value and not forrigling: print("CCW Runing") led1.off() led2.on() forrigling = True if knapp3.value: print("Motor Off") led1.off() led2.off() forrigling = False #
Alternativ programkode som bruker litt mindre prosessorkraft. Ved å importere time funksjon og legge inn en pause i sløyfa på 0.2 sekund, så bør også det første programmet kjøre med en rimelig prosessorbelastning. ( «import time» pluss «time.sleep(0.2)» )
# Dreieretningsvender # M1 has to start before M2 # Arne G from gpiozero import Button, LED from signal import pause led1 = LED(21) led2 = LED(26) knapp1 = Button(2) knapp2 = Button(16) knapp3 = Button(20) def start_m1(): if led2.value == False: print("Start CW") led1.on() def start_m2(): if led1.value == False: print("Start CCW") led2.on() def stopp_m1m2(): print("Engine Stopped") led1.off() led2.off() knapp1.when_pressed = start_m1 knapp2.when_pressed = start_m2 knapp3.when_pressed = stopp_m1m2 pause() # Prevent closing down from shell #