-
Notifications
You must be signed in to change notification settings - Fork 0
fahren.py
Mit diesem Code lassen sich die Motoren testen und man kann den Roboter fahren lassen. Im folgenden finden Sie Informationen zu einzeln Befehlen und Codepassagen.
An dieser stelle werden aus der Datei motor.py
,welche zuvor auf dem Einplatinencomputer installiert sein sollte, die Funktionen Motor
und BiMotor
geladen um sie später zu benutzen.
Dieser Befehl läd die Funktion utime
herunter. Mit dieser Funktion kann man ein Programm kurzzeitig unterbrechen z.B. utime.sleep(3)
um ein Programm 3 Sekunden lang zu pausieren oder utime.sleep_ms(30)
um ein Programm für 30 Millisekunden zu pausieren diese beiden Funktionen können zum Beispiel sinnvoll sein um den Roboter eine bestimmte Zeit lang fahren zu lassen und ihn dann anzuhalten.
Diese beiden Befehle tragen sorge dafür dass sowohl der linke als auch der rechte Motor jeweils die Namen motor_links
und motor_rechts
bekommen um sie künftig mit ihnen ansteuern zu können. Wichtig zu beachten ist hierbei das Beispielsweise beim linken Motor nicht nur Pin 11 sondern auch Pin 12 Konfiguriert wird deshalb ist es wichtig darauf zu achten das die Pins an denen die Motorsignalkabel angeschlossen sind direkt neben einander sind und dass Im Code der Jeweils kleinere Pin angegeben ist. Außerdem empfiehlt es sich zu überprüfen ob die Im Code enthalten Pins mit den Pins an denen Sie die Motoren angeschlossen haben übereinstimmen und dies ggf. physisch oder digital anzupassen.
Dieser Befehl legt fest ob sich ein Motor geradeaus oder zurück drehen soll ob man motor_links
(wie im Beispiel) oder motor_rechts
schreibt bestimmt darüber welcher der beiden Motoren sich drehen soll. (True)
bedeutet das der entsprechende Motor sich Vorwärts drehen soll, möchte man hingegen dass sich der Motor Rückwärts dreht muss man stattdessen (False)
eingeben. Sollte die Einstellung nicht den gewünschten Effekt erzielen sollten Sie den entsprechenden Motor umpolen.
Dieser Befehl bestimmt die Geschwindigkeit mit der sich der Motor dreht. Ähnlich wie beim vorherigen Befehl gibt motor_links
an dass der linke Motor gemeint ist während motor_rechts
bedeuten würde dass die Geschwindigkeit für den rechten Motor bestimmt wird. Anstelle von x
muss eine zahl von 14
(alles kleinere würde dem Motor Schaden) bis 100
in die Klammern eingetragen werden um die Geschwindigkeit prozentual einzustellen. Bei einer vollen 9v Batterie sollten 80
absolut ausreichen. Wichtig zu beachten ist dass der zuvor genannte Befehl zuerst im Script stehen muss.
Dieser Befehl tastet sich von einem Startwert zu einem Zielwert, x
ist der Startwert y
ist der Zielwert und z
gibt die Schrittgröße an. Also würde Beispielsweise for i in range(0,10,2):
bedeuten dass i
zuerst auf 0
dann 2
,4
,...,10
gesetzt wird, zwischen jedem Schritt werden die unter dem Befehl stehenden Befehle, die eingerückt sind wiederholt.
Dieser Befehl überprüft ob eine Bedingung erfüllt ist und wenn dem so ist werden die drunter stehenden eingerückten Befehle ausgeführt.
Dieser Befehl eignet sich Um eine Abfolge mehrerer Befehle in einem Befehl zusammen zu fassen.
Dieser Befehl lässt denn Roboter geradeaus fahren, s
gibt die Geschwindigkeit an in der der Roboter fährt und muss durch eine Zahl zwischen 14
(alles kleinere würde dem Motor Schaden) und 100
ersetzt werden (bei einer vollen 9v Batterie sollte 80
vollkommen ausreichend sein)
Dieser Befehl lässt denn Roboter sich nach Links drehen, s
gibt die Geschwindigkeit an in der sich der Roboter dreht und muss durch eine Zahl zwischen 14
(alles kleinere würde dem Motor Schaden) und 100
ersetzt werden (bei einer vollen 9v Batterie sollte 80
vollkommen ausreichend sein)
Dieser Befehl lässt denn Roboter sich nach Rechts drehen, s
gibt die Geschwindigkeit an in der sich der Roboter dreht und muss durch eine Zahl zwischen 14
(alles kleinere würde dem Motor Schaden) und 100
ersetzt werden (bei einer vollen 9v Batterie sollte 80
vollkommen ausreichend sein)
Dieser Befehl lässt denn Roboter rückwärts fahren, s
gibt die Geschwindigkeit an in der der Roboter fährt und muss durch eine Zahl zwischen 14
(alles kleinere würde dem Motor Schaden) und 100
ersetzt werden (bei einer vollen 9v Batterie sollte 80
vollkommen ausreichend sein)
Dieser Befehl lässt denn Roboter anhalten.
Dieser Befehl lässt denn Roboter langsam auf eine Zielgeschwindigkeit beschleunigen, s
gibt die Zielgeschwindigkeit an auf die der Roboter beschleunigt und muss durch eine Zahl zwischen 41
(für alles kleinere müsste man den Befehl umschreiben) und 100
ersetzt werden (bei einer vollen 9v Batterie sollte 80
vollkommen ausreichend sein)
Dieser Befehl lässt denn Roboter langsam von seiner aktuellen Geschwindigkeit auf eine Zielgeschwindigkeit abbremsen, j
gibt die aktuelle Geschwindigkeit an und muss manuell korrekt eingestellt werden und s
gibt die Zielgeschwindigkeit an auf die der Roboter abbremst und muss durch eine Zahl zwischen 15
(für alles kleinere würde denn Roboter zum anhalten bringen um die Motoren zu Schonen) und einer kleineren Zahl als die aktuelle Geschwindigkeit ist ersetzt werden
Sollten noch weitere Fragen bestehen bin ich unter diesem Link erreichbar: https://github.com/Veicm/robot_control/issues (auf "new issue" drücken)
In Arbeit
In Arbeit
In Arbeit
coming soon