Hauptmenü TMS Robotik AG

02 Abstand messen

Der mBot hat vorne einen Ultraschallsensor. Damit kannst Du den Abstand zu einem Objekt (z.B. Wand, anderer Roboter, Person) messen.

Der Sensor muss mit einem Kabel an die mBuild-Buchse des Roboters angeschlossen werden, damit er funktioniert. Es ist egal, ob das Kabel an der linken oder rechten Sensorseite eingesteckt wird.

Verbindung des Ultraschallsensor

Schreibe ein erstes Programm, das die gemessene Entfernung auf dem Bildschirm ausgibt.

Wähle dazu die Ultraschall-Erweiterung (Ultrasonic Sensor 2) Ultrasonsic Sensor 2

Code für Entfernungsanzeige

Das Programm läuft in einer endlosen Schleife (forever). Alle Befehle innerhalb der Schleife werden wiederholt, bis Du das Programm stoppst. Während der Roboter die Entfernung misst, leuchten kurz die LEDs an der Rückseite blau auf.

Erkundungsfahrzeug mBot 2 Extension mBot 2 Extension Labyrinth ★ ☆ ☆

Mit dem Abstandssensor kann sich der Roboter selbstständig einen Weg durch unbekanntes Gebiet suchen.

Schreibe ein Programm, das den Roboter vorwärts fahren lässt, wenn sich vor ihm kein Hindernis befindet. Der Roboter soll drehen, wenn er in 30 cm oder weniger ein Objekt erkennt. Genau wie im Beispiel oben, sollen die LEDs an der Rückseite des Roboters kurz aufleuchten, während der Roboter die Entfernung misst.

Dazu brauchst Du die mBot 2 Shield Ultrasonsic Sensor 2 die Shield- und die Ultraschall-Erweiterung.

Verwende einen Wenn-Dann-Sonst-Block (If-Then-Else) in deinem Programm und baue ihn in eine Endlosschleife (forever) ein.

Wenn-Dann-Sonst-Block

Dieser Block funktioniert wie eine Abzweigung: Wenn die Bedingung Abstand > 30 cm wahr ist, dann wird der obere Teil des Blocks ausgeführt, sonst wird der untere Teil durchlaufen.

Baue in die beiden Lücken geeignete Bewegungsblöcke ein. Der mBot hat zwei unterschiedliche Arten von Blöcken, die die Bewegung steuern:

  1. Blöcke, die das Programm aufhalten, bis der Block fertig ist.
    wartende Bewegungsblöcke
    Dadurch kann der Roboter, während er sich bewegt, nichts anderes machen.

  2. Nicht-blockierende Blöcke, bei denen die Bewegung gestartet wird und das Programm sofort weiter läuft.
    schnelle Bewegungsblöcke
    Hiermit kannst Du (fast) gleichzeitig andere Dinge tun (z.B. den Ultraschallsensor abfragen). Diese Blöcke sind oft in Endlosschleifen sinnvoll.

Verwende für das Programm des Erkundungsfahrzeugs nur nicht-blockierende Blöcke.

Links und Rechts mBot 2 Extension mBot 2 Extension Labyrinth ★ ☆ ☆

Erweitere dein Programm, so dass der Roboter zufällig nach links oder rechts dreht, wenn er auf ein Hindernis stößt.

Random-Block

Benutze dazu den Random-Operator. Er liefert eine Zufallszahl in einem wählbaren Bereich.