DU LERNST HIER... |
|
MUSTERBEISPIELE |
Beispiel 1: Fahren und abbiegen Der Roboter soll zuerst vorwärts fahren, dann links abbiegen und danach wieder ein kurzes Stück vorwärts fahren.
from callibot import * forward() delay(2000) left() delay(550) forward() delay(2000) stop() Der Drehwinkel, welchen der Roboter in 550 Millisekunden zurücklegt ist von der Unterlage und insbesondere auch vom Ladezustand der Batterien abhängig. Wenn sich der Roboter zu lansam bewegt und nur um einen kleinen Winkel dreht, muss du die Batterien wechseln. Teste das Programm auch im Simulationsmodus. Hier dreht der Roboter imme genau um 90°. |
from callibot import * forward() delay(4000) backward() setLED(1) delay(3000) setLED(0) delay(1000) stop() |
from callibot import * setSpeed(30) leftArc(0.2) delay(5000) rightArc(0.2) delay(5000) stop() |
MERKE DIR... |
Für die Steuerung des Roboters stehen die folgende Befehle zur Verfügung:
Bei der Roboterprogrammierung musst du in Zuständen denken. Der Befehl forward() versetzt den Roboter in eine Vorwärtsbewegung. Während die Motoren in diesem Zustand sind, kann der Microprozessor Befehle an andere Aktoren erteilen. Ein laufendes Programm kannst du jeder Zeit abbrechen, indem du die Stromversorgung mit dem blauen Schalter hinten auf dem Roboterchassis ausschaltest. Du kannst alle Beispiele auch im Simulationsmodus ausführen. Um ein Programm zu starten, klickst du anstelle des Robotik-Buttons auf den grünen Run-Pfeil. Willst du im Grafikfenster die Roboterspuren anzeigen lassen, fügst du nach der Importzeile folgende Zeile ein: |
ZUM SELBST LÖSEN |
|
ZUSATZSTOFF: MOTOREN UND LEDs EINZELN STEUERN |
Die Befehle forward(), left() usw. steuern das ganze Fahrwerk, das aus zwei Motoren besteht. Man kann aber auch die einzelnen Motoren einschalten und ihre Geschwindigkeit regeln. Mit motL.rotate(speed) wird der linke Motor in die Vorwärtsbewegung versetzt und rotiert mit der Geschwindigkeit speed. Für die positiven speed-Werte rotiert der Motor vorwärts, bei negativer Werten rückwärts und für speed = 0 hält der Motor an. Entsprechend funktioniert der Befehl motR.rotate(speed) für den rechten Motor. |
Beispiel 5: Leds einzeln ein - und ausschalten Mit den Befehlen setLED(1) und setLED(0) kannst du beide LEDs gleichzeitig ein- und ausschalten. Du kannst die LEDs auch einzeln ansprechen: setLEDLeft(1) schaltet die linke LED ein setLEDLeft(0) schaltet die linke LED aus setLEDRight(1) schaltet die rechte LED ein setLEDRight(0) schaltet die rechte LED aus
from callibot import * setLEDLeft(1) delay(2000) setLEDLeft(0) setLEDRight(1) delay(2000) setLEDRight(0) |
ZUM SELBST LÖSEN |
|