# Programmieren mit dem Calliope - mini # Einführung # Erste Schritte ## Start
1\. Programmierumgebung aufrufen | Um mit dem Calliope-mini programmieren zu können, benötigst Du eine Programmierumgebung, in der Du dem Calliope mit einem Programm versorgen kannst. Diese Umgebung heißt Open Roberta Lab und Du findest Sie hier: [https://calliope.codingkidz.de](https://calliope.codingkidz.de) |
Folien | [Lernkarte\_Grundlagen\_V01.00.pptx](https://calliope.codingkidz.de/wiki/attachments/7) |
Anleitung | [Bauplan\_Daumenkino.docx](https://calliope.codingkidz.de/wiki/attachments/5) [Bauplan\_Daumenkino.pdf](https://calliope.codingkidz.de/wiki/attachments/6) |
Daumkino Vorlagen | [Vorlage Daumenkino.docx](https://calliope.codingkidz.de/wiki/attachments/4) [Vorlage Daumenkino.pdf](https://calliope.codingkidz.de/wiki/attachments/3) [Vorlage\_Daumenkino\_12.pdf](https://calliope.codingkidz.de/wiki/attachments/2) |
[Daumenkino\_Smiley.hex](https://calliope.codingkidz.de/wiki/attachments/90) | |
Name | Programm | Beschreibung |
Würfel | [Würfel\_einfach.xml](https://calliope.codingkidz.de/wiki/attachments/70) [Würfel\_einfach.hex](https://calliope.codingkidz.de/wiki/attachments/72) | Spiele das Programm auf Deinen Calliope. Drücke die Taste A und dir wird einen eine Zahl zwischen 1 und 6 als Ziffer angezeigt . |
[Würfel.xml](https://calliope.codingkidz.de/wiki/attachments/71) [Würfel.hex](https://calliope.codingkidz.de/wiki/attachments/73) | Spiele das Programm auf Deinen Calliope. Drücke die Taste A und dir wird einen Würfelziffer in der typischen Punkt-Optik angezeigt. | |
Schere, Stein, Papier | [](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/bildschirmfoto-2025-06-01-um-11-17-05.png) [SchereSteinPapier.xml](https://calliope.codingkidz.de/wiki/attachments/66) [SchereSteinPapier.hex](https://calliope.codingkidz.de/wiki/attachments/67) | Spiele das Programm auf zwei Calliopes. Schüttet den Calliope und Du bekommst zufällig Schere, Stein oder Papier angezeigt. Spiele gegen einen Freund oder anderen Calliope. Wer gewinnt häufiger? Mensch oder Calliope? |
Papier/Stein/Schere mit Schummeln | [SchereSteinPapier\_cheating.xml](https://calliope.codingkidz.de/wiki/attachments/68) [SchereSteinPapier\_cheating.hex](https://calliope.codingkidz.de/wiki/attachments/69) | Spiele das Programm auf zwei Calliopes. Schüttet den Calliope und Du bekommst zufällig Schere, Stein oder Papier angezeigt. Wenn Du beim Start Deines Calliopes jedoch die B-Taste drückst, dann piept der Calliope kurz und Du bist unbesiegbar. |
Name | Beschreibung / Link |
Kommunikation mit anderen Calliopes | [Kommunikation](https://calliope.codingkidz.de/wiki/books/programmieren-mit-dem-calliope-mini/page/kommunikation "Kommunikation"), |
**Besonderheiten:** Senden und Empfangen sind für den Programmfluss nicht blockierend. Das bedeutet, dass eine Nachricht von Sender im Fire-and-Forget Prinzip übertragen wird. Dabei erfolgt keine Prüfung ob die Nachricht tatsächlich beim Empfänger angekommen ist. Der Empfang von Nachrichten ist ebenfalls nicht blockierend. Das heißt, dass der Empfänger den Empfangspuffer ausliest. Sind dort Nachricht enthalten, dann wird die älteste ausgegeben und aus dem Puffer gelöscht. Ist der Empfangspuffer leer, dann wird eine leere Nachricht ausgegeben.
### Beispiel [](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-05/bildschirmfoto-2025-05-31-um-12-08-22.png)Name | Programm | Beschreibung |
Zahlen Senden und Empfangen | [Zahlen\_SendenEmpfangen.xml](https://calliope.codingkidz.de/wiki/attachments/62) [Zahlen\_SendenEmpfangen.hex](https://calliope.codingkidz.de/wiki/attachments/63) | Das Programm auf die 2-n Calliopes spielen. 1. Die Empfänger werden durch Drücken der Taste B gestartet. Der Calliope zeigt ein E auf dem Display und eine grüne Lampe an. Nun der der Calliope bereit, Nachrichten zur empfangen. 2. Der Sender wird durch Drücken der Taste A gestartet. Der Calliope zeigt ein S auf dem Display und eine rote Lampe an. Nach nochmaligem Drücken der Taste A sende der Calliope die Zahlen 1,2,3,4,5 an alle Empfänger. 3. Die Empfänger zeigen ebenfalls die Zahlensequenz 1-5 an. |
Channel Hopping Ping-Pong | [Channel-hopping-liste.xml](https://calliope.codingkidz.de/wiki/attachments/64) [Channel-hopping-liste.hex](https://calliope.codingkidz.de/wiki/attachments/65) | Das Programm wird auf zwei Calliopes gespielt. 1. Ping - der erste Calliope wird durch Drücken der Taste A gestartet. 2. Pong - zweite Calliope durch Drücken der Taste B. Beide Calliope tausche nun zyklisch die ID des nächsten Kommunikationskanals aus, auf dem Sie die Nachrichten senden und empfangen. Der Kanal wird von beiden Calliope auf dem Display angezeigt. Beide Calliopes sind versetzt zueinander sowohl Sender als auch Empfänger. Das grüne Licht des Senders wechselt zwischen den beiden Calliopes hin und her. (Ping-Pong) |
Name | Beschreibung / Link |
Fernbedienung | Steuerung eines Calli:Bot durch eine Calliope Funk Fernbedinung Link: [8 - Calli:Bot Fernbedienung](https://calliope.codingkidz.de/wiki/books/calliope-mini-programmieren-kurs/page/callibot-6-fernbedienung "8 - Calli:Bot Fernbedienung") |
Fake - Papier/Stein/Scheere | Steuerung eines Calliope Papier/Stein/Scheere Spiels bei dem immer gewonnen oder verloren wird Link: [2 - Calliope Zufallsspiele](https://calliope.codingkidz.de/wiki/books/calliope-mini-programmieren-kurs/page/calliope-2-zufallsspiele "2 - Calliope Zufallsspiele") |
Beschreibung | |
Beschreibung | |
Name | Programm | Beschreibung |
Name | Beschreibung | |
Name | Beschreibung / Link |
Name | Powerpoint | Druckdatei |
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 Parcoure | siehe Bespiele | [Linefollower-Spinnennetz\_A0.pdf](https://calliope.codingkidz.de/wiki/attachments/103) [Linefollower-Spinnennetz\_A4.pdf](https://calliope.codingkidz.de/wiki/attachments/104) |
Schritt | Beschreibung | Details |
Vorbereitung | - A0 - Powerpoint Beispiele laden - neue Folien anlegen - leere Seite (Template) kopieren | A0 ist automatisch eingestellt: Siehe **Seite einrichten** [](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 | [](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 | [ ](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/2xpimage.png)[](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/bildschirmfoto-2025-06-07-um-18-31-31.png) | |
Parcoure komplettieren | Weitere Formen - Linien - Rechtecke - Kreise - Elipsen auswählen, platzieren und formatieren. | [](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** | [](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/bildschirmfoto-2025-06-07-um-18-44-38.png) |
Datei Parcoure ausdrucken | Die 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. | [](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/bildschirmfoto-2025-06-08-um-07-35-51.png) |
Name | Beschreibung / 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") |
Name | Programm | Beschreibung |
Parcours - Spinnennetz - Labyrinth | [](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/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-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 anbringen | Abstandssensor mit extra Kabel uns Montageset | [](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/img-7676.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 - Fernbedinung | Innerhalb 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 |
Name | Programm | Beschreibung |
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) |
Name | Beschreibung / 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") |
Name | Programm | Beschreibung |
Name | Beschreibung / Link |
Nr | Farbe | R | G | B | W |
1 | weiss | 255 | 255 | 255 | 255 |
2 | rot | 255 | 0 | 0 | 255 |
3 | gelb | 0 | 0 | 176 | 255 |
4 | grün | 0 | 176 | 0 | 255 |
5 | blau | 176 | 176 | 0 | 255 |
6 | lila | 176 | 0 | 0 | 255 |
7 | türkis | 0 | 0 | 224 | 255 |
xml | hex | |
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) |
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.
### BeispielimplementierungProgramm | Code | Beschreibung |
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. |
Code | Hex | Beschreibung | |
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 |
[Fange\_Maulwurf.hex](https://calliope.codingkidz.de/wiki/attachments/89) | |