# Roboter - Calli:Bot # Roboter für Calliope mini ### Hardware
Beschreibung
### Besonderheiten
Beschreibung
# Linefollower ### Übersicht Beschreibung ### Beispiel
NameProgrammBeschreibung
### Parcours
Name Beschreibung
### Anwendungsfälle im Kurs
NameBeschreibung / Link
# Linefollower - Parcours entwerfen ### Einleitung Ein Linefollower-Parcours ist eine spannende Möglichkeit, den CalliBot gezielt auf das Folgen einer Linie zu programmieren und sein Verhalten im realen Umfeld zu testen. Mit Hilfe seiner Liniensensoren erkennt der CalliBot schwarze Linien auf hellem Untergrund und folgt ihnen automatisch. Dabei reagiert er auf Kurven, Abzweigungen oder Kreuzungen – je nachdem, wie der Parcours gestaltet ist. Das macht ihn ideal, um spielerisch Sensorik, Programmierlogik und technische Abläufe zu erlernen. Der Linienparcours kann einfach digital in **PowerPoint** gestaltet werden. Dabei wird mit Formen oder Linienwerkzeugen ein schwarzer Linienverlauf auf einem weißen Hintergrund gezeichnet – zum Beispiel als Kurve, Schleife oder Verzweigung. Anschließend kann der Parcours auf mehreren DIN-A4-Seiten ausgedruckt und zusammengesetzt werden. Achte darauf, dass die Linien mindestens 1,5 cm breit sind, damit die Sensoren des CalliBot sie zuverlässig erkennen. So entsteht ein individuell anpassbarer Parcours, der sich leicht verändern, erweitern und mehrfach verwenden lässt. ### Vorlagen
NamePowerpointDruckdatei
A0 - Powerpoint Beispiele[Linefollower-Parcours\_A0.pptx](https://calliope.codingkidz.de/wiki/attachments/102)[Linefollower-Parcours\_A0.pdf](https://calliope.codingkidz.de/wiki/attachments/101)
Spinnennetz Parcouresiehe Bespiele [Linefollower-Spinnennetz\_A0.pdf](https://calliope.codingkidz.de/wiki/attachments/103) [Linefollower-Spinnennetz\_A4.pdf](https://calliope.codingkidz.de/wiki/attachments/104)
### Spinnennetz - Parcours erstellen
SchrittBeschreibungDetails
Vorbereitung- A0 - Powerpoint Beispiele laden - neue Folien anlegen - leere Seite (Template) kopieren A0 ist automatisch eingestellt: Siehe **Seite einrichten** [![Bildschirmfoto 2025-06-07 um 18.26.42.png](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/scaled-1680-/bildschirmfoto-2025-06-07-um-18-26-42.png)](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/bildschirmfoto-2025-06-07-um-18-26-42.png)
Parcours erstellen Unter Menüpunkt **FORMEN:** - Viereck mit abgerundeten Ecken auswählen und platzieren [![Bildschirmfoto 2025-06-07 um 18.36.48.png](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/scaled-1680-/bildschirmfoto-2025-06-07-um-18-36-48.png)](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/bildschirmfoto-2025-06-07-um-18-36-48.png)
Formatierungen: - keine Füllung - Line - einfarbig - Schwarz - 60 Pt. Stärke [![image.png](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/scaled-1680-/2xpimage.png) ](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/2xpimage.png)[![Bildschirmfoto 2025-06-07 um 18.31.31.png](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/scaled-1680-/bildschirmfoto-2025-06-07-um-18-31-31.png)](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/bildschirmfoto-2025-06-07-um-18-31-31.png)
Parcoure komplettierenWeitere Formen - Linien - Rechtecke - Kreise - Elipsen auswählen, platzieren und formatieren. [![Bildschirmfoto 2025-06-08 um 07.27.58.png](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/scaled-1680-/bildschirmfoto-2025-06-08-um-07-27-58.png)](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/bildschirmfoto-2025-06-08-um-07-27-58.png)
Datei speichern und für den Druck vorbereiten.Powerpoint **Datei speichern** und als **PDF exportieren** [![Bildschirmfoto 2025-06-07 um 18.44.38.png](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/scaled-1680-/bildschirmfoto-2025-06-07-um-18-44-38.png)](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/bildschirmfoto-2025-06-07-um-18-44-38.png)
Datei Parcoure ausdruckenDie PDF Datei kann nun mit einem A0-Drucker ausgedruckt werden. Druck-Dienst aus dem Internet - [Plot-Service](https://www.plotplus.de/cad-plotservice/sw-plot-classic/) - ...
Da die wenigsten einen A0-Drucker zu Hause haben, kann man die A0 Datei auch in mehreren A4-Seiten drucken und dann zusammensetzen. Dies gelingt mit dem Acrobat Reader unter Windows im Poster-Druck sehr leicht. Im Menu **Drucken** auswählen - Schrittmarken und Beschriftungen auswählen - Überlappung 20mm einstellen Es werden 25 A4 Seiten ausgedruckt, diese enthalten Markierungen an denen die Seiten gekürzt und zusammengeklebt werden müssen. Viel Spass beim Basteln. [![Bildschirmfoto 2025-06-08 um 07.35.51.png](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/scaled-1680-/bildschirmfoto-2025-06-08-um-07-35-51.png)](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/bildschirmfoto-2025-06-08-um-07-35-51.png)
### Anwendungsfälle im Kurs
NameBeschreibung / Link
Linie folgen[Calli:Bot - 4: Linie folgen - Einzelfahrt](https://calliope.codingkidz.de/wiki/books/calliope-mini-programmieren-kurs/page/callibot-4-linie-folgen-einzelfahrt "Calli:Bot - 4: Linie folgen - Einzelfahrt")
[Calli:Bot - 5: Linie folgen - Gruppenfahrt](https://calliope.codingkidz.de/wiki/books/calliope-mini-programmieren-kurs/page/callibot-5-linie-folgen-gruppenfahrt "Calli:Bot - 5: Linie folgen - Gruppenfahrt")
# Linefollower - Fang den Calli:Bot ! ### Einleitung Auf dem Spiel-Parcours fahren zwei Calli:Bots . Einer ist der Jäger, der andere ein Flitzer! Du steuerst den Jäger, indem Du Ihn auf dem Parcoure nach links und rechts lenkst, um den Flitzer zu fangen. ##### So geht’s: - Der Jäger muss die anderen Bots **fangen**. - Fangen heißt: Er muss **ganz nah (1 cm)** hinter den Flitzer Bot kommen. ##### Aber Vorsicht! - Wenn sich Bots **berühren**, hat der Jäger verloren. ##### Ziel des Spiels: - **Der Jäger gewinnt**, wenn er den Flitzer-Bots fängt. - **Die anderen gewinnen**, wenn sie es schaffen, dem Jäger nicht ins Netz zu gehen. ### Materialien
NameProgrammBeschreibung
Parcours - Spinnennetz - Labyrinth [![Bildschirmfoto 2025-06-09 um 15.44.55.png](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/scaled-1680-/bildschirmfoto-2025-06-09-um-15-44-55.png)](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/bildschirmfoto-2025-06-09-um-15-44-55.png) [![Bildschirmfoto 2025-06-09 um 15.46.17.png](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/scaled-1680-/bildschirmfoto-2025-06-09-um-15-46-17.png)](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/bildschirmfoto-2025-06-09-um-15-46-17.png) [Linefollower - Parcours entwerfen](https://calliope.codingkidz.de/wiki/books/programmieren-mit-dem-calliope-mini/page/linefollower-parcours-entwerfen "Linefollower - Parcours entwerfen")
Abstandssensor hinten anbringenAbstandssensor mit extra Kabel uns Montageset [![IMG_7676.jpeg](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/scaled-1680-/img-7676.jpeg)](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/img-7676.jpeg) [![IMG_7674 (1).jpeg](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/scaled-1680-/img-7674-1.jpeg)](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/img-7674-1.jpeg)
Callibot - Flitzer (mit Abstandssensor hinten verbaut)Nach dem Starten 5s Sekunden warten, dann wird das Programm im Flitzer-Modus gestartet. Der Flitzer folgt der Linie des Parcours mittig so schnell er kann.
Callibot - Jäger Innerhalb ersten 5s Sekunden nach dem Start die Taste A (links) drücken, dann wird das Programm im Jäger-Modus gestartet. Der Flitzer folgt der Linie des Parcours mittig so schnell er kann. Empfängt von der Fernbedienung jedoch Steuerungssignale (vor, links, rechts, stop), die er befolgt.
Calliope - FernbedinungInnerhalb ersten 5s Sekunden nach dem Start die Taste B (rechts) drücken, dann wird das Programm im Jäger-Modus gestartet. Steuerung des Jägers: - Taste A drücken - links abbiegen - Taste B drücken - rechts abbiegen - Beide Tasten (A+B) drücken - anhalten - nichts drücken - gerade aus fahren
### Programm
NameProgrammBeschreibung
Callibot Fange auf einem Linienparcours[Callibot\_Linefollower\_Fange.xml](https://calliope.codingkidz.de/wiki/attachments/110) [Callibot\_Linefollower\_Fange.hex](https://calliope.codingkidz.de/wiki/attachments/111) Modus auswählen - Flitzer = 5s warten - Fänger = Taste A (links) drücken - Fernbedienung = Taste B (rechts) drücken Start - Flitzer flitzt sofort los - Fänger steht und wartet auf Signal von Fernbedienung - Fernbedienung startet mit drücken der Taste A (links) Neustart: - Flitzer fährt los, wenn Taste A (links) gedrückt wird - Fänger wartet wieder auf das Startsignal der Fernbedienung - Fernbedienung startet mit drücken der Taste A (links)
### Anwendungsfälle im Kurs
NameBeschreibung / Link
Linefollower[Calli:Bot - 4: Linie folgen - Einzelfahrt](https://calliope.codingkidz.de/wiki/books/calliope-mini-programmieren-kurs/page/callibot-4-linie-folgen-einzelfahrt "Calli:Bot - 4: Linie folgen - Einzelfahrt") [Calli:Bot - 5: Linie folgen - Gruppenfahrt](https://calliope.codingkidz.de/wiki/books/calliope-mini-programmieren-kurs/page/callibot-5-linie-folgen-gruppenfahrt "Calli:Bot - 5: Linie folgen - Gruppenfahrt")
Fernbedienung[Calli:Bot - 6: Fernbedienung](https://calliope.codingkidz.de/wiki/books/calliope-mini-programmieren-kurs/page/callibot-6-fernbedienung "Calli:Bot - 6: Fernbedienung")
Tanzen[Calli:Bot - 3: Tanzen](https://calliope.codingkidz.de/wiki/books/calliope-mini-programmieren-kurs/page/callibot-3-tanzen "Calli:Bot - 3: Tanzen")
# Fernbedienung ### Übersicht Beschreibung ### Beispiel
NameProgrammBeschreibung
### Anwendungsfälle im Kurs
NameBeschreibung / Link
# Calli:Bot Farben Die RGB Lampen des Calli:bot unterstützen nicht das Farbschema von OpenRoberta. Daher müssen die Farben mit den folgenden RGB-Codes gemischt werden.
NrFarbeRGBW
1weiss255255255255
2rot25500255
3gelb00176255
4grün01760255
5blau1761760255
6lila17600255
7türkis00224255
Beispielprogramm für Farben
xmlhex
Farben in Liste iterieren[Farben\_in\_Liste\_iterieren.xml](https://calliope.codingkidz.de/wiki/attachments/26)[Farben\_in\_Liste\_iterieren.hex](https://calliope.codingkidz.de/wiki/attachments/27)
Manuell über Farben iterieren[Callibot\_FarbIterator.xml](https://calliope.codingkidz.de/wiki/attachments/28)[Callibot\_FarbIterator.hex](https://calliope.codingkidz.de/wiki/attachments/29)
# UUID - so finden sich die CalliBots von ganz allein ### Einleitung In vielen Calliope-Projekten wird der Funkkanal, über den Geräte miteinander kommunizieren, fest im Programmcode vorgegeben. Das funktioniert zwar in einfachen Szenarien, stößt aber an Grenzen, sobald mehrere Geräte flexibel miteinander interagieren sollen – zum Beispiel in wechselnden Gruppen oder wenn Geräte dynamisch hinzukommen. **Das zentrale Problem:** Die Geräte können nicht eindeutig identifiziert oder gezielt angesprochen werden. Eine skalierbare, individuelle Kommunikation ist auf diese Weise nicht möglich. **Die Lösung ist ein dynamisches Verfahren zur Funkverbindung:** Ein zentraler Controller (Sendegerät) erkennt zur Laufzeit individuelle Teilnehmer (Empfangsgeräte) einer Gruppe und weisst Ihnen eindeutige IDs zu. Statt einen festen Funkkanal zu nutzen, handeln Controller und Teilnehmer während der Kommunikation dynamische Kanäle aus. **Die Vorteile:** - Geräte müssen nicht vorab manuell konfiguriert werden. - Alle Teilnehmer sind individuell ansprechbar. - Das System ist skalierbar, flexibel und ideal für offene oder sich ändernde Gerätegruppen, z. B. im Unterricht oder bei Projekten mit mehreren Teams. 👉 Wie dieses Verfahren genau abläuft, zeigt die folgende Schritt-für-Schritt-Anleitung. --- ### Vorbereitung - Jeder Calliope vergibt sich selbstständig eine zufällige ID zwischen 10 und 100. - Alle Geräte verwenden zunächst denselben allgemeinen Funkkanal am Anfang der Kommunikation (bspw. 9). --- ### Schritt 1: Teilnehmer aktivieren - Die Teilnehmer (Calliopes 2 bis n) werden durch Drücken der Taste B in den Empfangsmodus versetzt. - Sie warten nun auf dem allgemeinen Kanal auf Nachrichten. --- ### Schritt 2: Controller aktivieren - Der zentrale Controller (Calliope 1) wird durch Drücken der Taste A in den Sendemodus versetzt. - Er sendet seine eigene ID (C-ID) über den allgemeinen Kanal. - Danach wechselt der Controller in seinen eigenen Kommunikationskanal (C-ID) und wartet dort auf Antworten. --- ### Schritt 3: Antwort der Teilnehmer - Die Teilnehmer empfangen die C-ID des Controllers im allgemeinen Kanal. - Sie wechseln nun in den Kanal des Controllers (C-ID) und senden dort ihre eigene ID (T-ID). - Anschließend warten sie auf eine Antwort vom Controller. -

Wichtig: Da der Controller nicht alle Antworten der Teilnehmer zeitgleich empfangen kann, machen die Teilnehmer vor dem Senden eine kurze Pause, deren Länge zwischen 100 und 1000 ms ist.

--- ### Schritt 4: Bestätigung der Teilnehmer - Der Controller empfängt die T-IDs der Teilnehmer und trägt diese in eine Teilnehmerliste - Er wartet bis er alle Antworten erhalten hat. - Zur Bestätigung sendet er alle T-IDs von seiner Teilnehmerliste nacheinander zurück an die Teilnehmer. - Im letzten Schritt sendet er ein ENDE Signal auf seinem Kanal --- ### Schritt 5: Reaktion der ausgewählten Teilnehmer - Alle Teilnehmer, die Ihre T-ID auf dem Kanal des Controllers empfangen haben, wurden vom Controller bestätigt. Diese Teilnehmer wechseln in Ihren eigenen Kommunikationskanal (T-ID) und warten auf weitere Nachrichten vom Controller - Alle anderen Teilnehmer empfangen das ENDE Signal. Dadurch ist klar, dass die Bestätigung durch den Controller nicht geklappt hat. Diese Teilnehmen versuchen es erneut und springen zurück zu Schritt 1 und warten auf Nachrichten vom Controller. --- ### Schritt 6: Übermittlung der UUID - Der Controller sende jedem Teilnehmern auf der Teilnehmerliste eine eindeutige ID auf dem Kanal des jeweiligen Empfängers. - Die Teilnehmer, empfangen die UUID auf Ihrem Kanal und zeigen diese an. --- ### Ergebnis - Die Teilnehmer haben nun eine eindeutige ID und sind von 1 bis n durchnummeriert. ---

Eindeutigkeit: Wenn zwei oder mehr Teilnehmer zufällig die gleiche ID gewählt haben, dann werden sie dennoch erfolgreich eingerichtet. Da die möglichen IDs im Bereich von 10–100 liegen, ist die Wahrscheinlichkeit einer Kollision jedoch sehr gering. Das Verfahren kann im *Schritt 4 - Bestätigung der Teilnehmer* entsprechen erweitert werden, dass nur T-IDs angenommen werden, die eindeutig sind.

### Beispielimplementierung
ProgrammCodeBeschreibung
UID zuweisen[uid\_fuer\_callibots7.xml](https://calliope.codingkidz.de/wiki/attachments/58) [uid\_fuer\_callibots7.hex](https://calliope.codingkidz.de/wiki/attachments/59) Das Programm auf alle Geräte der Gruppe spielen und die Empfänger (Callibots) starten. Nach 5s erscheint auf allen Callibots ein Herz. Danach den Controller starten und die Taste A drücken. Der Controller und die Callibots zählen die Synchronisationsschritte bis auf 1 runter und stellen dann die UUID auf dem Display da. Durch Drücken der Taste A am Controller wird die Empängerliste (UUIDs - T-IDs Pärchen) angezeigt. Durch Drücken der Taste A am Empänger wird die Eingen UUID und T-ID angezeigt.
# Programme
CodeHexBeschreibung
Calli:bot Farben
7 Grundfarben[Callibot\_10Farben.xml](https://calliope.codingkidz.de/wiki/attachments/20)[Callibot\_10Farben.hex](https://calliope.codingkidz.de/wiki/attachments/21)Callibot mit 7 Grundfarben
Zufallsfarben[Callibot\_Zufallsfarben.xml](https://calliope.codingkidz.de/wiki/attachments/24)[Callibot\_Zufallsfarben.hex](https://calliope.codingkidz.de/wiki/attachments/25)Callibot zeigt 7 Grundfarben in einer zufälligen Reihenfolge an
alle Farben[Callibot\_alleFarben.xml](https://calliope.codingkidz.de/wiki/attachments/22)[Callibot\_alleFarben.hex](https://calliope.codingkidz.de/wiki/attachments/23)Callibot mit allen Farben der Farbpalette Hinweis: die meisten Farbpattenfarben können die RGB LEDs nicht anzeigen
Calli:bot Tanzen[tanzen.xml](https://calliope.codingkidz.de/wiki/attachments/19)[tanzen.hex](https://calliope.codingkidz.de/wiki/attachments/18)Zufallsbeleuchtung und -bewegung bei Lautstärke
Linefollower
einfach[Linefollower\_einfach.xml](https://calliope.codingkidz.de/wiki/attachments/42)[Linefollower\_einfach.hex](https://calliope.codingkidz.de/wiki/attachments/43)Calli:Bot folgt der schwarzen Linie des Parcours
einfach mit 3 Modi[Linefollower\_einfach\_3Modi.xml](https://calliope.codingkidz.de/wiki/attachments/54)[Linefollower\_einfach\_3Modi.hex](https://calliope.codingkidz.de/wiki/attachments/55)Calli:Bot folgt der schwarzen Linie des Parcours - Modus 1: Calli:bot leuchtet weiss und folgt der Linie mittig - Modus 3: Calli:bot leuchtet rot und folgt der Linie links - Modus 3: Calli:bot leuchtet grün und folgt der Linie rechts
Abstand[Linefollower\_mit\_Abstand.xml](https://calliope.codingkidz.de/wiki/attachments/48)[Linefollower\_mit\_Abstand.hex](https://calliope.codingkidz.de/wiki/attachments/49) [Linefollower\_mit\_Abstand\_langsam.hex](https://calliope.codingkidz.de/wiki/attachments/53) Beide Calli:Bots folgten der schwarzen Linie des Parcours - Calli:Bot1 hat normale Geschwindigkeit - Calli:Bot2 ist langsam und blockiert Calli:Bot1 - Calli:Bot1 reduziert die Geschwindigkeit und hält wenn nötig an.
Überholen[Linefollower\_mit\_Überholen.xml](https://calliope.codingkidz.de/wiki/attachments/145)[Linefollower\_mit\_Überholen.hex](https://calliope.codingkidz.de/wiki/attachments/146)Callibot mit 50% Geschwindigkeit, wenn in den ersten 5s nach dem Start die Taste A (links) gedrückt wird. Beide Calli:Bots folgten der schwarzen Linie des Parcours (mit Überholspur) - Calli:Bot1 hat normale Geschwindigkeit - Calli:Bot2 ist langsamer und blockiert Calli:Bot1 - Calli:Bot1 überholt Calli:Bot2, wenn der Parcours die Möglichkeit zum links abbiegen bietet
Fahren mit Fernbedienung[Callibot\_Fernbedienung\_Fussball\_Kanal5.xml](https://calliope.codingkidz.de/wiki/attachments/112) Kanal anpassen
Sender: Fernbedingung [Callibot\_Fernbedienung\_Fussball\_Kanal5.hex](https://calliope.codingkidz.de/wiki/attachments/113)Modus Fernbedientung - Taste A (links) in den ersten 5s nach Start drücken. Kanal 5 Nachrichten: - stop - waagerecht halten - vor - nach vorn neigen - zurueck - nach hinten neigen - links - linken Knopf drücken - rechts - rechten Knopf drücken - spass - beide Knöpfe gleichzeitig drücken - mit links schiessen - Pin0 - mit rechts schiessen - Pin3
Empfänger: Calli:bot [Callibot\_Fernbedienung\_Fussball\_Kanal5.hex](https://calliope.codingkidz.de/wiki/attachments/113)Modus Callibot - wird automatisch gewählt Kanal 5 Nachrichten: - stop - anhalten - vor - nach vorn fahren - zurueck - nach hinten fahren - links - nach links fahren - rechts - nach rechts fahren - spass - 5s rumhampeln und leuchten - mit links schiessen - ausholen und links schiessen - mit rechts schiessen - ausholen und rechts schiessen