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
#
