# Grundlagen

# Daumenkino

### Idee

### Vorüberlegungen

<table border="1" id="bkmrk-folien-lernkarte_gru" style="border-collapse: collapse; width: 100%; height: 58px;"><colgroup><col style="width: 40%;"></col><col style="width: 60%;"></col></colgroup><tbody><tr style="height: 29px;"><td style="height: 29px;">Folien</td><td style="height: 29px;">[Lernkarte\_Grundlagen\_V01.00.pptx](https://calliope.codingkidz.de/wiki/attachments/7)</td></tr><tr style="height: 29px;"><td style="height: 29px;">  
</td><td style="height: 29px;">  
</td></tr></tbody></table>

### Umsetzung 

<table border="1" id="bkmrk-anleitung-bauplan_da" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 40%;"></col><col style="width: 60%;"></col></colgroup><tbody><tr><td>Anleitung</td><td>[Bauplan\_Daumenkino.docx](https://calliope.codingkidz.de/wiki/attachments/5)

[Bauplan\_Daumenkino.pdf](https://calliope.codingkidz.de/wiki/attachments/6)

</td></tr><tr><td>Daumkino Vorlagen</td><td>[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)

</td></tr></tbody></table>

### Programm

<table border="1" id="bkmrk-daumenkino_smiley.he" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr><td>[Daumenkino\_Smiley.hex](https://calliope.codingkidz.de/wiki/attachments/90)</td><td>  
</td></tr><tr><td>  
</td><td>  
</td></tr></tbody></table>

# 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](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/scaled-1680-/bildschirmfoto-2025-06-01-um-14-21-57.png)](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/bildschirmfoto-2025-06-01-um-14-21-57.png)

### Beispiele

<table border="1" id="bkmrk-name-programm-beschr" style="border-collapse: collapse; width: 100%; height: 833px;"><colgroup><col style="width: 17.380952%;"></col><col style="width: 49.285714%;"></col><col style="width: 33.333333%;"></col></colgroup><tbody><tr style="height: 29px;"><td style="height: 29px;">Name</td><td style="height: 29px;">Programm</td><td style="height: 29px;">Beschreibung</td></tr><tr style="height: 29px;"><td style="height: 29px;">Würfel</td><td style="height: 29px;">[Würfel\_einfach.xml](https://calliope.codingkidz.de/wiki/attachments/70)

[Würfel\_einfach.hex](https://calliope.codingkidz.de/wiki/attachments/72)

</td><td style="height: 29px;">Spiele das Programm auf Deinen Calliope.

Drücke die Taste A und dir wird einen eine Zahl zwischen 1 und 6 als Ziffer angezeigt .

</td></tr><tr><td>  
</td><td>[Würfel.xml](https://calliope.codingkidz.de/wiki/attachments/71)

[Würfel.hex](https://calliope.codingkidz.de/wiki/attachments/73)

</td><td>Spiele das Programm auf Deinen Calliope.

Drücke die Taste A und dir wird einen Würfelziffer in der typischen Punkt-Optik angezeigt.

</td></tr><tr style="height: 634px;"><td style="height: 634px;">Schere, Stein, Papier</td><td style="height: 634px;">[![Bildschirmfoto 2025-06-01 um 11.17.05.png](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-06/scaled-1680-/bildschirmfoto-2025-06-01-um-11-17-05.png)](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)

</td><td style="height: 634px;">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?

</td></tr><tr style="height: 141px;"><td style="height: 141px;">Papier/Stein/Schere

mit Schummeln

</td><td style="height: 141px;">[SchereSteinPapier\_cheating.xml](https://calliope.codingkidz.de/wiki/attachments/68)

[SchereSteinPapier\_cheating.hex](https://calliope.codingkidz.de/wiki/attachments/69)

</td><td style="height: 141px;">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.

</td></tr></tbody></table>

### Anwendungsfälle im Kurs

<table border="1" id="bkmrk-name-beschreibung-%2F-" style="border-collapse: collapse; width: 100%; height: 74px;"><colgroup><col style="width: 27.380952%;"></col><col style="width: 72.619048%;"></col></colgroup><tbody><tr style="height: 29px;"><td style="height: 29px;">Name</td><td style="height: 29px;">Beschreibung / Link</td></tr><tr style="height: 45px;"><td style="height: 45px;">Kommunikation mit anderen Calliopes</td><td style="height: 45px;">[Kommunikation](https://calliope.codingkidz.de/wiki/books/programmieren-mit-dem-calliope-mini/page/kommunikation "Kommunikation"), </td></tr></tbody></table>

# 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](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-05/scaled-1680-/bildschirmfoto-2025-05-31-um-11-48-27.png)](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-05/bildschirmfoto-2025-05-31-um-11-48-27.png)

Quelle: [https://calliope.cc/projekte/funk](https://calliope.cc/projekte/funk)

<p class="callout success">**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. </p>

### Beispiel

[![Bildschirmfoto 2025-05-31 um 12.08.22.png](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-05/scaled-1680-/bildschirmfoto-2025-05-31-um-12-08-22.png)](https://calliope.codingkidz.de/wiki/uploads/images/gallery/2025-05/bildschirmfoto-2025-05-31-um-12-08-22.png)

<table border="1" id="bkmrk-name-programm-beschr" style="border-collapse: collapse; width: 100%; height: 162.234375px;"><colgroup><col style="width: 19.047619%;"></col><col style="width: 31.190476%;"></col><col style="width: 49.761905%;"></col></colgroup><tbody><tr style="height: 29px;"><td style="height: 29px;">Name</td><td style="height: 29px;">Programm</td><td style="height: 29px;">Beschreibung</td></tr><tr style="height: 133.234375px;"><td style="height: 133.234375px;">Zahlen Senden und Empfangen</td><td style="height: 133.234375px;">[Zahlen\_SendenEmpfangen.xml](https://calliope.codingkidz.de/wiki/attachments/62)

[Zahlen\_SendenEmpfangen.hex](https://calliope.codingkidz.de/wiki/attachments/63)

</td><td style="height: 133.234375px;">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.

</td></tr><tr><td>Channel Hopping

Ping-Pong

</td><td>[Channel-hopping-liste.xml](https://calliope.codingkidz.de/wiki/attachments/64)

[Channel-hopping-liste.hex](https://calliope.codingkidz.de/wiki/attachments/65)

</td><td>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)

</td></tr></tbody></table>

### Inhalte im Kurs

<table border="1" id="bkmrk-name-beschreibung-%2F-" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 41.428571%;"></col><col style="width: 58.571429%;"></col></colgroup><tbody><tr><td>Name</td><td>Beschreibung / Link</td></tr><tr><td>Fernbedienung</td><td>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")

</td></tr><tr><td>Fake - Papier/Stein/Scheere</td><td>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")

</td></tr><tr><td>  
</td><td>  
</td></tr></tbody></table>