Ein Calliope mini als Sender überträgt einem zweiten Calliope mini die Information, welche der beiden Tasten gedrückt sind. Mit zwei Tasten sind vier verschiedene Zustände möglich. Jedem Zustand wird eine Zahl zugeordnet, die laufend gesendet wird.
| Taste A | Taste B | Zahl |
|---|---|---|
| nicht gedrückt | nicht gedrückt | 0 |
| gedrückt | nicht gedrückt | 1 |
| nicht gedrückt | gedrückt | 2 |
| gedrückt | gedrückt | 3 |
Der Programmausschnitt zeigt das Senden der ersten beiden Zustände. Der Rest muss noch ergänzt werden. Beachte: Der Kanal darf im Umkreis nur einmal vergeben sein.
Am zweiten Calliope mini werden die übertragenen Zahlen angezeigt. Erst wenn das funktioniert, können dann die Motoren gesteuert werden.
Die Motorsteuerung erfolgt über eine Entscheidung. Die Entscheidung wird über das + zu Beginn der Schleife erweitert.
Die kleine Wartezeit zum Ende des Programms ist notwendig, damit das Programm ordentlich funktioniert. Erklärt werden kann das nicht.
Zum Übertragen der Informationen über Bluetooth und zum Ansteuern des Calli:bot müssen zwei Erweiterungen geladen werden. Dazu wird das Blockmenü über Fortgeschritten erweitert und über Erweiterungen die Blöcke nachgeladen. Danach findet man die Einträge Funk und Calli:bot im Blockmenü.
Ein Calliope mini als Sender überträgt einem zweiten Calliope mini die Information, welche der beiden Tasten gedrückt sind. Mit zwei Tasten sind vier verschiedene Zustände möglich. Jedem Zustand wird eine Zahl zugeordnet, die laufend gesendet wird.
| Taste A | Taste B | Zahl |
|---|---|---|
| nicht gedrückt | nicht gedrückt | 0 |
| gedrückt | nicht gedrückt | 1 |
| nicht gedrückt | gedrückt | 2 |
| gedrückt | gedrückt | 3 |
Der Programmausschnitt zeigt das Senden der ersten beiden Zustände. Der Rest muss noch ergänzt werden. Beachte: Der Kanal darf im Umkreis nur einmal vergeben sein.
Am zweiten Calliope mini werden die übertragenen Zahlen angezeigt. Erst wenn das funktioniert, können dann die Motoren gesteuert werden.
Die Motorsteuerung erfolgt über eine Entscheidung. Die Entscheidung wird über das + am Ende der Schleife erweitert.
Im der Praxis reagiert der Calli:bot im Gegensatz zum Programm aus dem OpenRobertaLab etwas zeitverzögert.
Damit der Calli:bot vor- und rückwärts fahren kann, muss eine weitere Information übertragen werden. Die beiden Tasten sind mit den vier Möglichkeiten bereits ausgeschöpft. Der Calliope mini kann aber durch seinen Lagesensor die Neigung erkennen.
Der Programmteil des Senders schickt je nach Ausrichtung ein Wertepaar zum Empfänger. Das Paar besteht immer aus dem Schlüsselwort "richtung" und einer 0 oder einer 1.
Im Empfänger wird eine Variable mit Namen richung je nach empfangenem Wert auf 0 oder 1 gesetzt. Im Motorteil muss dann an Hand dieser Variablen entschieden werden, ob der Motor vor- oder rückwärts dreht.
Ein Calliope mini als Sender überträgt einem zweiten Calliope mini die Information, welche der beiden Tasten gedrückt sind. Mit zwei Tasten sind vier verschiedene Zustände möglich. Jedem Zustand wird eine Zahl zugeordnet, die laufend gesendet wird.
| Taste A | Taste B | Zahl |
|---|---|---|
| nicht gedrückt | nicht gedrückt | 0 |
| gedrückt | nicht gedrückt | 1 |
| nicht gedrückt | gedrückt | 2 |
| gedrückt | gedrückt | 3 |
Der Programmausschnitt zeigt das Senden der ersten beiden Zustände. Der Rest muss noch ergänzt werden. Beachte: Der Kanal darf im Umkreis nur einmal vergeben sein.
Am zweiten Calliope mini werden die übertragenen Zahlen angezeigt. Erst wenn das funktioniert, können dann die Motoren gesteuert werden.
Wie in Eck' bloß nicht an beschrieben, wird das Modul für den Calli:bot eingebunden.
Nun werden nicht laufend die Motoren mit Informationen versorgt, sondern nur dann, wenn sich der Zustand ändert. Dazu wird nach einer empfangegen Nachricht
Bei jeder neuen Nachricht wird nun wieder geprüft, ob sie der aktuellen richtung entspricht.
Damit der Calli:bot vor- und rückwärts fahren kann, muss eine weitere Information übertragen werden. Die beiden Tasten sind mit den vier Möglichkeiten bereits ausgeschöpft. Der Calliope mini kann aber durch seinen Lagesensor die Neigung erkennen.
Bisher hat der Sender nur Ziffern übertragen. Vielleicht ist schon aufgefallen, dass bei der Übertragung nur Strings gesendet werden, Zahlen sind nicht möglich. Um nun mehr Informationen vom Sender zum Empfänger zu übertragen, kann man zur Vereinfachung der Auswertung auf dem Sender strukturierte Strings senden.
Der Sender sendet nicht nur Ziffern, sondern in Abhängigkeit von den gedrückten Könpfen m:0, m:1 usw. Das m steht für Motor. Der Empfäger zerlegt den String am Doppelpunkt und erhält ein Array, das aus zwei Elementen besteht.
h=nachricht.split(':')
In h[0] steht ein m und in h[1] die jeweilige Ziffer. (h für Hilfsvariable)
Wenn man das so eingearbeitet hat, sollte der Calli:bot wie bisher fahren, es ändert sich also erstmal nichts.
Der Sender überträgt mit r:0 oder r:1 jeweils eine Information zur Richtung. Dazu wird der Beschleunigungssensor ausgelesen.
Das Empfängerprogramm bedarf eines größeren Umbaus. An die Motoren muss jetzt eine neue Information geschickt werden, wenn sich die gedrückten Knöpfe oder die Richtung geändert haben. Deshalb wird noch eine Variable neu definiert, die auf 1 gesetzt wird, wenn sich entweder die Richtung oder die Motoren geändert haben. Ist sie 1, werden die Motoren neu versorgt. Die Variable neu wird dann auf 0 gesetzt, damit die Motoren nicht laufend angesprochen werden.
Der Calli:bot reagiert sofort auf die Tasten und Neigung des Senders.Da er unten noch vier RGB-LEDs hat, kann man ihn noch beleuchten. Grün lässt sich z.B. mit callibot2.rgbAll(0,255,0) einschalten.