Willkommen beim Calliope mini, dem idealen Einstieg für Schüler in die Programmierung. Dieser kompakte Mikrocontroller bietet eine benutzerfreundliche Plattform (MakeCode), um grundlegende Programmierkenntnisse zu erwerben. Mit Sensoren zur Erfassung von Licht, Temperatur und Bewegung eröffnet der Calliope mini die Möglichkeit, die Umgebung zu erkunden und Echtzeitdaten zu nutzen.
Der Fokus liegt auf der Praktikabilität, und durch die einfache Oberfläche können Schüler ihre eigenen Anwendungen und Spiele entwickeln. Das Mini-Display ermöglicht die Umsetzung von kreativen Ideen in die Realität, sei es in Form von Arcade-Spielen, Denkspielen oder anderen Projekten.
Der Calliope mini ist darauf ausgerichtet, einen zugänglichen Weg in die Welt der Technologie zu bieten. Mit einem sachlichen Ansatz und dem Schwerpunkt auf praktischen Anwendungen, fördert er die Grundlagen des Programmierens auf eine realistische und greifbare Weise. (Dieser Text ist KI-generiert …)
Einige Materialien habe ich von meinem geschätzten Kollegen, Fabian Rinkl, übernommen. Diese werden nicht gesondert gekennzeichnet. Danke!
Den Calliope kennenlernen
Diesen Bereich besprechen wir gemeinsam. Schau dich jedoch einmal selbständig um.
Der Calliope mini 2 im Überblick
Hinweis
Der Calliope mini erscheint sobald er am Rechner angeschlossen wurde als zusätzliches Laufwerk (“Mini”) – vergleichbar mit einem USB-Stick.
Aber Achtung! Auf diesem Laufwerk kann immer nur eine einzige Datei gespeichert werden. Der Name spielt keine Rolle. Wenn eine neue Datei auf dem Mini gespeichert wird, wird gleichzeitig die alte gelöscht.
Wahl der Programmierumgebung
Im Wesentlichen kann der Calliope mini nur online innerhalb eines Browsers programmiert werden. Auch wenn Offline-Editoren in der Entwicklung sind, ist ihre Verwendung derzeit nur wenig dokumentiert.
Den standardmäßigen Zugang zur Programmierung des Calliope mini findet man unter der Webseite des Calliope-Projekts (“Los geht’s”).
Hier gibt es derzeit drei Editoren zur Auswahl:
- Calliope mini Editor: Ein sehr einfacher Editor für allererste Programmiererfahrungen
- MakeCode-Editor (ehemals PXT-Editor): Eine Entwicklungsumgebung der Firma Microsoft. Die Entwicklungsumgebung läuft als JavaScript im Browser. Es kann sowohl grafisch als auch in JavaScript programmiert werden.
- Open Roberta Lab: Beruht auf einem von der Firma Google unterstützten Projekt der Fraunhofer IAIS, Sankt Augustin. Die visuelle Programmiersprache nennt sich NEPO und ist wie MakeCode an Scratch angelehnt.
Aufgabe
Wir benutzen in erster Linie MakeCode. Schaue dir dieses Video (in der Schule mit Kopfhörern) dazu selbständig an und formuliere bei Bedarf Fragen, wir klären sie gemeinsam.
Ein gemeinsames Projekt: Schere Stern Papier from scratch
“from scratch” bedeutet so viel wie von Anfang an. Wir entwickeln gemeinsam ein einfaches Schere-Stein-Papier-Spiel mit dem Calliope. Damit ihr besser mitmachen könnt, nenne ich unten die Anforderungen an unser Spiel. Damit können wir die Schritte, die wir durchlaufen müssen, besser planen. Möglicherweise möchten wir einige Schritte im Verlauf anders machen, das ist ok!
Anforderungen
Pflicht:
- Der Calliope wählt zufällig zwischen Schere, Stein und Papier, wenn wir ihn schütteln.
- Bevor das Symbol auf der LED-Matrix gezeigt wird, läuft ein Countdown ab (3, 2, 1).
- Die Symbole sollen auf der LED-Matrix klar unterscheidbar sein.
Optional:
- Gestalte den Countdown bzw. die Pause so, dass man nicht so lange warten muss.
- Ändere den Code so, dass man nicht schütteln muss, sondern A oder B drückt.
Profis:
- Speichere nach jeder Runde mithilfe der Tasten A und B ab, wer gewonnen hat.
- Am Ende des Spiels soll man A+B drücken können und den Punktestand erfragen dürfen.
Mit diesem gemeinsamen Projekt solltet ihr eine grobe Idee davon erhalten, was mit dem Calliope möglich ist. Nun bist du dran! Absolviere die folgenden Übungen, danach darfst du an die Projekte herantreten!
Übungen & Erläuterungen
“hello, world” mit dem Calliope
Schreibe ein Programm für den Calliope mini, welches dafür sorgt, dass “hello, world!” auf der LED-Matrix angezeigt wird und führe es aus.
Probiere gerne auch andere Texte aus.
Fachkonzept Aktoren
Mit Aktoren bezeichnet man allgemein Antriebselemente (in unserm Fall zunächst nur LEDs und Töne) – sie sind das Gegenstück zu den Sensoren im nächsten Abschnitt.
LED-Matrix (Anzeige)
Die LED-Matrix kann sehr einfach mit Texten und vorgefertigten (oder selbst angefertigten) Bildern verwendet werden. Probiere das ruhig erstmal aus.
LED-Matrix füllen
Fülle die LED-Matrix von unten nach oben und von links nach rechts nach und nach mit leuchtenden LEDs.
RGB-LED (Statusleuchte)
- Die RGB-LED kann ebenfalls einfach mit vorgegebenen Farben verwendet werden. Aber die Farbwahl ist innerhalb der RGB-Farbgebung frei wählbar – darum geht es in der nächsten Aufgabe…
- Lass die Farbe der RGB-LED nach und nach von einem kräftigen Rot in ein kräftiges Blau übergehen.
Lautsprecher (Klang)
Der sogenannte Piezolautsprecher (oder ferroelektrischer Lautsprecher) erzeugt eine nur sehr eingeschränkte Tonqualität. Daher solltest du ihn im Unterricht möglichst gar nicht einsetzen, um deine Mitschüler nicht zu stören. Allenfalls ein kurzes Bestätigungssignal (z.B. eine Achtelnote) ist hier sinnvoll.
Fachkonzept Sensoren
Mit Sensoren bezeichnet man allgemein ein Bauteil zur Messung von Umgebungsbedingungen. Beim Calliope mini stehen u.a. folgende Sensoren zur Verfügung:
- Der Lichtsensor ist kein eigenständiges Bauteil. Stattdessen sind LEDs nicht nur zur Erzeugung von Licht geeignet sondern auch zur Wahrnehmung von Helligkeit. Unser Lichtsensor ist also die 5×5-LED-Matrix.
Der Temperatursensor ist kein eigenständiges Bauteil. Stattdessen ist in dem Prozessor ein Temperatursensor integriert. Streng genommen misst der Temperatursensor also die Temperatur des Prozessors.
Der Calliope mini verfügt über zwei Taster. Der Calliope mini kann feststellen, ob einer von den beiden Tastern gedrückt wurde oder ob beide gleichzeitig gedrückt wurden.
Das Mikrofon ist ein sehr einfaches Mikrofon. Das heißt es kann keine Töne aufnehmen, aber die Stärke der Umgebungsgeräusche wahrnehmen.
Der Lagesensor des Calliope mini ist sehr vielseitig. Je nach Programmierumgebung gibt es unterschiedliche Sensorwerte, die überprüft werden können.
Kleinere Projekte
Würfel (einfach)
Mit dem Calliope mini lassen sich auch Würfelspiele spielen. Dafür wird der Calliope mini zum Zufallsgenerator.
Programmiere einen Würfel, der eine zufällige Zahl wiedergibt. Ein üblicher Würfel gibt eine Zahl zwischen 1 und 6 aus. Jetzt kannst du bestimmen, wie groß dein zufälliger Bereich sein soll.
- Als Eingabe-Ereignis verwende das Schütteln des Lagesensors
- Lege den gewünschten Zahlenbereich fest, indem du einen minimalen Wert und einen maximalen Wert definierst
- Gib die zufällige Zahl auf dem LED-Display aus
Übertrage deinen Code auf den Calliope mini und teste ihn. Durch das Drücken der Reset-Taste wird das Programm erneut ausgeführt.
- Wurde der Calliope mini stark genug geschüttelt?
- Ändert sich die Zahl, sobald erneut geschüttelt wird?
- Bleibt die Zahl auf dem Display dauerhaft stehen?
- Schaffst du die kleinste, die größte Zahl und jede Zahl dazwischen zu würfeln?
Maulwurfspiel (mittel)
Jetzt wird ein Spiel programmiert. Es geht darum, den Maulwurf so schnell wie möglich zu fangen, wenn er aus dem Loch schaut. Auf dem Calliope mini wird das Auftauchen durch die LEDs (rote Lämpchen) dargestellt. Mit den Knöpfen A und B fangen wir den Maulwurf.
Es ist wichtig ein Programm in kleine Schritte aufzuteilen und immer zu testen, ob es schon funktioniert. Wenn alles klappt, geht es weiter.
Vorbereitung
Lass eine Mittellinie auf dem LED-Display leuchten.
Wenn Taste A gedrückt wird, soll ein Haken angezeigt werden.
Wenn Taste B gedrückt wird, soll ebenfalls ein Haken angezeigt werden.
Jetzt kommt der Zufall dazu! Lass dir eine zufällige Zahl aus einem 2er Zahlenraum ausgeben.
Spielmechanik
Wenn die zufällige Zahl eine 0 ist, lass den Maulwurf links erscheinen.
Wenn die zufällige Zahl eine 1 ist, lass den Maulwurf rechts erscheinen.
Überprüfe, ob der Maulwurf gefangen wurde, indem du abfragst, ob die richtige Taste gedrückt wurde.
Für beide Tasten benötigst du die gleiche Logik:
Für die Taste A gilt folgende Logik:
Wenn Zufall = 0 ist, dann taucht der Maulwurf links auf und wir müssen ihn mit Taste A fangen.
Erweitere den Code für die Taste A sodass, wenn diese Bedingung erfüllt wird, ein Haken erscheint, wenn nicht ein X angezeigt wird und du weißt, dass das nicht der richtige Knopf war 😊
Wenn Zufall = 1 ist, dann taucht der Maulwurf rechts auf und wir müssen ihn mit B fangen.
Wende im nächsten Schritt die gleiche Logik auf die Taste B an.
Du kannst die Anzeige für richtig und falsch auch mit dem Leuchten der RGB-LED unterstützen.
Ausprobieren und weiterentwickeln
Übertrage deinen Code auf den Calliope mini und teste ihn. Durch das Drücken der Reset-Taste wird das Programm erneut ausgeführt.
- Wird ein Häkchen angezeigt und der Spielstand hochgezählt, wenn der Maulwurf auf der Seite der Taste erscheint, die gedrückt wurde?
- Wird der Maulwurf lange genug angezeigt?
- Wo könnte eine Pausenzeit verändert werden, damit das Spiel einfacher bzw. schwieriger wird.
Verfolgungsjagd (mittel/schwer)
Entwickle ein Spiel, bei dem sich ein Gegner von oben nach unten bewegt, den du fängst. Folgende Anforderungen werden gestellt:
Anforderungen
- Mit den Knöpfen A und B kann man sich nach links und rechts bewegen.
- Der Gegner wird in der oberern LED-Reihe zufällig generiert und bewegt sich nach unten.
- Erhöhe die Geschwindigkeit mit jedem erzielten Punkt.
- Variere die Geschwindigkeit, während das Spiel insgesamt schneller wird.
- Zähle die erreichten Punkte und zeige sie am Ende an.
- Erzeuge leicht verzögert einen weiteren Gegner.
Hinweis: Du solltest unter “Fortgeschritten” Bausteine der Kategorie “Spiel” nutzen.
Nutze dieses Codegerüst bei Bedarf: https://makecode.calliope.cc/_L2EaYLa4i0Dg
Entfernungen schätzen (schwer/crazy)
Entwickle ein Programm, mit dem der Calliope mittels Ultraschallsensor Entfernungen zu Gegenständen messen kann. Wir machen ein Spiel daraus, indem wir selbst oder andere raten lassen und anschließend mit dem Calliope nachmessen.
Anforderungen
- Finde selbständig heraus, wie man den Ultraschallsensor einsetzt.
- Erstelle einen Code, mit dem die Messung vorgenommen und die Entfernung angezeigt wird.
Für echte Spieleentwickler!
- Erweitere das Spiel so, dass man es allein spielen und Level erreichen kann.
- Dazu misst der Calliope zuerst die Entfernung und macht dann drei Vorschläge, zwischen denen man wählen muss. Er rechnet mit dem echten Wert ein wenig, um Werte in der Nähe davon vorzuschlagen.
- Wenn man richtig liegt, steigt man ein Level auf.
- Mit jedem neuen Level werden die Abstände zu den echten Werten immer kleiner usw.
- Wegen der Navigation zwischen den Werten und der Auswahl überlege dir selbst ein Konzept. Immerhin hast du A, B und A+B sowie die PINs zur Auswahl …