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.
![](https://missimo.at/wp-content/uploads/2024/02/DSC_5348-1024x681.jpg.webp)
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
Wie du bereits in vorherigen Missionen gelernt hast, benรถtigen der micro:bit und andere Bauteile Strom. Stecke dazu drei โAAAโ Batterien in das Batteriefach. Dabei musst du darauf achten, dass du diese auch korrekt einlegst. An den Batterien ist jeweils ein Plus- und ein Minuszeichen vorhanden, genau wie in den Batteriefรคchern. Die beiden zusรคtzlichen Batterien findest du in der Hรผlle deines
micro:bit (Battery-Pack).
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 hast noch nicht genug?
Lehrkrรคfte finden hier weiterfรผhrendes Material und Zusatzaufgaben fรผr den Unterricht.