Hallo Leute
Komme einfach nicht weiter, ich habe eine Pumpensteuerung die ich mit einer GUI von Reparatur auf Automatic umstellen möchte.
Auf Rep. soll man die Pumpe via anklicken der Buttens ansteuern können. Das Funktioniert auch.
Klicke ich auf den Automatic Button, soll die Pumpe sich über zwei Schwimmerschalter selber steuern. Das geht auch.
Nun hängt das Programm aber in der Automatic Schleife und auf das GUI kann ich nicht mehr zugreifen.
Frage: Wie muss ich das Programm ändern damit die GUI weiter in Betrie bleibt?
Kann mir jemand helfen? Würde mich über Antworten sehr freuen.
Hier mein Programm:
import RPi.GPIO as GPIO
import time
from Tkinter import *
import tkMessageBox
Niveauoben = 18
Niveauunten = 24
Trommelfilter = 13
GPIO.setmode (GPIO.BOARD)
GPIO.setup (Trommelfilter, GPIO.OUT) #Motor Trommelfilter
GPIO.setup(Niveauoben, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(Niveauunten, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.output(Trommelfilter, GPIO.LOW)
GPIO.setwarnings(False)
def schleife(): #Automatikbetrieb
while 1:
if GPIO.input(Niveauoben) == GPIO.HIGH and GPIO.input(Niveauunten) == GPIO.HIGH:
GPIO.output(Trommelfilter, GPIO.HIGH)
if GPIO.input(Niveauoben) == GPIO.LOW and GPIO.input(Niveauunten) == GPIO.LOW:
GPIO.output(Trommelfilter, GPIO.LOW)
def ledon13(): #Reparaturbetrieb
GPIO.output (Trommelfilter,True)
def ledoff13(): #Reparaturbetrieb
GPIO.output (Trommelfilter,False)
def check_button():
if (GPIO.input(Niveauoben) == GPIO.LOW):
labelText.set("Trommel Stop")
else:
labelText.set("SPÜLVORGANG")
root.after(10,check_button)
root =Tk()
root.geometry("516x390")
root.title("Filter Reparatur")
button1 = Button(root, fg="GREEN", text="Trommel ON", command=ledon13)
button2 = Button(root, fg="RED", text="Trommel OFF", command=ledoff13)
button10 = Button(root, fg="BLUE", text="AUTOMATIK", command=schleife)
button3 = Button(root, fg="BLUE", text="EXIT", command=exit)
button1.place(x=158, y=48, width=120, height=54)
button2.place(x=38, y=48, width=120, height=54)
button10.place(x=38, y=288, width=240, height=54)
button3.pack (side = TOP)
labelText = StringVar()
label1 = Button(root, textvariable=labelText, height=4, bg="GREEN")
label1.place(x=308, y=48, width=120, height=54)
root.after(10,check_button)
root.mainloop ()