Ein frei kopier- und anpassbares Lehrmittel von eduskript.org

Lernziele
  • Den Ultraschallsensor auf dem Roboter erkennen können
  • Den Ultraschallsensor auslesen und die Zahl anzeigen können
  • Abhängig vom Wert des Ultraschallsensors unterschiedliche Aktionen durchführen können

Arbeitsziel: Fahren unter Verwendung des Ultraschallsensors: Einem Gegenstand folgen, Stoppen bei Gefahr.

Ein Sensor ist ein Fühler, ein Messgerät. Sensoren sind bei uns im micro:bit selbst und im Roboter verbaut. Bislang haben wir sie noch nicht benutzt, vielleicht haben Sie bei Eingabe aber schon einmal entdeckt, dass es den Befehl wenn geschüttelt gibt. Dieser Befehl benutzt einen Sensor, der die Lage des Geräts im Raum misst. Ihr Handy hat ebenfalls einen solchen Sensor und Sie benutzen ihn ziemlich sicher jeden Tag: Mit seiner Hilfe weiss Ihr Handy nämlich, ob es das Bild hochkant oder quer anzeigen soll.

Der Roboter hat zwei Sensoren: einen Ultraschallsensor und einen Schwarz-Weiss-Sensor. Der Schwarz-Weiss-Sensor erkennt Helligkeitsunterschiede auf dem Boden. Mit Hilfe des Ultraschallsensors kann der Roboter den Abstand zu Objekten messen. Das funktioniert wie beim Echolot in U-Booten und dem Ultraschall von Fledermäusen.

Aufgabe 1: Den Ultraschallsensor des Roboters entdecken

Erstellen Sie ein neues Projekt Ultraschallsensor und schreiben Sie das nebenstehende Programm ab. Laden Sie das Programm anschliessend auf den micro:bit (der micro:bit muss im Roboter eingesteckt sein).

dauerhaft
  Bildschirminhalt löschen
  zeige Zahl read ultrasonic sensor cm
  pausiere (ms) 500

Lassen Sie das Programm laufen. Halten Sie Ihre Hand an unterschiedlichen Positionen vor den Roboter und beobachten Sie die Anzeige. Finden Sie heraus, welcher Teil des Roboters der Ultraschallsensor ist?

Hinweis: Die eingeblendete Zahl gibt den Abstand des Hindernisses zum Ultraschallsensor an.

Aufgabe 2: wenn dann ansonsten mit dem Ultraschallsensor benutzen

Löschen Sie das vorhergehende Programm. Suchen Sie sich dann die passenden Bausteine zusammen und ziehen Sie sie in die Programmierfläche.

Schreiben Sie mit Hilfe der Bausteine ein Programm, das den Wert des Ultraschallsensors ausgibt, aber nur, wenn der Wert kleiner als 10 cm ist. Falls dies nicht der Fall ist, soll der Roboter einen Warnton abspielen.

Hinweis: Den Wert 10 müssen Sie noch an der richtigen Stelle eintragen.

Aufgabe 3: Folge mir!

Erstellen Sie ein neues Projekt Folge mir.

Das Programm ist sehr ähnlich aufgebaut wie das aus Aufgabe 10 im Kapitel Endlosschleifen. Falls der Ultraschallsensor weniger als 10 cm misst, sollen die Motoren eingeschaltet werden. Ansonsten sollen die Motoren gestoppt werden.

Laden Sie das Programm auf den micro:bit und lassen Sie den Roboter fahren. Der Roboter folgt Ihrer Hand, wenn Sie sie vor ihm herführen.

Aufgabe 4: Reaktionszeit einstellen

Probieren Sie im Programm Folge mir unterschiedliche Pausenzeiten aus. Was für einen Einfluss haben sie auf die Reaktionsfähigkeit des Roboters?

Aufgabe 5: Zusatzaufgabe: Folge mir dauerhaft

Der Roboter soll dauerhaft vorwärts fahren. Falls die Distanz zur Hand kleiner als 10 cm ist, soll er schneller fahren, um sie wieder einzuholen. Falls ein Knopf gedrückt wird, soll der Roboter anhalten.

Hinweis: Benutzen Sie für den Teil mit dem Anhalten auf Knopfdruck ein altes Programm.

Aufgabe 6: Alarmanlage

Erstellen Sie ein neues Projekt Alarmanlage.

Wenn sich etwas auf weniger als 10 cm dem Roboter genähert hat, stösst er einen Alarmton aus und fährt rückwärts. Beträgt die Distanz wieder mehr als 10 cm, soll der Roboter anhalten und keinen Laut mehr von sich geben.

Aufgabe 7: Stop bei Gefahr

Erstellen Sie ein neues Projekt Stop bei Gefahr.

Der Roboter soll vorwärts fahren. Sobald er weniger als 15 cm von einem Hindernis entfernt ist, soll er anhalten. Ist das Hindernis nicht (mehr) vorhanden, soll der Roboter wieder vorwärtsfahren.

Aufgabe 8: Zusatzaufgabe: Doppelte Benutzung des Ultraschallsensors

Erstellen Sie ein neues Projekt Folgen mit Gefahr.

Der Roboter soll Ihrer Hand folgen, aber nur wenn sie weniger als 20 cm und mehr als 10 cm entfernt ist. Ist sie weiter als 20 cm weg, soll er schneller fahren, um sie einzuholen. Ist sie weniger als 10 cm entfernt, soll er anhalten.

Aufgabe 9: Umdrehen

Erstellen Sie ein neues Projekt Umdrehen.

Der Roboter soll zwischen zwei Hindernissen ("Wänden") hin und her fahren. Er fährt also vorwärts, bis er ein Hindernis detektiert. Falls dies der Fall ist, dreht er sich um 180°.

Bauen Sie für diese Aufgabe einen kleinen Hindernispark für Ihren Roboter und lassen Sie ihn dazwischen hin und her fahren.

Aufgabe 10: Ausweichen

Erstellen Sie ein neues Projekt Ausweichen.

Der Roboter soll vorwärts fahren. Falls er ein Hindernis detektiert, soll er sich etwas nach rechts drehen und wieder vorwärts fahren.

Bauen Sie für diese Aufgabe einen Hindernispark etwas um. Stellen Sie sicher, dass der Roboter genug Platz zum Manövrieren hat, bevor Sie ihn fahren lassen.

Aufgabe 11: Zusatzaufgabe: Stop bei Knopfdruck

Ändern Sie Ihre Programme so ab, dass der Roboter auf Knopfdruck gestartet und gestoppt werden kann.

Kontrollfragen

  1. Kann der Roboter eine Entfernung zu einem Objekt messen, wenn bloss eines seiner "Augen" abgedeckt ist?
  2. Wieso kann man mit der Zahl hinter pausiere die Reaktionszeit des Roboters einstellen?
  3. In diesem Abschnitt haben wir (abgesehen von Zusatzaufgaben) immer unter dauerhaft programmiert. Das war letzte Woche ein Problem. Warum kann der Roboter heute stehenbleiben, obwohl er unter dauerhaft läuft?
  4. Manche Menschen haben einen Staubsaugerroboter oder einen Rasenmäherroboter zu Hause. Erklären Sie, warum das Programm Ausweichen fast dasselbe tut wie das Programm des Staubsaugerroboters. Was müsste man abändern, damit das Programm genau dasselbe tut?