Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import tkinter as Tk
- import RPi.GPIO as GPIO
- import time
- class Manual_Control():
- """
- GPIO.setmode(GPIO.BCM)
- GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
- GPIO.setup(24, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
- GPIO.setup(4, GPIO.OUT)
- GPIO.setup(17, GPIO.OUT)
- GPIO.setup(27, GPIO.OUT)
- #GPIO.setup(22, GPIO.OUT)
- # Da inverse Logik => Ground aktiviert, HIGH deaktiviert
- GPIO.output(4, GPIO.HIGH)
- GPIO.output(17, GPIO.HIGH)
- GPIO.output(27, GPIO.HIGH)
- def printFunctionL(channel):
- print("Linkes Rad")
- zaehler_links.set(zaehler_links.get()+1)
- def printFunctionR(channel):
- print("Rechtes Rad")
- zaehler_rechts.set(zaehler_rechts.get()+1)
- #GPIO.add_event_detect(23, GPIO.RISING, callback=printFunctionL, bouncetime=200)
- #GPIO.add_event_detect(24, GPIO.RISING, callback=printFunctionR, bouncetime=200)
- def motorLinksVor():
- if (CheckVarLv.get()==0):
- print("Linker Motor vor aus")
- GPIO.output(4, GPIO.HIGH)
- if (CheckVarLv.get()==1):
- print("Linker Motor vor an")
- GPIO.output(4, GPIO.LOW)
- def motorRechtsVor():
- if (CheckVarRv.get()==0):
- print("Rechter Motor vor aus")
- GPIO.output(17, GPIO.HIGH)
- if (CheckVarRv.get()==1):
- print("Rechter Motor vor an")
- GPIO.output(17, GPIO.LOW)
- def motorLinksZur():
- if (CheckVarLz.get()==0):
- print("Linker Motor zurück aus")
- GPIO.output(27, GPIO.HIGH)
- GPIO.output(4, GPIO.HIGH)
- if (CheckVarLz.get()==1):
- print("Linker Motor zurück an")
- GPIO.output(27, GPIO.LOW)
- GPIO.output(4, GPIO.LOW)
- def motorRechtsZur():
- if (CheckVarRz.get()==0):
- print("Rechter Motor zurück aus")
- GPIO.output(27, GPIO.HIGH)
- GPIO.output(17, GPIO.HIGH)
- if (CheckVarRz.get()==1):
- print("Rechter Motor zurück an")
- GPIO.output(27, GPIO.LOW)
- GPIO.output(17, GPIO.LOW)
- def vorwaerts():
- if (CheckVarVorwaerts.get()==0):
- print("Vorwärts aus")
- GPIO.output(27, GPIO.HIGH)
- GPIO.output(4, GPIO.HIGH)
- GPIO.output(17, GPIO.HIGH)
- if (CheckVarVorwaerts.get()==1):
- print("Vorwärts an")
- GPIO.output(27, GPIO.LOW)
- GPIO.output(4, GPIO.LOW)
- GPIO.output(17, GPIO.LOW)
- def links():
- print("linkskurve")
- GPIO.output(27, GPIO.LOW)
- GPIO.output(17, GPIO.LOW)
- #100 ms = 0.1
- time.sleep(1)
- GPIO.output(17, GPIO.HIGH)
- GPIO.output(27, GPIO.HIGH)
- print("linkskurve ende")
- def rechts():
- print("rechtskurve")
- GPIO.output(27, GPIO.LOW)
- GPIO.output(4, GPIO.LOW)
- #100 ms = 0.1
- time.sleep(1)
- GPIO.output(4, GPIO.HIGH)
- GPIO.output(27, GPIO.HIGH)
- print("rechtskurve ende")
- def umdrehung():
- print("umdrehung")
- links = zaehler_links.get()
- rechts = zaehler_rechts.get()
- print("Anzahl Linkerreifen impulse: ", zaehler_links.get())
- print("Anzahl Rechterreifen impulse: ", zaehler_rechts.get())
- GPIO.output(4, GPIO.LOW)
- GPIO.output(17, GPIO.LOW)
- #100 ms = 0.1
- #1 sek = 1
- time.sleep(2)
- GPIO.output(4, GPIO.HIGH)
- GPIO.output(17, GPIO.HIGH)
- print("Anzahl Linkerreifen impulse: ", zaehler_links.get())
- print("Anzahl Rechterreifen impulse: ", zaehler_rechts.get())
- print("Anzahl Links: ", zaehler_links.get()-links)
- print("Anzahl Rechts: ", zaehler_rechts.get()-rechts)
- print("umdrehung ende")
- #Fenster erstellen
- """
- mcfenster = tkinter.Tk()
- zaehler_links = IntVar()
- zaehler_rechts = IntVar()
- CheckVarLv = IntVar()
- CheckVarRv = IntVar()
- CheckVarLz = IntVar()
- CheckVarRz = IntVar()
- CheckVarVorwaerts = IntVar()
- CheckVarKurveLinks = IntVar()
- CheckVarKurveRechts = IntVar()
- CheckVarVorwaertsUmdrehung = IntVar()
- VorLinks = Checkbutton(mcfenster, text="Links vor", command=motorLinksVor, variable =CheckVarLv, onvalue=1, offvalue=0)
- VorRechts = Checkbutton(mcfenster, text="Rechts vor", command=motorRechtsVor, variable =CheckVarRv, onvalue=1, offvalue=0)
- ZurLinks = Checkbutton(mcfenster, text="Links zurück", command=motorLinksZur, variable =CheckVarLz, onvalue=1, offvalue=0)
- zurRechts = Checkbutton(mcfenster, text="Rechts zurück", command=motorRechtsZur, variable =CheckVarRz, onvalue=1, offvalue=0)
- vorwaerts = Checkbutton(mcfenster, text="vorwaerts", command=vorwaerts, variable =CheckVarVorwaerts, onvalue=1, offvalue=0)
- linkskurve = Checkbutton(mcfenster, text="Linkskurve", command=links, variable =CheckVarKurveLinks, onvalue=1, offvalue=0)
- rechtskurve = Checkbutton(mcfenster, text="Rechtskurve", command=rechts, variable =CheckVarKurveRechts, onvalue=1, offvalue=0)
- vorwaertsumdrehung = Checkbutton(top, text="1 umdrehung vorwaerts", command=umdrehung, variable =CheckVarVorwaertsUmdrehung, onvalue=1, offvalue=0)
- class MyApp(object):
- """"""
- #----------------------------------------------------------------------
- def __init__(self, parent):
- """Constructor"""
- self.root = parent
- self.root.configure(background='blue')
- self.root.title("Kranken Trage")
- self.frame = Tk.Frame(parent,background='blue')
- self.frame.pack()
- Uebschrift= Tk.Label(self.frame,text="Kranken-Transport",font = "Verdana 30 bold",fg="red").pack()
- btnRooms = Tk.Button(self.frame,text ="Räume")
- btnRooms.config(height=3,width=15,font= "Arial 40")
- btnRooms.pack(pady=5)
- Test = Tk.Button(self.frame,text ="Test Modus")
- Test.config(height=3,width=15,font= "Arial 40")
- Test.pack(padx=10,pady=5)
- btnmanualControl = Tk.Button(self.frame,text = "Manuele Steuerung",command=openmanualControl)
- btnmanualControl.config(height=3,width=15,font= "Arial 40")
- btnmanualControl.pack(padx=10,pady=5 )
- #----------------------------------------------------------------------
- def hide(self):
- """"""
- self.root.withdraw()
- #----------------------------------------------------------------------
- def openRooms(self):
- """"""
- self.hide()
- subFrame = Rooms(self)
- #----------------------------------------------------------------------
- def openmanualControl(self):
- """"""
- self.hide()
- subFrame = Manual_Control(self)
- #----------------------------------------------------------------------
- def show(self):
- """"""
- self.root.update()
- self.root.deiconify()
- #----------------------------------------------------------------------
- if __name__ == "__main__":
- root = Tk.Tk()
- root.geometry("700x700")
- app = MyApp(root)
- root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement