03.6 Abstand messen
Mit dem Ultraschallsensor kannst Du den Abstand zu einem Objekt (z.B. Wand, anderer Roboter, Person) messen. Baue den Ultraschallsensor vorne an den mBot und schließe ihn mit einem Kabel an die mBuild-Buchse des Roboters an, damit er funktioniert.
Escape
★ ★ ☆
Schreibe ein Programm, das den mBot aus einem unbekannten Raum mit Hindernissen fliehen lässt.
Der mBot startet im markierten Bereich rechts unten. Die Aufgabe ist erfüllt, wenn der Roboter den Raum auf der linken Seite verlassen und dabei keine Hinternisse verschoben hat.
Der mBot soll vorwärts fahren, wenn sich vor ihm kein Hindernis befindet. Er soll zufällig nach rechts oder links drehen, wenn er in 30 cm oder weniger ein Objekt erkennt. Falls ein Objekt in einer Entfernung von 15 cm oder weniger erkannt wurde, soll der mBot rückwärts fahren.
Dazu brauchst Du die
die Shield- und die Ultraschall-Erweiterung.
Lege zwei Variablen an:
- Abstand zum nächsten Objekt (vom Ultraschallsensor) in cm
- Richtung, in die der Roboter ausweicht: rechts (Richtung=1) oder links (Richtung=2)
Verwende einen Wenn-Dann-Sonst-Block (If-Then-Else) in deinem Programm und baue ihn in eine Endlosschleife (forever) ein.
Verwende für das Programm nur den folgenden Bewegungsblock (mit unterschiedlichen Geschwindigkeiten für die Motoren):
Die erste Zahl (EM1) ist die Geschwindigkeit für den linken Motor, die zweite Zahl (EM2) die Geschwindigkeit des rechten Motors. Sie wird negativ angegeben (kleiner 0 = vorwärts, größer 0 = rückwärts). Im Beispiel oben fährt der mBot mit 50 Umdrehungen pro Minute nach vorne.
Tipp: Im Upload-Modus reagiert der mBot schneller auf Hindernisse. Du musst aber dann bei jeder Änderung das Programm neu in den Roboter laden.