Mission 6

Mission 6

Gratuliere, du bist hiermit in der sechsten und letzten Mission angekommen! Hast du Lust zum Schluss noch einen eigenen Roboter zu bauen und zu programmieren? Dann los! Aber unser Rover ist kein gewรถhnlicher Roboter, denn er kann Hindernissen ausweichen!

Rover

Ziel

Bei Mission 6 wird ein Roboter gebaut, der selbststรคndig fรคhrt und dabei Hindernissen ausweichen kann. Er ist mit einem Sensor ausgestattet und nimmt gleichzeitig seine Umgebung wahr. Damit findet er mit Leichtigkeit seinen Weg auch durch das schwierigste Labyrinth.

Klicke auf den Pfeil rechts fรผr Materialien!

Materialien

Fรผr diese Mission brauchst du folgende Materialien:

  • BBC micro:bit V2
  • Micro-USB-Kabel
  • Rover-Bauteile: Rรคder, Platine mit Batterie, Ultraschallsensor und Stรผtzelement
  • Computer mit Internetzugang
  • Kreuzschraubenzieher
  • verschiedene Gegenstรคnde fรผr das Labyrinth, z.B. Schachteln, Mappen oder Holzklรถtze (siehe Foto)

Wenn du alles vor dir liegen hast, kann es schon los gehen!

Viel SpaรŸ!

Bauanleitung

Schritt 1

Zunรคchst bereitest du die Reifen fรผr unseren Rover vor. Jeder Rover hat zwei Reifen. Ein Reifen besteht aus einer Felge und ihrem Gummireifen. Ziehe im ersten Schritt den Gummireifen vorsichtig รผber die Felge.

Schritt 2

Nun mรผssen die Reifen am Kรถrper unseres Rovers angebracht werden. Siehst du die zwei blauen Bauteile auf der Rรผckseite deines Rovers? Sie sind mit jeweils drei Kabeln mit der Platine deines Rovers verbunden.

Dabei handelt es sich um zwei Servomotoren, die mit Motoren vergleichbar sind, die fรผr Industrieroboter verwendet werden. Dieses Bauteil wandelt elektrische Energie in Bewegung um. Der Rover nutzt sie, um sich fortzubewegen.

Schritt 3

Befestige nun das Rad am Servomotor.

Pass auf! Das Rad lรคsst sich nur auf einer Seite mit dem Motor verbinden. Stecke dafรผr das grรถรŸere Loch in der Mitte in den weiรŸen Kontakt des Motors.

Fixiere das Rad mit einer Schraube am Motor, damit es sich in Bewegung nicht mehr lรถst.


Wiederhole diesen Schritt nun fรผr das zweite Rad!

Schritt 4

Damit der Rover nicht gegen die Wand fรคhrt, ist auf seiner Vorderseite ein Ultraschall-Sensor befestigt.

Dieser benutzt ein รคhnliches Orientierungssystem wie Fledermรคuse im Dunkeln. Anstatt mit den Augen zu sehen, senden sie Gerรคusche aus. Durch das Echo wissen sie, wie weit Dinge von ihnen entfernt sind.

Schritt 5

Der Rover soll geradeaus sehen kรถnnen und muss gestรผtzt werden. Dafรผr befestigst du das schwarze Stรผtzelement auf der Unterseite des Rovers.

Hinter dem Sensor befinden sich zwei Lรถcher.

Stecke das Stรผtzelement an den Kรถrper des Rovers entlang des Sensors. Am einfachsten geht das, wenn du zuerst einen Stift in das Loch drรผckst. Die Stifte haben ihre richtige Position erreicht, wenn es Klick macht. Wenn das etwas schwierig ist, frage einen Erwachsenen, der dir hilft.

Schritt 6

Der Rover ist bereit und kann nun programmiert werden.

Programmierung

Jetzt kannst du deinen Rover programmieren. Er soll lernen, geradeaus zu fahren, ohne an Hindernisse zu stoรŸen.

Schritt 1

Gehe zuerst in die Kategorie โ€žVariablenโ€œ und erstelle eine neue Variable mit dem Namen โ€žGrenzeโ€œ. Sie steht fรผr die Entfernung zu einem Hindernis, ab der dein Rover ausweicht.

Ziehe dann den Block โ€žsetze Grenze aufโ€œ in die Klammer โ€žbeim Startโ€œ. Gib dann im weiรŸen Feld die Zahl โ€ž5โ€œ ein. Das bedeutet, dass sich der Rover einem Hindernis nur solange nรคhert, bis er 5 cm (Zentimeter) davon entfernt ist.


missimo-Tipp

Du kannst mit der Entfernung experimentieren. ร„ndere sie und beobachte, was geschieht!

Schritt 2

Du brauchst noch eine zweite Variable. Nenne diese Variable โ€žEntfernungโ€œ. Das ist der Wert, den der Sensor des Rovers misst. Dieser Wert sagt dir, wie weit das nรคchste Hindernis entfernt ist. Dieser Wert รคndert sich beim Fahren stรคndig. Ziehe die Variable โ€žEntfernungโ€œ deswegen in die Schleife โ€ždauerhaftโ€œ.

Schritt 3

Nun steuerst du zum ersten Mal die Servomotoren des Rovers. Damit sie spรคter richtig funktionieren, musst du sie zuerst in Startposition bringen. Gehe dafรผr in die Kategorie โ€žRoverโ€œ und hole dir zweimal den Block โ€žStoppe Servo linksโ€œ. Ziehe die beiden Blรถcke wieder in die Klammer โ€žbeim Startโ€œ.

Die beiden Servomotoren deines Rovers mรผssen einzeln gesteuert werden. ร„ndere dazu den unteren Block auf โ€žrechtsโ€œ.

Schritt 4

Der Rover weiรŸ nun, was er beim Start machen soll. Als nรคchstes bringst du ihm bei, dass er immer geradeaus fahren soll, auรŸer wenn er ein Hindernis erkennt. Da der Rover in Bewegung ist, benutzt er seinen Sensor stรคndig. Deswegen brauchst du jetzt die Klammer โ€ždauerhaftโ€œ aus der Kategorie โ€žGrundlagenโ€œ.

Nun fragst du den Rover nach der Entfernung zum nรคchsten Hindernis, die er mit seinem Sensor misst. Dieser Wert bekommt die Variable โ€žEntfernungโ€œ. Hole dazu aus der Kategorie โ€žVariablenโ€œ den Block โ€žsetze Entfernung auf 0โ€œ und ziehe ihn in die Klammer โ€ždauerhaft“.

Derzeit ist der Wert der Variable โ€ž0โ€œ. Um die Entfernung zum nรคchsten Hindernis in Zentimeter (cm) zu messen, brauchst du den Block โ€žmesse Entfernung in cmโ€œ aus der Kategorie โ€žRoverโ€œ. Ziehe den Block in das weiรŸe Feld mit der โ€ž0โ€œ.

Schritt 5

Dein Rover soll nun wissen, ob er geradeaus fahren oder einem Hindernis ausweichen muss. Dazu brauchst du eine Bedingung aus der Kategorie โ€žLogikโ€œ. Ziehe die Klammer โ€žwenn wahr dannโ€œ unter den letzten Block.

Schritt 6

Der Rover soll die beiden Variablen โ€žEntfernungโ€œ und โ€žGrenzeโ€œ vergleichen. Der Rover soll so lange geradeaus fahren, bis die Entfernung zum Hindernis grรถรŸer ist als 5 cm. Ziehe dafรผr einen eckigen Vergleich aus der Kategorie โ€žLogikโ€œ in das richtige Feld der Bedingung.

Als nรคchstes kommt die Variable โ€žEntfernungโ€œ in das erste weiรŸe Feld des Vergleichs. Die Variable โ€žGrenzeโ€œ kommt in das zweite weiรŸe Feld. ร„ndere das Zeichen in der Mitte von โ€ž=โ€œ zu โ€ž>โ€œ.

Wenn alles fertig ist, weiรŸ der Rover, dass die Bedingung wahr ist, sobald die Entfernung zum Hindernis grรถรŸer ist, als die Grenze.

Schritt 7

Drehung der Rรคder

Nun programmierst du die Bewegung der Rรคder. Dazu brauchst du wieder zweimal den Block โ€žServo links lรคuft mit 0 Prozentโ€œ aus der Kategorie โ€žRoverโ€œ. Ziehe sie in die erste Klammer der Bedingung. Danach รคnderst du noch den zweiten Block auf die Einstellung โ€žrechtsโ€œ, weil der Rover zwei Reifen hat. Dein Code sollte nun so aussehen:

Schritt 8

Geradeaus:

Rad 1 = links = positive Zahl
Rad 2 = rechts = negative Zahl

Beachte: Die Motoren sind spiegelverkehrt am Rover montiert. Soll der Rover geradeaus fahren, mรผssen sich beide Rรคder in die selbe Richtung drehen. Wie du auf dem Bild erkennen kannst, musst du dazu den rechten Motor auf einen negativen Wert einstellen.

Im nรคchsten Schritt lernst du, wie man die Geschwindigkeit von 0 % auf 40 % erhรถht.

Schritt 9

Wie kannst du nun die Geschwindigkeit der Servomotoren bestimmen? Die schnellste Geschwindigkeit wรคre 100 oder -100 Prozent. Stelle die Werte auf 40 und -40 Prozent. Das bedeutet, dass beide Servos mit 40 Prozent der schnellsten Geschwindigkeit fahren.

Beachte: Es kann manchmal vorkommen, dass ein Servomotor sich langsamer bewegt als der andere. Das fรผhrt dazu, dass der Rover nicht geradeaus fรคhrt. Wenn das so ist, kannst du die Werte so anpassen, dass sich die Rรคder gleichmรครŸig drehen.


missimo-Tipp

Du kannst mit der Geschwindigkeit experimentieren. Ist die Zahl grรถรŸer, fรคhrt dein Rover schneller!

Schritt 10

Nun muss der Rover noch wissen, wie lang er die Servomotoren einschalten soll. Hole dir dafรผr den Block โ€žpausiere (ms) 100โ€œ aus der Kategorie โ€žGrundlagenโ€œ und stelle die Pause auf 200 ms (Millisekunden).

Der erste Teil der Bedingung ist nun fertig. Der Rover fรคhrt weiter geradeaus, wenn die Entfernung zum nรคchsten Hindernis grรถรŸer ist als 5 cm.

Schritt 11

Jetzt musst du dem Rover nur noch beibringen, Hindernisse zu umfahren. Er soll also wissen, was er machen soll, wenn die Variable โ€žEntfernungโ€œ kleiner als die Variable โ€žGrenzeโ€œ ist. Dafรผr baust du jetzt den zweiten Teil der Bedingung.

Fรผr ein Ausweichmanรถver benรถtigst du wieder zweimal den Block โ€žServo links lรคuft mit 0 Prozentโ€œ. Ziehe sie in den zweiten Teil der Klammer. Stelle den unteren Block wieder auf โ€žrechtsโ€œ. Hรคnge auch hier wieder eine Pause von 200 ms an.

Schritt 12

Zur Wiederholung: Wenn der Rover nach vorne fahren soll, dann drehen sich beide Rรคder in die gleiche Richtung, also nach vorne. Die Prozentzahlen sind aber unterschiedlich, also einmal negativ und einmal positiv.

Damit der Rover sich dreht, mรผssen sich die zwei Rรคder in unterschiedliche Richtungen bewegen. Das bedeutet, ein Rad dreht sich nach vorne und das andere rรผckwรคrts. Die Prozentzahl ist aber gleich, beide sind positiv.

Drehung:

Rad = links: positive Zahl
Rad = rechts: positive Zahl

Schritt 13

Stelle fรผr eine Drehung im unteren Teil der Bedingung beide Werte auf 40 Prozent.Dein Code sollte nun so aussehen:

Schritt 14

Zum Schluss soll der Rover noch einen kurzen Moment stehen bleiben, bevor er den Code von vorne durchgeht. So kann er die Entfernung genau messen und hat genug Zeit zum Nachdenken.

Dafรผr holst du dir wieder zweimal den Block โ€žStoppe Servo linksโ€œ aus der Kategorie โ€žRoverโ€œ. Ziehe die beiden direkt unter die Bedingung. Stelle einen der beiden Blรถcke auf โ€žrechtsโ€œ ein. Hole dir jetzt noch den Block โ€žpausiere (ms) 100โ€œ aus der Kategorie โ€žGrundlagenโ€œ. Damit weiรŸ der Rover, wie lange er stehen bleiben soll. Platziere ihn am Ende deines Codes. Diesmal musst du den Wert โ€ž100โ€œ nicht verรคndern.

Schritt 15

Herzlichen Glรผckwunsch! Dein Rover ist fertig programmiert. Dein Code soll nun so aussehen. Kontrolliere am Besten nochmal, ob alles passt!

Schritt 16

Zur Erklรคrung nochmal alles, was du fรผr deinen Rover programmiert hast:

Gratuliere, du hast deinen Rover nun fertig gebaut und programmiert!
Lade dein Programm gleich auf den micro:bit und probiere es aus!

Schritt 17

Hast du deinen Code auf den micro:bit geladen, dann stecke ihn oben am Rover in den dafรผr vorgesehenen Anschluss.

Du kannst den Rover nun testen! Schalte dazu einfach den Einschaltknopf ein.

Gratuliere zum Bau des Rovers! Auf die Plรคtze, fertig, los!
Du hast jetzt alle Missionen von missimo: Deine Mission Morgen geschafft!


missimo-Tipp

Baue ein Labyrinth fรผr den Rover!

Lernvideo

Hier die Auflรถsung als Editor-Projekt

Du kommst nicht voran?

Versuch es mal mit dem missimo-Glossar!

Du hast noch nicht genug?

Lehrkrรคfte finden hier weiterfรผhrendes Material und Zusatzaufgaben fรผr den Unterricht.