DU LERNST HIER... |
wie du Touchsensoren dafür einsetzen kannst, Hindernisse zu erkennen und entsprechend zu reagieren. |
WIE FUNKTIONIERT EIN TOUCHSENSOR |
|
|
https://www.tinkercad.com/things/0bfM0UhJQOk (Stossstange) |
MUSTERBEISPIELE |
from callibot import * #RobotContext.useObstacle("sprites/field1.gif", 250, 250) forward() repeat: ts = tsValue() if ts == 1: backward() delay(1500) left() delay(550) forward() delay(100) Du kannst daa Programm auch im Simulationsmodus ausführen. Dazu musst du die Zeile RobotContext useObstacle("sprites/field1.gif, 250, 250)
aktivieren. Das Hintergrundbild field1.gif hat einen transparenten Hintergrund und wird mit der Angabe der Koordinaten im Grafikfenster poitioniert.
from callibot import * #RobotContext.useObstacle("sprites/racetrack.gif", 250, 250) #RobotContext.setStartPosition(420, 460) setSpeed(30) forward() repeat: tsL = tsLeftValue() tsR = tsRightValue() if tsL == 1: backward() delay(250) right() delay(200) forward() elif tsR == 1: backward() delay(250) left() delay(200) forward() delay(100) Für die Simulation aktivierst du die beiden RobotContext-Zeilen. Das Bild racetrack.gif ist in der TigerJython Bildbibliothek vorhanden. |
MERKE DIR... |
Die Touchsensoren können nur zwei Werte zurückgeben und zwar 1, falls der Sensor gedrückt wurde, sonst 0. Zum Abfragen der Sensorwerte stehen dir drei Befehle zur Verfügung:
|
ZUM SELBST LÖSEN |
|
|
from callibot import * def turnLeft(): ... def turnRight(): ... n = 0 forward() repeat: if tsValue() == 1: backward() ... if n == 0: turnLeft() n = 1 else: turnRight() n = 0 forward() delay(100)
Einige Hintergrundbilder für die Simulation stehen im TigerJython zur Verfügung (siehe "Hilfe/APLU-Dokumentation/Bilderbibliothek").
Du kannst auch eigenes Hintergrundbild erstellen. Es muss 500x500 Pixel gross sein und transparrenten Hintergrund haben. Wenn du das Bild im gleichen Verzeichnis speicherst, in dem sich dein Programm befindet, wird er automatisch in deinem Programm integriert.
RobotContext.useObstacle("myBackground.gif")