DAS PROJEKT
Jetzt wird uns Edison neue Fähigkeiten zeigen. Wir klatschen und er wird tanzen und die Melodie “Smoke on the water” spielen. Mit zwei Edison Roboter können wir etwas Besonderes machen. Die Roboter werden sich gegenseitig Zeichen geben. Tanz und Musik werden auf Zeichen gestartet und das geht hin und her.
Auch für diese Fähigkeiten benötigt der Roboter Elektronik und Programmierung. Mit seinen Infrarot-LEDs sendet und mit dem Infrarot-Empfänger empfängt Edison Nachrichten. Außerdem besitzt Edison einen Summer/Klatsch-Sensor (Piezoelement) mit dem er ein Klatschen erkennt und Töne erzeugt.
Ein Piezoelement besteht aus einem Kristall. Legt man an diesen Kristall eine elektrische Spannung an, verbiegt sich der Kristall und erzeugt Töne. Wenn man allerdings Druck auf den Kristall ausübt, zum Beispiel mittels Luftdruck beim Klatschen, dann erzeugt der Kristall eine elektrische Spannung.
DEINE MISSION FÜR EINEN EDISON
Erstelle mit EdBlocks ein Programm:
- Lass den Roboter einen Kreis von 360° fahren (normale Geschwindigkeit).
- Dann soll Edison dreimal mit beiden LEDs gleichzeitig blinken.
So haben wir die Kreisfahrt und das Blinken programmiert:
Hinweise zu den Symbolblöcken:
- Wir fahren eine Linkskurve (das Symbol hatten wir schon). Unser Edison braucht für den Kreis ca. 1,55 Sekunden. Das kann bei dir leicht abweichen.
- Für das Blinken verwenden wir nacheinander die Symbole “Turn both LEDs on” (Schalte beide LEDs an) und “Turn both LEDs off” (Schalte beide LEDs aus).
- Da diese An/Aus-Aktion insgesamt dreimal ausgeführt werden soll, setzen wir das Klammersymbol “Loop 3 times” (Schleife dreimal) aus der Kategorie “Control” (Kontrollstruktur) über die LED-Aktionen.
Jetzt wird es musikalisch. Erweitere den oberen Programmteil mit Symbolen für eine Melodie:
- Nach dem Blinken soll Edison die Melodie “Smoke on the water” spielen. Bitte programmiere folgende Noten.
So haben wir unser Programm erweitert:
Hinweise zu den Symbolblöcken:
- Die Symbole für die Noten findest du unter Kategorie “Outputs”. Du stellst die gewünschten Noten über den Pfeil unter dem jeweiligen Notensymbol ein.
Lass uns die Mission mit einem Edison abschließen:
- Der Roboter soll seine Aktionen starten, wenn du einmal klatscht.
- Nach der Melodie soll Edison warten, bis wieder geklatscht wird.
- Das Programm wird solange durchlaufen, bis die viereckige Stopptaste gedrückt wird.
Das ist unser fertiges Programm für die Mission mit einem Edison (edison_tanzmusik_einer.eeb).
Hinweise zu den Symbolblöcken:
Der Roboter soll mit seinen Aktionen starten, wenn einmal geklatscht wird. Das Klatschen ist ein Ereignis, auf das der Roboter wartet. Unter EdBlocks findest du passende Ereignissymbole unter den Kategorien “Wait Until” (Warte bis) und “Start Events” (Startereignisse). Wir haben uns für das Symbol “Wait until 1 clap is detected” (Warte bis einmal Klatschen festgestellt wird) entschieden. Das Symbol haben wir vor die anderen Aktionen gestellt. Wenn du jetzt zum Programmstart die dreieckige Starttaste drückst, wartet Edison, bis du einmal klatscht.
Das Warten auf das Klatschen und die Aktionen soll Edison solange ausführen, bis wir ihn stoppen. Das erreichen wir durch das Klammer-Symbol “Loop forever” (Unendliche Schleife) unterhalb Kategorie “Control” (Kontrollstruktur). Schleifen werden verwendet, um die Anweisungen innerhalb der Schleife zu wiederholen. Hier werden alle Anweisungen innerhalb der Klammer solange wiederholt, bis die Stopptaste des Roboters gedrückt wird.
Mit einem Edison ist deine Mission hier abgeschlossen. Wenn du zwei Edison hast und vielleicht sogar in einem Team arbeitest, dann mach jetzt weiter.
DIE MISSION FÜR ZWEI EDISON
Nun lassen wir zwei Edison wie in dem Video oben tanzen. Die Roboter senden sich dazu gegenseitig Nachrichten zu.
- Edison 1 startet nach einmal Klatschen. Er fährt einen Kreis, blinkt mit beiden LEDs dreimal und spielt seine Melodie. Den Teil hast du oben schon programmiert.
- Jetzt folgt etwas Neues: Edison 1 sendet nach seiner Melodie eine Nachricht an Edison 2 und wartet.
- Edison 2 wartet schon mit leuchtenden LEDs auf die Nachricht von Edison 1. Jetzt ist er dran und fährt seinen Kreis, blinkt mit beiden LEDs dreimal und spielt die Melodie. Dann sendet er eine Nachricht an Edison 1 und wartet.
- Edison 1 startet wieder durch und das geht jetzt hin und her.
Wenn du wissen willst, wie die Sache aussieht, schaue einfach oben unser Video!
Lösungsvorschlag:Hier unser Programm für Edison 1 (edison_tanzmusik_zwei-a.eeb):
Hinweise zu den Symbolblöcken:
Das Symbol “Wait until 1 clap is detected” (Warte bis einmal Klatschen festgestellt wird) ziehen wir vor die Schleife. So wird es nur einmal zu Beginn des Programms ausgeführt.
In die Schleife fügen wir zwei Symbole aus der Kategorie “Outputs” (Ausgaben) ein. Zuerst das Symbol “Send a green message” (Sende eine grüne Nachricht), mit dem Roboter 2 benachrichtigt wird. Danach das Symbol “Wait until a blue message is received” (Warte bis eine blaue Nachricht empfangen wurde). Edison wartet mit seiner Endlosschleife solange, bis er eine blaue Nachricht von Roboter 2 erhält.
So sieht unser Programm für Edison 2 aus (edison_tanzmusik_zwei-b.eeb):
Im Hauptprogramm schaltet Edison 2 seine beiden LEDs in einer Dauerschleife an.
Der Empfang einer grünen Nachricht von Roboter 1 startet ein Unterprogramm. In dem werden die bekannten Aktionen wie Kurvenfahrt, Blinken und Spielen der Melodie ausgeführt. Zum Abschluss des Unterprogramms wird eine blaue Nachricht an Roboter 1 gesendet und das Unterprogramm beendet. Roboter 2 kehrt dann zur Endlosschleife mit leuchtenden LEDs zurück und wird das Unterprogramm wieder starten, wenn er eine grüne Nachricht von Roboter 1 erhält.
Was du bei diesem Projekt lernen kannst:
- Edison kann mit seinem Summer/Klatsch-Sensor ein Klatschen erkennen. In dem Sensor befindet sich ein Piezoelement. Der Luftdruck beim Klatschen erzeugt am Piezoelement eine elektrische Spannung. Dieses elektrische Signal bemerkt das Robotergehirn.
- Der Summer/Klatsch-Sensor kann verschiedene Töne erzeugen. Jeder Ton wird durch eine bestimmte elektrische Spannung am Piezoelement erzeugt.
- Edison Roboter können sich gegenseitig Nachrichten zusenden. Dazu werden die IR-LEDs und der IR-Empfänger verwendet.
- In Edblocks kannst du unterschiedlich auf eine Nachricht reagieren. Bis zum Eintreffen einer Nachricht wartet der Roboter mit dem Ausführen von Aktionen, oder er startet dann ein Unterprogramm.