Probleme mit sys.exit()
Verfasst: Samstag 6. Juni 2020, 22:49
Guten Abend,
ich bin noch neu bei Python und möchte eine Ampelschaltung mit GPIO Emulator programmieren.
Ich habe einen Schalter zum auslösen der Ampel programmiert und einen zweiten der das Programm beenden soll. Ich habe aber Probleme mit der verknüpfung zum sys Modul bzw dem sys.exit Befehl. ich hoffe jemand kann mir weiterhelfen. Anbei der Code bis jetzt.
Schönes Wochenende!!!
]from EmulatorGUI import GPIO
import time
import sys
#allgemein
GPIO.setmode(GPIO.BCM) #muss gesetzt werden, ansonsten Fehlermeldungen
GPIO.setwarnings(False) #Warnungen werden ausgeschaltet
# Pin 14 als Ausgang setzen
GPIO.setup(14, GPIO.OUT)
GPIO.setup(15, GPIO.OUT)
GPIO.setup(18, GPIO.OUT)
# Pin 14: Ausgang wird auf HIGH gesetzt
GPIO.output(14, GPIO.HIGH)
GPIO.output(15, GPIO.HIGH)
GPIO.output(18, GPIO.HIGH)
# Pin 23 wird als Schalter definiert,
#mit pull_up_down = GPIO.PUD_UP wird das Signal auf HIGH gesetzt
GPIO.setup(23, GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.setup(24, GPIO.IN, pull_up_down = GPIO.PUD_UP)
while True:
if GPIO.input(23)==False:
print("Button wurde gedrückt")
GPIO.output(14, GPIO.LOW) #Ausgang auf LOW gesetzt
time.sleep(3) #Programmablauf wird 3 Sekunden angehalten
GPIO.output(14, GPIO.HIGH) #Ausgang auf HIGH gesetzt
GPIO.output(15, GPIO.LOW) #Ausgang auf LOW gesetzt
time.sleep(1) #Programmablauf wird 1 Sekunden angehalten
GPIO.output(15, GPIO.HIGH)#Ausgang auf HIGH gesetzt
GPIO.output(18, GPIO.LOW) #Ausgang auf LOW gesetzt
time.sleep(3) #Programmablauf wird 3 Sekunden angehalten
GPIO.output(18, GPIO.HIGH)#Ausgang auf HIGH gesetzt
GPIO.output(15, GPIO.LOW) #Ausgang auf LOW gesetzt
time.sleep(1) #Programmablauf wird 1 Sekunden angehalten
GPIO.output(15, GPIO.HIGH)#Ausgang auf HIGH gesetzt
GPIO.output(14, GPIO.LOW) #Ausgang auf LOW gesetzt
time.sleep(3) #Programmablauf wird 3 Sekunden angehalten
GPIO.output(14, GPIO.HIGH) #Ausgang auf HIGH gesetzt
if GPIO.input(24)==False:
sys.exit()
ich bin noch neu bei Python und möchte eine Ampelschaltung mit GPIO Emulator programmieren.
Ich habe einen Schalter zum auslösen der Ampel programmiert und einen zweiten der das Programm beenden soll. Ich habe aber Probleme mit der verknüpfung zum sys Modul bzw dem sys.exit Befehl. ich hoffe jemand kann mir weiterhelfen. Anbei der Code bis jetzt.
Schönes Wochenende!!!
]from EmulatorGUI import GPIO
import time
import sys
#allgemein
GPIO.setmode(GPIO.BCM) #muss gesetzt werden, ansonsten Fehlermeldungen
GPIO.setwarnings(False) #Warnungen werden ausgeschaltet
# Pin 14 als Ausgang setzen
GPIO.setup(14, GPIO.OUT)
GPIO.setup(15, GPIO.OUT)
GPIO.setup(18, GPIO.OUT)
# Pin 14: Ausgang wird auf HIGH gesetzt
GPIO.output(14, GPIO.HIGH)
GPIO.output(15, GPIO.HIGH)
GPIO.output(18, GPIO.HIGH)
# Pin 23 wird als Schalter definiert,
#mit pull_up_down = GPIO.PUD_UP wird das Signal auf HIGH gesetzt
GPIO.setup(23, GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.setup(24, GPIO.IN, pull_up_down = GPIO.PUD_UP)
while True:
if GPIO.input(23)==False:
print("Button wurde gedrückt")
GPIO.output(14, GPIO.LOW) #Ausgang auf LOW gesetzt
time.sleep(3) #Programmablauf wird 3 Sekunden angehalten
GPIO.output(14, GPIO.HIGH) #Ausgang auf HIGH gesetzt
GPIO.output(15, GPIO.LOW) #Ausgang auf LOW gesetzt
time.sleep(1) #Programmablauf wird 1 Sekunden angehalten
GPIO.output(15, GPIO.HIGH)#Ausgang auf HIGH gesetzt
GPIO.output(18, GPIO.LOW) #Ausgang auf LOW gesetzt
time.sleep(3) #Programmablauf wird 3 Sekunden angehalten
GPIO.output(18, GPIO.HIGH)#Ausgang auf HIGH gesetzt
GPIO.output(15, GPIO.LOW) #Ausgang auf LOW gesetzt
time.sleep(1) #Programmablauf wird 1 Sekunden angehalten
GPIO.output(15, GPIO.HIGH)#Ausgang auf HIGH gesetzt
GPIO.output(14, GPIO.LOW) #Ausgang auf LOW gesetzt
time.sleep(3) #Programmablauf wird 3 Sekunden angehalten
GPIO.output(14, GPIO.HIGH) #Ausgang auf HIGH gesetzt
if GPIO.input(24)==False:
sys.exit()