GUI Programm! Ich find den Fehler nicht!

  • Ich habe diesen Script geschrieben. Ziel ist nur dass wenn der Button gedrückt wird im Programm dass eine in meinem Fall LED kurz leuchtet und wieder ausgeht, so wie es eben im Script zu entnehmen ist. Der Script von mir ist 1 Woche alt aber ich finde den Fehler einfach nicht. Hat jemand eine Idee oder Verbesserungsvorschläge? In der Console kommen immer Fehler. Ich hab das ganze auch schon mit "master = Tk()" versucht wie in vielen Internet-Beiträgen zu dem Thema gezeigt versucht, aber leider ohne Erfolg...

    Es soll nachher ausgebaut werden mit mehreren Buttons, dass ein Art "Control Panel" für GPIO entsteht, das ich in späteren Projekten weiter verwenden will.

    Hier ist der Code:

    from Tkinter import *
    import RPi.GPIO as GPIO
    import time

    GPIO.setmode(GPIO.BCM)
    GPIO.setup(11, GPIO.OUT

    root = Tk()

    def callback():
    GPIO.output(11, True)
    time.sleep(3)
    GPIO.output(11, False)

    b=Button(master, text="Klick mich!", command=callback)
    b.pack()

    Würde mich über hilfreiche Antworten sehr freuen.

    Viele Grüße und Frohe Weihnachten

    floflovaldo

  • Code bitte generell im CODE tag posten (oben rechts im Editor auf #)

    Wie macht sich "der Fehler" bemerkbar?

    Aber der erste Fehler wäre schon mal das du oben " root = Tk() " deklarierst aber dann nicht mehr verwendest...

  • Ja, das ist mir im nach hinein auch aufgefallen, lag daran dass ich vorher rumprobiert habe, ich habe es allerdings auch mit "master" versucht, dort ging es auch nicht.

    Bild der Console folgt gleich...

    So Fehlermeldung der Console als Bild nach angehangen

    Einmal editiert, zuletzt von floflovaldo (23. Dezember 2014 um 18:26)

  • Dir fehlt auch noch eine " ) " oben beim GPIO.setup , und der mainloop vom Tk ;)

    Davon abgesehen würde ich aber den Code auch noch etwas umfassender schreiben, dass zB auf STRG+C hin GPIO.cleanup() ausgeführt wird usw

    Spoiler anzeigen

    [code=php]from Tkinter import *
    import RPi.GPIO as GPIO
    import time

    GPIO.setmode(GPIO.BCM)
    GPIO.setup(11, GPIO.OUT)

    master = Tk()

    def callback():
    print("LED an")
    GPIO.output(11, True)
    time.sleep(3)
    print("LED aus")
    GPIO.output(11, False)

    b=Button(master, text="Klick mich!", command=callback)
    b.pack()

    try:
    master.mainloop()
    except KeyboardInterrupt:
    print("\nQuit\n")

    GPIO.cleanup()[/php]

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!