Lernziele
  • Kompliziertere vorgegebene Problemstellungen in Teile zerlegen
  • Theoretische Lösungen praktisch mit dem Roboter umsetzen
  • Die Auswirkung von Messfehlern und Bauungenauigkeiten kompensieren können

Arbeitsziel: Der Roboter entkommt aus einer Box und findet den Ausgang in einem sehr einfachen Labyrinth

Die ersten 4 Aufgaben gehören zusammen und führen schrittweise zu einem Programm Entkommen aus der Box.

Aufgabe 1: Bauen der Box

Bauen Sie aus Gegenständen eine Box, die an einer Seite eine Lücke hat. Die Box sollte gross genug sein, dass der Roboter darin ein wenig fahren kann und auch die Lücke gross genug, dass der Roboter gut durchfahren kann. Die Form der Box ist egal, sie sollte aber für den Roboter gut erkennbare Wände haben.

Aus dieser Box soll der Roboter heute entkommen!

Aufgabe 2: Entkommen planen

Nehmen Sie einen Gegenstand in der Grösse des Roboters (nicht den Roboter! Ihre Hand?) und überlegen Sie sich durch Herumfahren in der Box, wie der Roboter aus der Box entkommen könnte. Denken Sie dabei daran, dass der Roboter nur "sehen" kann, was vor ihm liegt. Probieren Sie verschiedene Ausgangspositionen des "Roboters" aus.

Notieren Sie hier, wie der Roboter entkommen kann:

Aufgabe 3: Programm planen

Schreiben Sie Ihren Lösungsplan um in wenn dann ansonsten-Anweisungen.

Beispiel: Wenn der Roboter vorwärts fährt und eine Wand sieht, dann muss er...

Schreiben Sie Ihren Programmplan hier auf:

Aufgabe 4: Entkommen programmieren

Erstellen Sie ein neues Programm Entkommen aus der Box und setzen Sie Ihren Programmplan um in Code.

Laden Sie das Programm auf den micro:bit und testen Sie es.

Nach Entkommen aus der Box wollen wir ein einfaches Labyrinth bauen und den Roboter programmieren, dass er den Weg daraus findet. Die nächsten 5 Aufgaben führen schrittweise zu einem Programm einfaches Labyrinth.

Aufgabe 5: Labyrinth bauen

Bauen Sie aus Gegenständen ein Labyrinth mit folgender einfacher Form: ein gerader Gang mit Start an einem Ende, der nach einem kurzen Stück eine Wand hat und über eine Abzweigung zum Ziel führt.

Achten Sie wieder darauf, dass die Wände für den Roboter gut mit dem Ultraschallsensor erkennbar sind.

Aufgabe 6: Entkommen planen (Teil 1)

Surfen Sie mit dem iPad auf folgende Internetseite: https://jwinf.de/task/1157

Der Roboter dort soll die Flagge erobern - das bedeutet, dass er auf das Feld mit der Flagge fährt.

Ziehen Sie Programmbausteine in das Programmierfeld rechts und lassen Sie das Programm durch Klick auf den Play-Button laufen. Der Anfang ist schon vorgegeben:

Roboter-Programm
wiederhole bis Flagge erobert
  mache

Aufgabe 7: Entkommen planen (Teil 2)

Klicken Sie auf Test 2 und probieren Sie, ob Ihr Programm auch diesen Test bestehen kann. Falls nicht, schreiben Sie das Programm so um, dass es beide Fälle bestehen kann. Falls Sie die Aufgabe nicht lösen können, spicken Sie in der nächsten Aufgabe. Dort sind alle benötigten Bausteine aufgelistet. Einer der Bausteine wird zweimal verwendet.

Warum ist es für unseren Roboter wichtig, dass Ihr Programm beide Testfälle bestehen kann?

Aufgabe 8: Programm planen

Überlegen Sie sich, wie die verschiedenen Programmierbausteine für unseren Roboter umgeschrieben werden können. Notieren Sie hier, wie Sie sie übersetzen:

Programmplan für das LabyrinthProgrammplan für das Labyrinth
  • drehe nach links
  • drehe nach rechts
  • gehe vorwärts
  • falls vor Hindernis mache ... sonst ...

Aufgabe 9: Labyrinth programmieren

Erstellen Sie ein neues Projekt einfaches Labyrinth und setzen Sie Ihren Programmplan um in Code.

Laden Sie das Programm auf den micro:bit und testen Sie es.

Aufgabe 10: Zusatzaufgabe: Schwereres Labyrinth

Klicken Sie auf die 3-Sterne-Version. Bauen Sie ein Labyrinth, bei dem die rote Flagge sich immer in einer Lücke über oder unter dem Gang befindet. Beachten Sie: Ihr Programm muss mit allen Testfällen funktionieren. Planen Sie anschliessend ein Programm, das den Roboter aus dem Labyrinth bringt, egal ob der Ausgang oben oder unten liegt.

Laden Sie das Programm auf den micro:bit und testen Sie es.

Kontrollfragen

  1. Warum soll man bei einem schweren Programm nicht direkt am iPad mit Programmieren loslegen?

  2. Sie haben ein Programm geschrieben und auf der Seite www.jwinf.de getestet. Sie wissen, dass es funktioniert. Aus welchen Gründen kann es sein, dass dasselbe Programm in Wirklichkeit auf dem Roboter nicht läuft?

  3. Im untenstehenden Programm dreht sich der Roboter nicht genau um 90 Grad. Welche Änderung müssen Sie vornehmen, damit er sich weiter dreht? Weniger weit?

beim Start
  motor left → move Forward → at speed 41
  pausiere (ms) 500
  motor left → stop
  1. Betrachten Sie wieder das untenstehende Programm: Der Roboter soll sofort anhalten, wenn er in 10 cm Entfernung eine Wand sieht. Leider fährt er aber noch weiter und stoppt erst in 2 cm Entfernung. Woran kann das liegen? Welche Änderung müssen Sie im Programm vornehmen, damit er schneller stoppt?
dauerhaft
  wenn read ultrasonic sensor cm < 10 dann
    motor all → stop
  ansonsten
    motor all → move Forward → at speed 41