gear
auch ein Gear
-Objekt ist.nicht-blockierend | blockierend | Beschreibung |
---|---|---|
gear.backward() | gear.backward(ms) | fährt rückwärts |
gear.forward() | gear.forward(ms) | fährt forwärts |
gear.left() | gear.left(ms) | dreht links |
gear.right() | gear.right(ms) | dreht rechts |
gear.leftArc(radius) | gear.leftArc(radius , ms) | fährt auf einem Linksbogen (negative Radien bewirken eine Rückwärtsbewegung) |
gear.rightArc(radius) | gear.rightArc(radius , ms) | Rechtsbogen |
gear.setSpeed(speed) | setzt die Geschwindigkeit (Werte zwischen 0 und ungefähr 70 sind überhaupt sinnvoll.) | |
gear.stop() | stoppt das Fahrwerk (nötig nach nicht-blockierenden Befehlen |
Vollständige Dokumentation der Funktionen: http://tigerjython.ch/index.php?inhalt_links=navigation.inc.php&inhalt_mitte=robotik/robotikdoc.html
Zeichnen Sie mit dem Roboter folgende Figur:
Benutzen Sie dazu geeignete Gear
-Funktionen von oben und eine for-Schleife für die 3-fache Wiederholung, z.B.
for i in range(3): # Tu was
Es ist auch möglich, im Simulator einen Lichtsensor zu verwenden. Der Lichtsensor misst die Helligkeit, die Werte liegen zwischen 0 und 1023 (je grösser der Wert, umso heller). Der Lichtsensor muss auch zum Roboter hinzugefügt werden und zwar mit folgenden Zeilen
# Initialisierung ls = LightSensor(SensorPort.S3) robot.addPart(ls) ls.activate(True) # Ausgelesen wird der Sensor im Programm mit v = ls.getValue() # v enthält nun einen Wert zwischen 0 (schwarz) und 1023 (weiss)
Die Initialisierung (aller erste Zeilen) soll nun wie folgt aussehen:
from simrobot import * from random import randrange RobotContext.useBackground("sprites/border.gif") RobotContext.setStartPosition(350 + randrange(50), 250) RobotContext.setStartDirection(135+randrange(90))
Dabei wird ein Hintergrund geladen und die Startposition zufällig gewählt.
Lassen Sie den Roboter so lange vorwärts fahren, bis der Roboter auf weissem Grund steht. Dann soll der Roboter anhalten.