while 1: horst.keepAlive() #verhindert absturz des programmes und sucht nach gedrückten knöpfen time.sleep(0.2) if knoppekAutomatisch.isPressed(): #ZeitprogrammKnopf -> startet den Zeitprogrammmoddus #print("Automode selected") #zum debuggen, um in der Konsole zu sehen, was grade passiert GroßKnoppeksWech() #Methode wird aufgerufen KleineKnoppeksHer() #Methode wird aufgerufen bildschenHer() #Methode wird aufgerufen textHer() #Methode wird aufgerufen while 1: #endlosschleife, die auf eine knoppek wartet horst.keepAlive() #verhindert absturz des programmes und sucht nach gedrückten knöpfen if knoppekStart.isPressed(): #knoppek start wird gedrückt timenow = time.time() #neue variable [timenow] wird mit der aktuellen zeit in sekunden seit 1970 belegt ElBlaso(1) #luft in kammer links rein ElBlaso(2) #luft in kammer rechts rein Motörchen(1) #motoren an while time.time()-timenow < 150: #zeit - jetzigem zeitpunkt kleiner 150 --> while schleife läuft 150sek horst.keepAlive() #verhindert absturz des programmes und sucht nach gedrückten knöpfen time.sleep(0.2) KritischeAbbruchfrage() #wenn ende knopf gedrückt wird, wird alles beendet --> Methode wird aufgerufen ElHalto(1) #luft bleibt in kammer links ElHalto(2) #luft bleibt in kammer rechts Motörchen(0) #motoren aus knoppekStart.setActive(False) #deaktiviert StartKnoppek knoppekZeitprogramm.setActive(True) #aktiviert Zeitprgrammknoppek KritischeAbbruchfrage() #wenn ende knopf gedrückt wird, wird alles beendet --> Methode wird aufgerufen if knoppekZeitprogramm.isPressed(): #Zeitprogrammknopf gedrückt -> startet Zeitprogramm timenow = time.time() #legt aktuelle Zeit auf timenow while time.time()-timenow < 20: #zeit - jetzigem zeitpunkt kleiner 20 --> while schleife läuft 20sek zeitjeloofen = 0 #variable zeitjeloofen am anfang auf 0 gesetzt horst.keepAlive() #verhindert absturz des programmes und sucht nach gedrückten knöpfen slider.newValue((time.time()-timenow)/20) #berechnet balkenlänge, indem es den slider-wert auf (abgelaufenezeit:20) setzt horst.refresh() #aktualisiert die bildinhalte if time.time()-timenow < 15: #zeit - jetzigem zeitpunkt kleiner 15 --> wenn wir innerhlab der 15sek sind, dann... ElSaugo(2) #... luft aus kammer rechts raus Motörchen(1) #motoren an else: ElHalto(2) #Methode elhalto für kammerre Motörchen(0) #motoren aus KritischeAbbruchfrage() #wenn ende knopf gedrückt wird, wird alles beendet --> Methode wird aufgerufen if knoppekPause.isPressed(): #wenn knopf pause gedrückt wird,... zeitjeloofen = time.time()-timenow #anzahl der sekunden, die bis jetzt in der schleife gelaufen sind Motörchen(0) #motoren aus ElHalto(1) #elhalto kammerli ElHalto(2) #elhalto kammerre while 1: #endlosschleife horst.keepAlive() #verhindert absturz des programmes und sucht nach gedrückten knöpfen time.sleep(0.2) MannoProgram() #manuelles Programm wird gestartet (Methode wird aufgerufen) KritischeAbbruchfrage() #wenn ende knopf gedrückt wird, wird alles beendet --> Methode wird aufgerufen if knoppekPause.isPressed(): #wenn pause knopf gedrückt wird,... timenow = time.time()-zeitjeloofen #slider und zeitprogramm machen da weiter, wo sie aufgehört haben break #pause-schleife wird beendet ElHalto(1) #in den ersten 20sek nach dem start, muss die luft in der linken kammer gehalten werden ElHalto(1) #nach den 20sek, luft halten in beiden kammern ElHalto(2) KammerMehr = 2 #kammer links, die luft kriegt, wird auf kammermehr gesetzt KammerWenig= 1 #kammer rechts, die luft verliert, wird auf kammerwenig gesetzt while 1: #endlosschleife zeitjeloofen = 0 #zeit, die gelaufen ist, liegt bei 0sek timenow = time.time() #legt aktuelle Zeit auf timenow while time.time()-timenow < 20: #schleife, wechselspiel der kammern beginnt und slider läuft insgesamt 20sek horst.keepAlive() #verhindert absturz des programmes und sucht nach gedrückten knöpfen slider.newValue((time.time()-timenow)/20) #berechnet balkenlänge, indem es den slider-wert auf (abgelaufenezeit:20) setzt horst.refresh() #aktualisiert die bildinhalte if time.time()-timenow < 15: #wechselspiel der kammern läuft 15sek lang ElSaugo(KammerWenig) #kammer wird luft entzogen ElBlaso(KammerMehr) #kammer wird luft zugeführt Motörchen(1) #motoren sind an else: #nach den 15sek, wird luft in beiden kammern für 5sek gehalten ElHalto(KammerMehr) #luft wird gehalten ElHalto(KammerWenig) #luft wird gehalten Motörchen(0) #motoren sind aus KritischeAbbruchfrage() #wenn ende knopf gedrückt wird, wird alles beendet --> Methode wird aufgerufen if knoppekPause.isPressed(): #wenn knopf pause gedrückt wird zeitjeloofen = time.time()-timenow #anzahl der sekunden, die bis jetzt in der schleife gelaufen sind Motörchen(0) #motoren aus ElHalto(1) #luft wird in kammer gehalten ElHalto(2) #luft wird in kammer gehalten while 1: #endlosschleife horst.keepAlive() #verhindert absturz des programmes und sucht nach gedrückten knöpfen time.sleep(0.2) MannoProgram() #manuelles Programm wird gestartet (Methode wird aufgerufen) KritischeAbbruchfrage() #wenn ende knopf gedrückt wird, wird alles beendet --> Methode wird aufgerufen if knoppekPause.isPressed(): #wenn knopf pause gedrückt wird,... timenow = time.time()-zeitjeloofen #slider und zeitprogramm machen da weiter, wo sie aufgehört haben break if(KammerMehr==1): #wenn kammer links luft kriegt,.. KammerMehr=2 #.. kriegt kammer rechts in der nächsten runde luft KammerWenig=1 #.. und die linke kriegt luft abgezogen else: #andererseits... KammerMehr=1 #..kriegt kammer rechts luft abgezogen KammerWenig=2 #..und kammer links kriegt luft time.sleep(0.2) if knoppekManuell.isPressed(): #falls man ganz zu beginn den manuell knopf drückt,... GroßKnoppeksWech() #methodenaufruf: grüne knöpfe+icons verschwinden KleineKnoppeksHer() #methodenaufruf: blaue knöpfe werden angezeigt bildschenHer() #methodenaufruf: icons erscheinen und sind aktiv textHer() #methodenaufruf: text (blau) wird sichtbar gemacht MannoProgram() #methodenaufruf: manuelles programm bedienbar