Programmieren mit dem Calliope - mini

Einführung

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


 


 

Grundlagen

Grundlagen

Daumenkino

Idee

Vorüberlegungen

Folien Lernkarte_Grundlagen_V01.00.pptx


Umsetzung 

Anleitung

Bauplan_Daumenkino.docx

Bauplan_Daumenkino.pdf

Daumkino Vorlagen

Vorlage Daumenkino.docx

Vorlage Daumenkino.pdf

Vorlage_Daumenkino_12.pdf

Programm

Daumenkino_Smiley.hex


Grundlagen

Zufallszahlen

Übersicht

Zufall bedeutet, dass etwas passiert, ohne dass man genau weiß, was passieren wird. Zum Beispiel, wenn du einen Würfel wirfst, kannst du nicht sagen, welche Zahl oben liegen wird. Es kann eine 1, 2, 3, 4, 5 oder 6 sein – das ist Zufall. Zufall ist also, wenn etwas ganz überraschend oder ungeplant passiert.

Der Calliope mini kann auch „Zufallszahlen“ erzeugen, so wie beim Würfeln. Aber weil ein Computer nicht wirklich überraschen kann, benutzt er eine besondere Art von Rechen-Trick. Er nimmt zum Beispiel Zahlen von seinem Bewegungssensor oder von der Zeit, um zu entscheiden, welche Zahl er als Nächstes zeigt. Diese Zahlen sehen dann zufällig aus, auch wenn sie eigentlich mit einem Trick berechnet sind.

Mit Open Roberta Lab kannst du mit der Zufallszahlen-Funktion deinen Calliope mini als digitalen Würfel programmieren. 

1️⃣ Öffne Open Roberta Lab und wähle dein Gerät: Calliope mini.
2️⃣ Aus dem Menü „Eingabe“ wähle den Block „Wenn Taste A gedrückt“ aus.
3️⃣ Unter „Mathematik“ findest du den Block „Zufallszahl von 1 bis 6“. Dies ist dein Würfelmechanismus.
4️⃣ Aus dem Menü „Aktionen → LED“ nimm den Block „zeige Text“ und füge den Zufallszahl-Block als Parameter ein.

Jetzt zeigt dein Calliope mini jedes Mal, wenn du Taste A drückst, eine zufällige Zahl zwischen 1 und 6 – genau wie bei einem Würfel.Bildschirmfoto 2025-06-01 um 14.21.57.png

Beispiele

Name Programm Beschreibung
Würfel

Würfel_einfach.xml

Würfel_einfach.hex

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

Würfel.hex

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

 

Bildschirmfoto 2025-06-01 um 11.17.05.png

SchereSteinPapier.xml

SchereSteinPapier.hex

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

SchereSteinPapier_cheating.hex

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.

Anwendungsfälle im Kurs

Name Beschreibung / Link
Kommunikation mit anderen Calliopes Kommunikation

Grundlagen

Kommunikation

Überblick

Calliopes senden und empfangen Nachrichten über ein einfaches Funkprotokoll (Nordic EnhancedShockBurst/Gazell). Dafür stellt OpenRoberta Kommunikationsblöcke bereit. Die Kommunikationsteilnehmer müssen den selben Kommunikationskanal gewählt haben und können danach auf diesem Kanal Nachrichten austauschen. Der Calliope mini hat einen kleinen Empfangspuffer, in den empfangene Nachrichten automatisch geschrieben werden. Sender und Empfänger sollten im selben Moment aktiv sein, damit die Nachricht sicher übertragen wird. Eine gesendete Nachricht wird an alle Empfänger (des selben Kommunikationskanals) gleichzeitig übertragen (Broadcast-Verfahren).

Bildschirmfoto 2025-05-31 um 11.48.27.png

Quelle: https://calliope.cc/projekte/funk

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

Bildschirmfoto 2025-05-31 um 12.08.22.png

Name Programm Beschreibung
Zahlen Senden und Empfangen

Zahlen_SendenEmpfangen.xml

Zahlen_SendenEmpfangen.hex

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

Channel-hopping-liste.hex

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)

Inhalte im Kurs

Name Beschreibung / Link
Fernbedienung

Steuerung eines Calli:Bot durch eine Calliope Funk Fernbedinung

Link: 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



Roboter - Calli:Bot

Roboter - Calli:Bot

Roboter für Calliope mini

Hardware


Beschreibung


Besonderheiten


Beschreibung


Roboter - Calli:Bot

Linefollower

Übersicht

Beschreibung

Beispiel

Name Programm Beschreibung
 

 

 

Parcours

Name
Beschreibung
 

 

 

Anwendungsfälle im Kurs

Name Beschreibung / Link


Roboter - Calli:Bot

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

Name Powerpoint Druckdatei
A0 - Powerpoint Beispiele Linefollower-Parcours_A0.pptx Linefollower-Parcours_A0.pdf
Spinnennetz Parcoure

siehe Bespiele

 

Linefollower-Spinnennetz_A0.pdf

Linefollower-Spinnennetz_A4.pdf

Spinnennetz - Parcours erstellen

Schritt Beschreibung Details
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

Parcours erstellen


Unter Menüpunkt FORMEN:

  • Viereck mit abgerundeten Ecken auswählen und platzieren

 


Bildschirmfoto 2025-06-07 um 18.36.48.png

 

Formatierungen: 

  • keine Füllung
  • Line
    • einfarbig
    • Schwarz
    • 60 Pt. Stärke 

 

 

image.png Bildschirmfoto 2025-06-07 um 18.31.31.png

Parcoure komplettieren

Weitere Formen

  • Linien
  • Rechtecke
  • Kreise
  • Elipsen

auswählen, platzieren und formatieren.

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

Datei Parcoure ausdrucken

Die PDF Datei kann nun mit einem A0-Drucker ausgedruckt werden. 

Druck-Dienst aus dem Internet

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

Anwendungsfälle im Kurs

Name Beschreibung / Link
Linie folgen Calli:Bot - 4: Linie folgen - Einzelfahrt

Calli:Bot - 5: Linie folgen - Gruppenfahrt

Roboter - Calli:Bot

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:
Aber Vorsicht!
Ziel des Spiels:

Materialien

Name Programm Beschreibung

Parcours

  • Spinnennetz
  • Labyrinth

Bildschirmfoto 2025-06-09 um 15.44.55.png

 

Bildschirmfoto 2025-06-09 um 15.46.17.png

Linefollower - Parcours entwerfen
Abstandssensor hinten anbringen

Abstandssensor mit extra Kabel uns Montageset

 

IMG_7676.jpeg


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

 

Programm

Name Programm Beschreibung
Callibot Fange auf einem Linienparcours

Callibot_Linefollower_Fange.xml

Callibot_Linefollower_Fange.hex

 

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

Name Beschreibung / Link
Linefollower

Calli:Bot - 4: Linie folgen - Einzelfahrt

Calli:Bot - 5: Linie folgen - Gruppenfahrt

Fernbedienung Calli:Bot - 6: Fernbedienung
Tanzen Calli:Bot - 3: Tanzen

Roboter - Calli:Bot

Fernbedienung

Übersicht

Beschreibung

Beispiel

Name Programm Beschreibung
 

 

 

Anwendungsfälle im Kurs

Name Beschreibung / Link


Roboter - Calli:Bot

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.

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

Beispielprogramm für Farben


xml hex
Farben in Liste iterieren Farben_in_Liste_iterieren.xml Farben_in_Liste_iterieren.hex
Manuell über Farben iterieren Callibot_FarbIterator.xml Callibot_FarbIterator.hex
Roboter - Calli:Bot

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:

👉 Wie dieses Verfahren genau abläuft, zeigt die folgende Schritt-für-Schritt-Anleitung.


Vorbereitung


Schritt 1: Teilnehmer aktivieren


Schritt 2: Controller aktivieren


Schritt 3: Antwort der Teilnehmer


Schritt 4: Bestätigung der Teilnehmer


Schritt 5: Reaktion der ausgewählten Teilnehmer


Schritt 6: Übermittlung der UUID 


Ergebnis


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

Programm Code Beschreibung
UID zuweisen

uid_fuer_callibots7.xml

 

uid_fuer_callibots7.hex

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.  







Roboter - Calli:Bot

Programme



Code Hex Beschreibung
Calli:bot Farben


7 Grundfarben Callibot_10Farben.xml Callibot_10Farben.hex

Callibot mit 7 Grundfarben 

Zufallsfarben Callibot_Zufallsfarben.xml Callibot_Zufallsfarben.hex

Callibot zeigt 7 Grundfarben in einer zufälligen Reihenfolge an

alle Farben Callibot_alleFarben.xml Callibot_alleFarben.hex

Callibot mit allen Farben der Farbpalette

Hinweis: die meisten Farbpattenfarben können die RGB LEDs nicht anzeigen

Calli:bot Tanzen tanzen.xml tanzen.hex Zufallsbeleuchtung und -bewegung bei Lautstärke




Linefollower      
einfach Linefollower_einfach.xml Linefollower_einfach.hex

Calli:Bot folgt der schwarzen Linie des Parcours

einfach mit 3 Modi Linefollower_einfach_3Modi.xml Linefollower_einfach_3Modi.hex

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

Linefollower_mit_Abstand.hex

 

Linefollower_mit_Abstand_langsam.hex

 

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 Linefollower_mit_Überholen.hex

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

Kanal anpassen

 

Sender: Fernbedingung
Callibot_Fernbedienung_Fussball_Kanal5.hex

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

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

Fortgeschritten

Fortgeschritten

Fang den Maulwurf

Idee

Vorüberlegungen

Umsetzung / Herausforderungen

Programm

Fange_Maulwurf.hex