Na dann, ab an die Grundlagen - hf - es lohnt sich
Fehler im Quelltext des Roboters
-
Shaq -
20. November 2017 um 20:02 -
Erledigt
Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
-
-
Fehler im Quelltext des Roboters? Schau mal ob du hier fündig wirst!
-
Wäre es denn trotzdem möglich mir bei der aktuellen Thematik behilflich zu sein?:)
-
Ja, aber ganz ehrlich, wenn du es nichtmal schaffst das passende Modul zu importieren, und welches nicht mehr benötigt wird zu entfernen fehlen einfach grundlegende Sachen, wodurch wir so nicht wirklich zum Ziel kommen.
Mach doch erstmal kleine Schritte und arbeite dich zu deinem großen Ziel, Roboter steuern, langsam vor.
-
Okay, werde mir die nächsten Tage mal alles mögliche anlesen und dann versuchen anzuwenden. Im Anschluss daran werde ich mich in diesem Thread dazu dann nochmal melden, sodass ich dann bald an mein erstes Ziel komme.:)
-
...Ich finde die Überschrift schon irgendwie lustig...
"... des Roboters"
-
- Offizieller Beitrag
-
Hätte auch "meines" schreiben können ist aber ja im Endeffekt egal
-
Naja, die aktuelle Überschrift deutet sich so dass Du nicht daran Schuld bist.
Quasi so: Du hast einen fertigen Roboter gekauft und in dessen Quellcode steckt ein Fehler den Du nun beheben willst. Die Sachlage sieht dann also anders aus als wenn du "Fehler im Quelltext meines Roboters" geschrieben hättest. Der Roboter kann da gar nichts für
Ohne dich angreifen zu wollen sieht das Script für jemanden der eine Informatiker Ausbildung gemacht hat aber auch irgendwie nicht so schön aus... Was jetzt nämlich nicht daran liegt das du mit Python noch nicht so viel gemacht hast. Mag ein Vorurteil sein, aber ich denke mir, das Informatikern eine gewisse Sorgfalt und Herangehensweise eingetrichtert wurde oder nicht? Das Script sieht für mich wie eine wilde Copy&Paste Orgie aus. Das fängt mit einheitlichen Einrückungen auch für Kommentare an, geht übers korrekte anwenden von Methoden (nicht darüber informiert was der Funktions-/Methodenaufruf überhaupt macht), bis hin zu fehlen von "(" sowie den fehlenden Shebang bzw Erwähnung welche Python Version überhaupt verwendet wird. Insbesondere letzteres ist ebenso wiechtig wie C von C# und C++ zu unterscheiden.
Auch solltest du dein Konzept noch mal überdenken, denn in C# sollte es auch so sein das der Code von oben nach unten abgearbeitet wird. Aktuell blockiert deine while das Script und kann nicht auch noch auf Steuersignale reagieren, sondern nur aufs Abfragen des Sonars. Klar, Schritt für Schritt - denk einfach nur dran dass das so nicht bleiben kann
-
Habe in der Ausbildung nie wirklich wert auf Orndung in den Scripts gelegt, da mich programieren nie so interessiert hat. Doch jetzt wo ich es brauche muss ich mich damit intensiv beschäftigen. Wird in Zukunft schon klappen mit dem Einrücken etc.
Bei der Python handelt es sich übrigens um die Version 3.:)
-
Ich habe mich jetzt mal durch die komplette Library von gpiozero gelesen.
Trotzdem läuft das Testscipt welches ich mir aus dem Dokument kopiert habe nicht. Ich habe die library auf dem Pi so wie es dort stand installiert und den Quellcode 1:1 übernommen.
Eine Fehlermeldung wird mir nicht ausgegeben der Pi fängt nur nach 30 Sekunden an folgedens auszugeben.
('Distance: ', 100.0)
Pythonfrom gpiozero import DistanceSensor from time import sleep sensor = DistanceSensor(echo=18, trigger=17) while True: print('Distance: ', sensor.distance * 100) sleep(1)
Normalerweise müsste der Sensor ja gant normal den Abstand messen.
Wo liegt der Fehler?
-
Mach mal bitte ein Bild oder einen Schaltplan von deiner Verkabelung.
-
-
- Offizieller Beitrag
Hallo Bastelstube,
nur eine Vermutung... Deine Ausgabe sieht nach Python 2 aus. Kann es sein, dass Du versuchst ein für Python 3 installiertes gpiozero mit Python 2 auszuführen?
// Edit: fred0815 Ich glaube er meint das https://gpiozero.readthedocs.io/en/stable/api_…-sensor-hc-sr04
-
Dies wird denke ich etwas zu lange dauern. Ich gebe mir mühe es zu beschreiben.
Komponennten:
1x HC-SR041x Voltage Translator
Verkabbelung:
Sensor
VCC = 5V [Pin 2]
Trigger = Pin B1 [Voltage Translator]
Echo = Pin B2 [Voltage Translator]
GND = Masse [Pin 6]
Sensor -> Voltage Translator:
VCCb = 5V [Pin 04]
Pin B1 = Trigger [Sensor]
Pin B2 = Echo [Sensor]
VCCa = 3,3V [Pin 01)]
Pin A1 = GPIO18 [Pin 12]
Pin A2 = GPIO17 [Pin 11]
GND = Masse [Pin 09] -
Allerdings. Da aber keine Fehlermeldung erscheint, sollte es kein Problem sein, davon dass ein Tuple statt ein String ausgegeben wird mal abgesehen.
Shaq: führe dein Programm bitte mit python3 ... statt python ... oder python2 ... aus, um weitere Fehler zu vermeiden.
-
// Edit: fred0815 Ich glaube er meint das https://forum-raspberrypi.de#distance-sensor-hc-sr04
Genau das meine ich.
Bastelstube: führe dein Programm bitte mit python3 ... statt python ... oder python2 ... aus, um weitere Fehler zu vermeiden.
Sowohl sudo python Dateiname.py , sudo python2 Dateiname.py als auch sudo python3 Dateiname.py zeigen leider keine Wirkung.
-
Trigger = Pin B1 [Voltage Translator]
Echo = Pin B2 [Voltage Translator]
Pin A1 = GPIO18 [Pin 12]
Pin A2 = GPIO17 [Pin 11]
sensor = DistanceSensor(echo=18, trigger=17)Ist der Dreher beabsichtigt?
-
Sowohl sudo python Dateiname.py , sudo python2 Dateiname.py als auch sudo python3 Dateiname.py zeigen leider keine Wirkung.
Ja, wie ich schon schrieb, eine Lösung für dein Problem ist es nicht, aber es vermeidet ein generelles Missverständnis.
-
Ist der Dreher beabsichtigt?
Danke für den Hinweis. Habe mich dort anscheined vertippt, brachte aber dennoch keinen Erfolg.
Hier nochmal die korrigierte Version.
Sensor
VCC = 5V [Pin 2]Trigger = Pin B1 [Voltage Translator]
Echo = Pin B2 [Voltage Translator]
GND = Masse [Pin 6]
Sensor -> Voltage Translator:
VCCb = 5V [Pin 04]Pin B1 = Trigger [Sensor]
Pin B2 = Echo [Sensor]
VCCa = 3,3V [Pin 01)]
Pin A1 = GPIO17 [Pin 11]
Pin A2 = GPIO18 [Pin 12]
GND = Masse [Pin 09]
-
Ja, wie ich schon schrieb, eine Lösung für dein Problem ist es nicht, aber es vermeidet ein generelles Missverständnis.
Okay. Habe gerade auch nochmal die Verkabbelung geprüft es scheint alles richtig zu sein.
-
Jetzt mitmachen!
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!