#6 Geometrische Formen

Das Quadrat war ein Kinderspiel, oder? Aber:

Zu deinen Überlegungen aus Aufgabe 5 kommen jetzt zwei neue: Welche Winkel haben unterschiedliche regelmäßige Vielecke und wie blinkt der mBot?

Im besten Fall hast du schon gelernt, wie man die Winkel in regelmäßigen Vielecken berechnet. Zur Steuerung unseres Roboters müssen wir den Mittelpunktswinkel berechnen. Das geht ganz einfach, indem wir die 360 ° eines Vollkreises durch die Anzahl an Ecken dividieren:

Denke an das Quadrat aus der vorherigen Aufgabe. n steht für die Anzahl der Seiten des Vielecks. Verwendest du also VIER, so ergibt die Formel 90 ° für jeden Winkel. Vergiss nicht, die Bewegungen so oft zu wiederholen wie es Ecken gibt.

Das Blinken für den zweiten Teil der Aufgabe erreichst du über Light Emitting Diodes – dort findest du eine schöne Auswahl an Steuerungen für das Licht. Das machst du am besten über eine zweite Schleife in der sich alles fortlaufend wiederholt!

Probiere verschiedene Formen aus und vergiss dabei nicht den Winkel für die jeweilige Figur zu ändern!

Hier findest du eine mögliche Lösung für ein Achteck:

Gratulation, du kannst den mBot mittlerweile ganz genau steuern und mit ihm auch Lichter abspielen. In der nächsten Aufgabe wirst du etwas neues probieren: den Bildschirm am CyberPi.

Hier findest du nochmal einen Überblick der Blöcke, die du für diese Aufgabe verwenden konntest:

#5 Quadrat

Es ist wieder an der Zeit dein bisheriges Wissen zu verknüpfen! Diesmal soll dein mBot eine geometrische Form nachfahren – ein Quadrat mit einer von dir festgelegten Seitenlänge:

Bevor du dich auf die Aufgabe stürzt, kannst du deine Computational Thinking Skills wieder ein wenig üben – diese Fragen helfen dir dabei:

Welche einzelnen Bewegungen muss der mBot machen, um ein Quadrat nachzufahren?

Welchen Winkel braucht der mBot, um die Figur genau abzufahren und wieder zum Startpunkt zu kommen?


Wie kann ich den Code so einfach wie möglich machen?

Versuche die Aufgabe selbstständig zu lösen, du kennst bereits jeden Schritt – baue den Code nur noch richtig zusammen! Du schaffst das! Die Lösung findest du weiter unten!

Hast du es geschafft? Hier findest du nochmal einen möglichen Lösungsweg.

Die erste Frage lässt sich leicht beantworten. Der mBot braucht eigentlich nur zwei Bewegungen, um ein Quadrat nachzufahren: VORWÄRTS und LINKS/RECHTS ABBIEGEN:

Auch die Antwort auf die zweite Frage findest du im Block bereits. Ein Quadrat besteht aus vier Winkeln zu je 90 °. Du könntest diese beiden Codeblöcke also einfach dreimal duplizieren und schon fährt dein mBot im Quadrat. Wir haben aber gelernt, dass das auch einfacher geht, nämlich mit einer Schleife:

Die Schleife wiederholt die beiden Bewegungen viermal und schon hast du dein Quadrat. Vergiss nicht auf unseren Start- und Endblock! Dein fertiges Programm sollte so aussehen:

In der nächsten Aufgabe versuchen wir andere geometrische Formen zu fahren – mach dich bereit!

Hier findest du nochmal einen Überblick der Blöcke, die du für diese Aufgabe verwenden konntest:

#4 Dreh dich!

Den mBot geradeaus fahren zu lassen ist schön und gut, aber sollte ein Roboter nicht auch in der Lage sein sich zu drehen? Diese Aufgabe zeigt dir wie das geht!

Auch hier kennst du bereits einen Teil der Aufgabe. Jetzt soll der Roboter aber am Ende der Bewegung nach rechts schauen. Die Aufgabe sagt dabei etwas von 90 ° (Grad) – warum brauchen wir plötzlich Mathematik, um den Roboter zu steuern? Ganz einfach, die Angabe des Winkels ermöglicht es uns, den mBot genau auszurichten. Stell dir vor er soll nicht komplett nach links oder nach rechts fahren, sondern benötigt feine Korrekturen, um einer Linie zu folgen – dafür benötigen wir den Winkel. Das Diagramm hilft dir zu verstehen, wie du den mBot über Winkel ausrichten kannst:

Den Block den du dazu brauchst findest du – wie auch den Befehl zum geradeaus fahren – unter MBOT2 CHASSIS:

Du siehst, dass du hier die Richtung und den Winkel einstellen kannst. Füge den Block an der richtigen Stelle ein – dein Programm sollte so aussehen:

Probiere den Code aus und teste auch andere Winkel – vielleicht kannst du den Roboter jetzt schon ein wenig zum Tanzen bringen? Dieser Block ist ein wichtiger Schritt für weitere Bewegungen mit dem mBot 2! Merke ihn dir gut und nutze die Grafik, wenn du dich nicht mehr an die richtigen Winkel erinnern kannst!

Hier findest du nochmal einen Überblick der Blöcke, die du für diese Aufgabe verwenden konntest:

#3 Wiederholungen mit Schleifen

Bewegungen und Töne sind mit dem mBot jetzt kein Problem mehr für dich! Aber was passiert, wenn wir wollen, dass der mBot seine Aufgaben auch wiederholt? Hier kommen Schleifen ins Spiel – sie sind ein wichtiger Bestandteil jeder Programmiersprache!

Wir werden eine Schleife verwenden, um diese Aufgabe zu lösen – sie sollte dir bereits bekannt sein:

Überraschung! Die Aufgaben, die dein mBot wiederholen soll kennst du bereits! Jetzt stellt sich aber die Frage, WIE wir sie wiederholen können. Eine Möglichkeit ist es den Code zu duplizieren und zweimal einzufügen:

Der Roboter wird machen, was du von ihm möchtest, aber stell dir vor, du hast ein Programm, in dem etwas zehn, fünfzehn oder sogar hundert Mal wiederholt werden soll! Das kann schnell unübersichtlich werden und ein Programm, das schwer zu lesen ist, wird dir schneller Probleme bereiten als eines, in dem du schnell erkennst was passiert!

In den Kategorien versteckt sind ein Block, mit dem du eine Schleife – also einen Codeblock erstellst, der sich beliebig oft wiederholt und du so genau STEUERN kannst was passiert. Versuche ihn zu finden und baue dein Programm um!

Wenn du genau gelesen hast, wirst du schnell erkannt haben, dass sich der gesuchte Block im Bereich STEUERUNG befindet:

In diesen Block schiebst du alle anderen Befehle, die du wiederholt haben möchtest – das weiße Feld erlaubt dir festzulegen, WIE OFT wiederholt wird.

Dein fertiger Code sollte so aussehen. Probiere ihn aus und lass dich dreimal begrüßen! Achte darauf, dass du wirklich 150 cm Platz hast, damit der mBot nicht in eine Wand fährt!

Schleifen werden dich in deiner Karriere als Software Developer immer wieder begleiten – es gibt auch andere Arten mit denen du festlegen kannst BIS WANN die Aufgabe wiederholt wird. Diese Schleifen wirst du später noch kennenlernen!

Hier findest du nochmal einen Überblick der Blöcke, die du für diese Aufgabe verwenden konntest:

#2 Sag Hallo!

Nachdem du jetzt weißt, wie du den mBot geradeaus fahren lässt, ist es an der Zeit eine andere Funktion auszuprobieren: Ton. Der Roboter lässt dich einfache Nachrichten abspielen, aber du kannst auch selbst Aufnahmen machen oder sogar Soundeffekte oder Noten nutzen. Die folgende Aufgabe ist dazu ein leichter Einstieg:

Den ersten Teil der Aufgabe kannst du jetzt schon selbst programmieren – du weißt ja bereits, wie du den mBot geradeaus steuerst. Wie sagt er aber „Hallo“? Suche dazu in den Kategorien nach einem Bereich, der etwas mit Ton zu tun hat!

Wenn du richtig gesucht hast, findest du bei AUDIO einen passenden Block:

Füge ihn in deinen Code zum geradeaus Fahren ein. Wenn du möchtest, kannst du auch weitere Soundeffekte einbauen. Dein fertiger Code sollte zumindest so aussehen:

Probiere ihn am mBot aus und freue dich darüber, dass der Roboter mit dir spricht und dich mit Musik unterhält! Auch diese Funktion kannst du dir für zukünftige Projekte merken – dein Wissen, das du immer wieder einsetzen kannst, wächst mit jedem Block!

Hier findest du nochmal einen Überblick der Blöcke, die du für diese Aufgabe verwenden konntest:

#1 Erste Schritte – vorwärts fahren

Aller Anfang ist leicht und so du kannst deine ersten Programme für den mBot 2 mit wenigen Blöcken erstellen!

Gehe dazu auf die Entwicklungsoberfläche von makeblock und füge deinen mBot über das Plus-Symbol auf der linken Seite hinzu.

Wähle im neuen Fenster dein mBot-Modell – du wirst vermutlich mit dem mBot 2 arbeiten.

Jetzt wählst du die Verbindung aus. Wenn du mit der Tablet- oder Smartphone-App arbeitest, kannst du dich direkt verbinden. Bist du auf einem Computer, wechselst du am besten zur direkten Verbindung und wählst Bluetooth- oder Kabelverbindung aus.

Wenn die Verbindung hergestellt ist, kannst du schon mit der ersten Aufgabe loslegen:

Deinen mBot in eine Richtung zu bewegen, ist nur eine Frage von drei Blöcken! Bevor du nach diesen suchst hilft es dir vielleicht zu überlegen, wie dein Programm genau funktionieren soll:

Wann startet der mBot mit der Bewegung?

Wie weiß der mBot, dass er genau 50 cm fahren soll?

Was passiert, nachdem die Vorwärtsbewegung abgeschlossen ist?

Für die erste Frage bietet dir die Entwicklungsoberfläche unter EREIGNISSE ein paar Möglichkeiten. Versuchen wir es mit dem Block:

Die zweite Frage führt dich zur Kategorie MBOT2 CHASSIS. Versuche selbst einen passenden Block zu finden, bevor du weiterliest – die Blöcke bieten dir viele Möglichkeiten die Aufgabe zu lösen, ein bestimmter Befehl hilft uns aber sie punktgenau zu erfüllen! Bist du bereit? Hier ist der passende Block:

Abschließend wollen wir dem mBot sagen, dass seine Aufgabe erledigt ist und das Programm beendet werden kann. Versuche auch hier wieder einen passenden Block zu finden, bevor die die Lösung ansiehst. Du findest ihn unter STEUERUNG:

Dein fertiges Programm sollte jetzt so aussehen – war doch gar nicht so schwer, oder?

Merke dir für zukünftige Aufgaben, dir das ‚Problem‘ in kleine Schritte aufzuteilen und dich nur auf das Wichtige zu fokussieren. Ab jetzt weißt du auch schon, wie du den mBot bewegst – du kannst dieses Wissen also in den späteren Aufgaben wieder anwenden und mit anderen Befehlen verbinden. Diese Art zu Denken und an Probleme heranzugehen nennt man Computational Thinking!

Gratulation, du hast deinen ersten Code zur Steuerung eines Roboters geschrieben! Gehe zu Aufgabe 2 und versuche auch diese Übung zu lösen!

Hier findest du nochmal einen Überblick der Blöcke, die du für diese Aufgabe verwenden konntest:

mBot 2 x BRG Gröhrmühlgasse

Führen Robotik, Coding und der Einsatz digitaler Medien wirklich zu einer Verblödung der Schüler*innen, hindern Kreativität sowie soziale Fähigkeiten und zerstören in Zukunft Arbeitsplätze? Wer so denkt, sollte besser nochmal die Schulbank drücken! Ein Projekt am BRG Gröhrmühlgasse zeigt, wie Computational Thinking mit dem mBot 2 Lernende auf die Zukunft vorbereitet!

Wer hat sich selbst nicht schon gefragt, wie ein Roboter tut, was er tut und ob Maschinen in Zukunft Menschen in der Arbeitswelt ersetzen werden? Im Zuge der Talenteförderung beschäftigen sich die Schüler*innen am BRG im Kurs Robotik für Anfänger:innen mit diesen Fragen und setzen sich das Ziel, einfache Programme zur Steuerung der mBot 2 Roboter zu erstellen, die vom Education Innovation Studio der Pädagogischen Hochschule Niederösterreich für dieses Projekt zur Verfügung gestellt werden. Als fester Bestandteil des Schulkonzepts legt das BRG den Fokus auf die individuelle Förderung und Entfaltung der persönlichen Stärken der Schüler*innen und unterstützt sie dabei, diese Fähigkeiten fächerübergreifend und produktorientiert wahrzunehmen – Kreativität, Kommunikation und Kollaboration inklusive.

Ausgehend vom Starten eines Programms über einen Tastendruck erlernen die Schüler*innen die Steuerung, den Einsatz von Ton, Licht und Bild sowie das „Zeichnen“ geometrischer Formen durch die Bewegungen des Roboters. Ein Highlight ist dabei der Einsatz der Sensoren des mBot 2. Die Jungforscher*innen programmieren den Ultraschallsensor, um Abstände zwischen Roboter und Hindernissen zu messen und diesen auszuweichen, wie auch den RGB-Sensor, um Farben,  Linien oder Buchstaben zu erkennen und selbstständig nachzufahren. Was sich zunächst wie eine Spielerei oder der Start eines automatisierten Logistikzentrums anhört, lässt die Schüler*innen aber über Zusammenhänge zwischen Anforderungen an den Roboter und dessen Interaktion mit der Umwelt nachdenken. Welche Befehle müssen so in Schleifen wiederholt und welche Situationen über bedingte Anweisungen verzweigt werden? Welche Informationen müssen in Variablen gespeichert werden, um Motoren und Sensoren punktgenau zu steuern? Wie können diese Konzepte genutzt werden, um die Sustainable Development Goals (SDGs) – die Ziele der nachhaltigen Entwicklung – der Vereinten Nationen umzusetzen und somit Technik in Einklang mit dem Bedürfnis nach einer besseren Welt zu bringen?

Das Hineinschnuppern in die Welt der Robotik und Programmierung bietet den Lernenden die Möglichkeit sich intensiv mit Computational Thinking auseinanderzusetzen und durch die aufbauenden Aufgaben Probleme zu zerlegen, Muster zu erkennen, das Wesentliche zu abstrahieren und letztendlich als Algorithmus – eine Schritt-für-Schritt-Anleitung – auszudrücken. Das Trainieren dieser Fähigkeiten stellt dabei auch die Vorbereitung der Schüler*innen auf die Herausforderungen der VUCA-Welt, eine Welt voller Schnelllebigkeit, Unsicherheit, Komplexität und Mehrdeutigkeit, dar, durch die  sie zukünftig sowohl im Arbeitsalltag als auch im Privatleben navigieren werden müssen. Kommunikation, Kollaboration, kritisches Denken und Kreativität bilden dabei die vier wichtigsten Fähigkeiten im 21. Jahrhundert, um sich zeitgenössischen Transformationen – nicht nur in der Sphäre der Technik – stellen zu können.

Weiterführendes Material

Tutorial zu Befehlen, Sensoren und komplexeren Aufgaben
Aufgabenkarten mit Hilfestellungen zu benötigten Blöcken
Buchstabenkarten zum Nachfahren mit dem 4-fach RGB-Sensor