Hallo,
wenn ich den Code in Python ausführe:https://pastebin.com/NrN0MAUs kommt eine Fehler meldung: GPIO ist not defined.
Der Code soll die einzelen Pins auslesen und dann eine Tkinternachricht schreiben. Eigentlich einfach oder?
Fehlermeldung GPIO ist not defined
-
- User
- Beiträge: 6
- Registriert: Dienstag 1. August 2017, 07:57
Man bin ich doof hab ich doch glatt die Links verwechselt: Der Link da oben ist der Code der funzt. Das ist derwo die Fehlermeldung kommt:https://pastebin.com/SaCSegjX
-
- User
- Beiträge: 6
- Registriert: Dienstag 1. August 2017, 07:57
Kleiner Fehler gpio.setmode(gpio.BOARD) ist doppelt - ändert aber nichts am Fehler
@SeesternMare: 64-Zeilen Code kannst Du ohne Bedenken direkt im Forum posten, dann geht er auch nicht verloren, wenn der pastebin nicht mehr existiert.
*-Importe sind böse, weil Du damit unkontrolliert Namen in den eigenen Namensraum lädst. Bei Tk wird üblicherweise "import tkinter as tk" geschrieben und alle tk-Namen per tk.xyz angesprochen. Deine Leerzeilengebung ist sehr ungewohnt. Damit ist Dein Code praktisch unlesbar. Eingerückt wird per Konvention mit 4 Leerzeichen pro Ebene. Wenn Du anfängst, Zeilen zu kopieren und Variablen mit Nummern zu versehen, willst Du eigentlich Listen und Schleifen benutzen. time wird importiert aber nicht verwendet.
Ein Tk-Programm ohne mainloop ist schwierig. Wenn Du dann noch gleichzeitig etwas über gpio einlesen willst, brauchst Du mindestens die after-Methode Deiner Tk-Objekte (zumal Du hier einen busy-Loop geschrieben hast, der außer Strom verschwenden nichts sinnvolles macht). Dann erzeugst Du noch Massen an Labels, mit denen Du dann nichts anfängst.
Zum eigentlichen Problem: in Python ist bei Variablennamen groß-klein-Schreibung wichtig.
*-Importe sind böse, weil Du damit unkontrolliert Namen in den eigenen Namensraum lädst. Bei Tk wird üblicherweise "import tkinter as tk" geschrieben und alle tk-Namen per tk.xyz angesprochen. Deine Leerzeilengebung ist sehr ungewohnt. Damit ist Dein Code praktisch unlesbar. Eingerückt wird per Konvention mit 4 Leerzeichen pro Ebene. Wenn Du anfängst, Zeilen zu kopieren und Variablen mit Nummern zu versehen, willst Du eigentlich Listen und Schleifen benutzen. time wird importiert aber nicht verwendet.
Ein Tk-Programm ohne mainloop ist schwierig. Wenn Du dann noch gleichzeitig etwas über gpio einlesen willst, brauchst Du mindestens die after-Methode Deiner Tk-Objekte (zumal Du hier einen busy-Loop geschrieben hast, der außer Strom verschwenden nichts sinnvolles macht). Dann erzeugst Du noch Massen an Labels, mit denen Du dann nichts anfängst.
Zum eigentlichen Problem: in Python ist bei Variablennamen groß-klein-Schreibung wichtig.