4 Die Sensoren beim Calliope mini

In diesem Kapitel lernst du alle Sensoren des Calliope mini kennen.

Die Einführung in dieses Kapitel wurde von Mario Pesch und Lina Wassong geschrieben. »Die Wasserwaage« stammt von Patrick Franken, das Projekt »Die Calliope-Alarmanlage« von Lina Wassong, »Farbthermometer« von Mario Pesch und »Der Tanzende Teddy« von Julia Kleeberger.

4.1 Was sind eigentlich Sensoren?

Sensoren sind so ähnlich wie deine Sinnesorgane, mit denen du riechen, schmecken und fühlen kannst. Nur dass es sich hierbei um kleine elektronische Bauteile handelt. Sensoren können messen, wenn sich etwas in ihrer Umwelt verändert, wie zum Beispiel die Temperatur oder Helligkeit. Außerdem wandeln sie diese so genannten Messwerte in Zahlen von 0 – 255 um. Wie du dir vorstellen kannst, ist 0 der kleinste Wert – z. B. wenn es dunkel ist – und 255 der größte, wenn es ganz hell ist. Mit diesen Messwerten kannst du als Programmierer arbeiten und Programme schreiben, die Temperatur, Geschwindigkeit oder Helligkeit verarbeiten. Auf dem Calliope mini sind direkt mehrere solcher Sensoren:

In diesem Kapitel lernst du alle Sensoren des Calliope minis kennen. Du wirst sehen, welche tollen Spiele du damit programmieren kannst.

Abb. 4–1 Der Calliope mini

4.1.1 Der Temperatursensor

Der Temperatursensor des Calliope mini misst die Temperatur des Prozessors. Du wirst also feststellen können, dass die Temperatur ansteigt, wenn der Calliope mini ein komplexes Programm ausführen muss. Du kannst die Temperatur aber auch ein wenig beeinflussen, indem du einen Finger auf den Prozessor legst und diesen so durch deine Körperwärme erwärmst. Den Programmierbefehl für das Auslesen der Temperatur findest du in der Gruppe »Eingabe«. Dort kannst du den Befehl »Temperatur« verwenden, um die Temperatur in Grad Celsius zu bekommen. Ein kleines Beispiel kannst du in Abbildung 4–2 sehen.

Abb. 4–2 Programmierbefehle zum Anzeigen der Temperatur

4.1.2 Der Beschleunigungs- und Bewegungssensor

Der Beschleunigungsensor des Calliope kann dir helfen, verschiedene Projekte umzusetzen. Der Sensor kann die Beschleunigung des Calliope-Boards in verschiedene Richtungen messen. Beschleunigung kennst du vom Fahrrad- oder Autofahren und beschreibt den Prozess des schneller oder auch langsamer werden. Wenn du also kräftig in die Pedale deines Fahrrades trittst, beschleunigst du. Ziehst du nun die Bremsen, wirst du wieder langsamer. Gemessen wird dies dann als negative Beschleunigung.

Der Beschleunigungsensor im Calliope kann die Beschleunigung in drei verschiedene Richtungen messen. Die drei verschiedenen Richtungen kannst du dir am besten vorstellen, wenn du den Calliope mini flach auf den Tisch legst. Die x- und y-Achse kannst du beeinflussen, wenn du den Calliope mini nach rechts oder links bzw. oben oder unten bewegst. Wenn du den Calliope mini vom Tisch anhebst, führst du eine Beschleunigung in Richtung der y-Achse aus. Den Programmierbefehl (Abbildung 4–3) für den Beschleunigungssensor findest du wieder in der Gruppe »Eingabe«. Dort kannst du auch einstellen, in welche Richtung die Beschleunigung gemessen werden soll. Wählst du »Stärke« aus, so wird die gesamte Beschleunigung in alle drei Richtungen gemessen.

Abb. 4–3 Der Programmierblock für den Beschleunigungssensor und seine Auswahlmöglichkeiten

Mithilfe des Beschleunigungssensors können auch Bewegungen erfasst werden. Im Editor findest du dazu den Programmierbefehl »wenn geschüttelt«(siehe Abbildung 4–4) in der Gruppe »Eingabe«. Das Schütteln des Calliope-Boards wird als Beschleunigung in verschiedene Richtungen registriert und weitergeleitet als »schütteln«.

Abb. 4–4 Den Programmierbefehl »wenn geschüttelt« findest du in der Gruppe »Eingabe«

4.1.3 Der Helligkeitssensor

Der Helligkeitssensor im Calliope mini ist in das LED-Display integriert. Du kannst damit die Helligkeit messen und erhältst Messwerte zwischen 0 und 255. Wenn der Calliope mini 0 anzeigt, ist es ganz dunkel, bei 255 sehr hell. Im Vergleich zum Temperatursensor erhältst du hier also keinen genauen Messwert, aber du kannst trotzdem tolle Projekte erstellen, die mit Lichtmessung arbeiten. Den Programmierbefehl findest du wieder in der Gruppe »Eingabe«. In Abbildung 4–5 ist ein kurzes Beispiel, das dir zeigt, wie du dir die Helligkeit auf dem LED-Display anzeigen lassen kannst. Probiere doch mal, mit einer Taschenlampe die Helligkeit zu erhöhen oder den Sensor mit etwas abzudecken, um die Helligkeit zu verringern.

Abb. 4–5 Der Programmierblock für den Helligkeitssensor

4.2 Die Wasserwaage

In diesem Projekt baust du aus dem Calliope mini eine Wasserwaage. Was ist eine Wasserwaage und wozu braucht man sie, fragst du dich vielleicht. Hier eine kurze Erklärung: Wenn du schon einmal ein Bild aufgehängt hast, merkst du schnell, dass es gar nicht so einfach ist, es gerade aufzuhängen. Schließlich soll es doch nicht schief hängen, sondern schön aussehen. Und dann gibt es immer noch jemanden, der behauptet, es hinge doch schief. Mithilfe einer Wasserwaage kannst du dieses Problem lösen. Sie zeigt dir an, ob das Bild (oder etwas anderes) gerade ausgerichtet ist.

Du hast bestimmt schon einmal gesehen, wie deine Eltern eine Wasserwaage benutzt haben. In der Mitte der Waage siehst du etwas Wasser und eine Art Luftblase. Wenn diese Luftblase mittig innerhalb eines markierten Feldes ist, ist das Bild gerade ausgerichtet.

Schräg Gerade ausgerichtet

Abb. 4–6 Ein schiefes Bild mithilfe des Calliope mini gerade hängen

Für das Projekt verwendest du natürlich kein Wasser wie in einer traditionellen Wasserwaage, sondern den Beschleunigungssensor des Calliope mini.

Was ist Beschleunigung?

Du möchtest prüfen, ob der Calliope mini gerade ausgerichtet ist? Richtig! Wenn du in einem Auto sitzt und es losfährt, wirst du leicht in den Sitz gedrückt, also beschleunigt – nichts Neues für dich. Aber auch gerade jetzt beim Lesen dieses Buches bist du einer Beschleunigung ausgesetzt – und das ganz, ohne dass du es bemerkst. Diese Beschleunigung richtet sich nach unten (du kennst sie als Anziehungskraft – Gravitation). Das ist der Grund, weshalb du nicht in der Luft herumschwebst oder warum ein Apfel vom Baum fällt. Ohne diese Beschleunigung wärst du schwerelos, wie ein Astronaut im Weltraum.

Abb. 4–7 Die drei Achsen des Beschleunigungssensors

Diese dauerhafte Beschleunigung auf der Erde kannst du jetzt auch verwenden, um zu prüfen, wie der Calliope mini ausgerichtet ist. Das Calliope-Board kann dazu die Beschleunigung in drei Richtungen messen, diese Richtungen werden in der Fachsprache Achsen genannt. Wir haben rechts und links, vorne und hinten sowie oben und unten Achsen. Dies entspricht den Achsen X, Y und Z.

Wenn der Calliope mini gerade ausgerichtet ist, liefert dir der Sensor für die x- und y-Achse keine Beschleunigung und für die z-Achse 1g, was die Beschleunigung (Gravitation) ist, die dich auf dem Boden hält. Wenn der Calliope mini nun gekippt wird, also nicht mehr gerade ausgerichtet ist, verändert sich die Beschleunigung auf den Achsen. Die Beschleunigung auf der z-Achse nimmt ab, die der x- und y-Achse erhöht sich. Dieses Verhalten kannst du nun verwenden, um die Ausrichtung des Calliope zu erkennen.

1g

Mit dem Formelzeichen g wird der Grad von Beschleunigung beschrieben. Alle stehenden Objekte auf der Erde haben dabei eine Beschleunigung von ungefähr 1g nach unten, also zur Mitte der Erde. Im Auto ist eine Beschleunigung von bis zu 0,2g möglich, auf einer Achterbahn bis zu 4g. Ab5 g wird es für den Menschen sehr gefährlich, da der Körper durch die hohen Kräfte zusammengedrückt wird.

4.2.1 Die x-Achse wird gemessen

Mit dieser Information kannst du jetzt auch schon anfangen, dein Programm zu schreiben. Du beginnst mit der x-Achse. Wenn die Beschleunigung 0 ist, soll die LED grün leuchten, sonst rot.

Abb. 4–8 Die x-Achse wird gemessen

Eigentlich sollte die LED jetzt grün leuchten, sobald der Calliope mini gerade ausgerichtet ist. Tut er aber leider nicht! Um den Fehler zu finden, kannst du dir die Beschleunigung mithilfe eines neuen Programms auf dem Display ausgeben. Erstell dazu ein neues Programm und füge die folgenden Blöcke hinzu:

Abb. 4–9 Ein kleines Hilfsprogramm soll dir die Fehlersuche erleichtern

Versuch jetzt, durch Kippen des Calliope mini eine 0 auf dem Display zu erreichen. Ziemlich schwierig, oder? Das liegt daran, dass der Sensor »rauscht«. So nennt man es, wenn ein Sensor keinen genauen Wert zurückgibt, sondern um einen Wert herumwackelt.

Du darfst in deinem Programm also nicht nur prüfen, ob der Wert der Zahl 0 entspricht, sondern auch, ob er ein wenig unter oder über 0 liegt. Du musst also einen Bereich festlegen, in dem die LED leuchtet, der als »nah genug an 0« gesehen werden kann. Dieser Bereich sollte von -30 bis 30 gehen. Zum Vergleich: Beschleunigung kann Werte zwischen -200 und 200 annehmen, daher ist der gewählte Bereich für dein Ziel exakt genug.

Verwende den »größer«- und »kleiner«-Vergleich, um diesen Bereich in deinem Programm anzugeben.

Abb. 4–10 Das sollte schon besser funktionieren

Du prüfst jetzt, ob die Beschleunigung über -30 ist oder unter 30. Wenn beides zutrifft, soll die LED grün leuchten. Übertrage das Programm auf deinen Calliope mini, und mit ein wenig Hin- und Herkippen solltest du es schaffen, dass die LED grün leuchtet. Teste es einmal aus!

4.2.2 Die y-Achse wird gemessen

Eine Kleinigkeit fehlt jetzt noch. Aktuell prüfst du nur die Beschleunigung auf der x-Achse. Um die Wasserwaage komplett zu machen, fehlt noch die y-Achse. Falls du vergessen hast, welche Achse wie gelegen ist, schau noch einmal oben in der Abbildung 4–7 nach.

Du willst also, dass die LED nur grün leuchtet, wenn die Beschleunigung auf der x- und y-Achse zwischen -30 und 30 ist. Dazu kannst du eine zweite Verzweigung verwenden, in der du die gleichen Bedingungen für die y-Achse aufstellst. Das Ganze sollte dann wie folgt aussehen:

Abb. 4–11 Unser fertiges Programm

Wichtig ist hierbei, dass du die LED auch dann rot leuchten lässt, wenn nur eine Achse alle Bedingungen erfüllt, denn dann ist dein Calliope mini noch nicht gerade ausgerichtet.

Jetzt geht es ans Testen. Testen ist eine ganz wichtige Sache bei der Programmierung. Leg dafür den Calliope mini auf irgendeinen Gegenstand, den du gerade ausrichten möchtest, z. B. einen Bilderrahmen. Wenn du den Calliope mini jetzt ausrichtest, sollte die LED grün leuchten, sobald er gerade ist.

4.3 Die Calliope-Alarmanlage

4.3.1 Alles, was du über die Calliope-Alarmanlage wissen musst

In den vorherigen Kapiteln hast du bereits erfahren, was ein Sensor ist und welche tollen Spiele sich damit programmieren lassen. Aber hättest du gedacht, dass du mit dem Calliope mini auch eine Alarmanlage bauen kannst? Um dein Zimmer, Baumhaus oder deine Höhle besser abzusichern, ist der Calliope mini genau richtig, denn es befindet sich bereits alles auf dem Board. Mithilfe des Lichtsensors, des Lautsprechers und natürlich mit dem richtigen Programm wirst du immer alarmiert, wenn jemand an deiner Alarmanlage vorbeiläuft. Wie das genau funktioniert, erfährst du in den nächsten Schritten.

Abb. 4–12 Die installierte Alarmanlage

4.3.2 Materialien und Werkzeuge

Wie viele? Was Anmerkung
1 Calliope
1 Battery-Pack
2 Batterie
1 Doppelseitiges Klebeband 5 cm

Tab. 4–1 Materialien für die Calliope-Alarmanlage

Seit wann gibt es eigentlich Alarmanlagen?

Die erste moderne »Gefahrenmeldeanlage« hatte der Tüftler Augustus Russell Pope 1853 in der Nähe von Boston in den USA erfunden. Ein paar Jahre später wurde diese elektromagnetische Alarmanlage sogar zur Überwachung von Gebäuden in New York eingesetzt. In den 1970er-Jahren bekam die Alarmanlage zusätzlich einen Bewegungsmelder und wurde ab den 1980er-Jahren in Europa immer beliebter. Mittlerweile gibt es drahtlose Funkalarmanlagen mit Videoüberwachung und Internetanschluss, die sich per Smartphone steuern lassen. Was wohl Augustus Russell Pope dazu sagen würde?

4.3.3 Wie funktioniert die Calliope-Alarmanlage?

Es gibt viele Arten von Alarmanlagen, die ganz unterschiedlich funktionieren und verschieden aufgebaut sind. Aber wie du sicherlich weißt, erfüllen sie immer den gleichen Zweck: Sie werden zur Überwachung eingesetzt.

Auch mit dem Calliope-Board lässt sich mit dem Lichtsensor und Lautsprecher eine Alarmanlage bauen, die Bewegungen feststellt und dann einen Alarm auslöst. Und das funktioniert so: Wenn du die Alarmanlage anstellst, misst der Lichtsensor die Helligkeit. Wenn jemand an der Alarmanlage vorbeiläuft, wirft die Person einen Schatten auf das Calliope-Board, und es wird dunkler. Der Lichtsensor bemerkt den Unterschied und schickt ein Signal an den Lautsprecher, das ihn laut aufpiepsen lässt. So weißt du direkt Bescheid, wenn jemand versucht, heimlich einzusteigen. Das klingt spannend? Dann überleg doch mal, wie die passende Programmierung dazu aussehen könnte.

4.3.4 Der Lichtsensor

Wie du vielleicht am Anfang des Kapitels gelesen hast, können Sensoren Umweltveränderungen messen und in eine Zahl umwandeln. Wie der Name bereits sagt, kann der Lichtsensor die Stärke, also die Intensität des Lichts messen. Der Licht­sensor auf dem Calliope mini misst also die Helligkeit und wandelt sie in eine Zahl von 0 bis 255 um.

4.3.5 … und jetzt zum Programmieren

Wie du in den vorherigen Projekten bereits gesehen hast, kannst du deinen Calliope mini mit dem PXT-Editor programmieren. Wenn du dir noch nicht ganz sicher bist, wie das alles funktioniert, dann schau dir noch einmal die Anleitung in Abschnitt 2.2 an. Oder kennst du das Programmierwerkzeug bereits? Wunderbar, dann kann es direkt losgehen.

4.3.6 Wie soll sich deine Alarmanlage einschalten?

Ganz zu Beginn des Programms kannst du überlegen, wie deine Alarmanlage eingeschaltet werden soll. Immer wenn dein Calliope mini mit Strom versorgt wird? Oder nur, nachdem du einen bestimmten Knopf gedrückt hast?

Aus den Gruppen »Grundlagen« oder »Eingabe« kannst du dir einen Start-­Programmierbefehl aussuchen, der bestimmt, wie die Alarmanlage eingeschaltet wird. In diesem Beispiel ist es der Programmierbefehl beim Start, den du in der Gruppe »Grundlagen« findest. Immer wenn dein Calliope eingeschaltet wird, schaltet sich automatisch die Alarmanlage ein. Zieh den Programmierbefehl wie gewohnt in das Programmierfeld.

Abb. 4–13 Start des Programms

4.3.7 Die Schleife programmieren

Abb. 4–14 Schleife auswählen

Im nächsten Schritt baust du eine Schleife in dein Programm ein. Mit der Schleife überprüfst du wieder und wieder, ob der von dir programmierte Zustand eingetroffen ist oder nicht. Der sogenannte Zustand, den du programmiert, ist einfach die Tatsache, ob die Helligkeit gleich bleibt oder ob ein Schatten auf dein Calliope-Board fällt.

Hierfür öffnest du die Schleifen-Gruppe, in der du den Schleifen-Block »während-­wahr-mache« findest.

Abb. 4–15 Ausgewählte Schleife

Diesen Block ziehst du dir in dein Programmierfeld und platzierst ihn in deinen Start-Block. Das sieht am Ende so aus:

4.3.8 Wann ist es hell? Wann ist es dunkel?

Abb. 4–16 Erster »Logik«-Block

Oben haben wir den Zustand schon angesprochen. Den wollen wir jetzt genauer betrachten. Findest du in der Gruppe »Logik« den »wenn-wahr-dann«-Block? Diesen Block ziehst du im vierten Schritt in deine »während-wahr-mache«-Schleife.

Abb. 4–17 »Zweiter« Logik-Block

Jetzt musst du das »wenn-dann« der Alarmanlage bestimmen, und das könnte so aussehen: »wenn« der Lichtsensor Dunkelheit misst, »dann« soll der Lautsprecher anfangen zu piepsen. Dein Calliope mini kann zwar sehr viel, allerdings weiß er nicht von alleine, wann es dunkel oder hell ist. In den »Logik«-Programmierbefehl kommt also noch ein weiterer Programmierbefehl hinein, mit dem der Lichtsensor die Helligkeit misst und mit deinem angegebenen Wert (wann es hell bzw. dunkel ist) vergleicht. Öffne hierzu erneut die »Logik«-Gruppe und zieh dir den »kleiner-als«-Block, der so aussieht »0 < 0«, in die hellblaue »wahr«-Zeile.

Ersetze die erste 0 mit dem Block »Lichtstärke«, den du unter »Eingabe« findest. So leicht kannst du mit dem Lichtsensor die Lichtstärke messen! Die zweite 0 wird durch deine Helligkeitsgrenze ersetzt. Deine Helligkeitsgrenze ist eine Zahl zwischen 0 und 255, die bestimmt, wann es dunkel genug ist, um den Alarm auszulösen. 0 ist hierbei totale Finsternis und 255 ganz hell.

Je nachdem, wo deine Alarmanlage angebracht wird, variiert diese Zahl ein wenig. Am besten probierst du einfach aus, welcher Wert am besten funktioniert.

Abb. 4–18 Einsetzen des »Lichtstärke«-Blocks

4.3.9 Den Alarmton programmieren

Dein Programm kann bereits die Lichtstärke messen und errechnen, ob der Wert unter oder über deiner Helligkeitsgrenze liegt. Was jetzt noch fehlt, ist der eigentliche Alarm. Zum Glück hat der Calliope mini einen Lautsprecher, der unterschiedliche Töne ausgeben kann. In diesem Schritt programmierst du das Alarmgeräusch.

Öffne die Gruppe »Musik« und zieh den Programmierbefehl »spiele-Note« hinter deine »dann«-Logik. In dem ersten der zwei heller hervorgehobenen Felder kannst du dir deinen Lieblingston aussuchen. In diesem Fall wird beim Auslösen des Alarms der Ton C abgespielt.

Abb. 4–19 Alarmton programmieren

4.3.10 Die Lichtstärke im Simulator

Geschafft! Nachdem du den orangefarbenen »Musik«-Programmierbefehl eingefügt hast, bist du fertig mit dem Programm. Jetzt kannst du deine Calliope-Alarmanlage im PXT-Simulator testen. Oben links neben dem Calliope mini befindet sich ein grau-gelber Kreis mit einer Zahl darunter. Diese Zahl ist die Lichtstärke, die dein Lichtsensor im Simulator misst. Per Doppelklick auf den Kreis kannst du eine Lichtstärke zwischen 0 und 255 einstellen. Und hörst du schon den Alarmton?

Abb. 4–20 Einstellung der Lichtstärke

Unsichtbares Licht

Wusstest du, dass es auch unsichtbares Licht gibt? Als unsichtbares Licht werden Infrarotlicht und ultraviolette Strahlung bezeichnet. Das menschliche Auge kann dieses Lichtarten nicht sehen, aber sie lassen sich mit Infrarot- bzw. UV-Sensoren messen. Diese beiden Sensoren befinden sich zwar nicht auf dem Board, aber du kannst sie an einen der Daten-Pins des Calliope mini anschließen, um die Intensität der unsichtbaren Strahlen zu messen.

Wenn du mit deinem Alarmanlagen-Programm zufrieden bist, lädst du das Programm wie gewohnt über die Schaltfläche »Herunterladen« auf deinen Computer. Schließ jetzt deinen Calliope über das USB-Kabel an den Computer an und kopier das Programm auf dein Board.

4.3.11 Geschafft!

Nachdem du die Alarmanlage erfolgreich programmiert hast, musst du noch ein geeignetes Versteck finden. Mit doppelseitigem Klebeband lassen sich der Calliope mini und die dazugehörige Batteriehalterung gut befestigen. Achte bei der Installation darauf, dass der Calliope und somit der Lichtsensor nicht abdeckt wird.

Abb. 4–21 Doppelseitiges Klebeband auf der Rückseite

Auslösen der Alarmanlage nur bei Erwachsenen

Wie kannst du verhindern, dass die Alarmanlage jedes Mal piepst, wenn du daran vorbeiläufst? Ein kleiner Tipp: Bring das Calliope-Board weiter oben an, so dass du keinen Schatten auf den Lichtsensor wirfst, sehr wohl aber alle Erwachsenen, die daran vorbei laufen, da sie größer sind als du.

Abb. 4–22 Die versteckte Calliope-Alarmanlage

Um dein Versteck bestmöglich abzusichern, kannst du deine Alarmanlage selbstverständlich weiterentwickeln. Zum Beispiel könntest du den Alarm so programmieren, dass der Calliope mini viel länger piepst, wenn jemand den Alarm auslöst. Oder möchtest du vielleicht, dass der Alarm nur per Knopfdruck wieder abgeschaltet werden kann und nicht automatisch? Wie du siehst, gibt es viele Möglichkeiten, an dem Programm weiterzuarbeiten.

Viel Spaß beim Absichern deiner Räume!

4.4 Das Farbthermometer

4.4.1 Farbe und Temperatur?

Farbthermometer? Was hat denn eine Farbe mit einem Thermometer zu tun? In diesem Projekt machst du Temperatur durch Farbe sichtbar – zuerst auf dem LED-Display und anschließend mit der RGB-LED. In Abschnitt 4.1.1 hast du schon gelesen, wie der Calliope mini die Temperatur misst und wie du sie auch etwas beeinflussen kannst. Jetzt wirst du lernen, wie du die Farbe der RGB-LED beliebig verändern kannst und wie du den Calliope erste eigene Entscheidungen treffen lassen kannst.

Abb. 4–23 Die Temperatur des Prozessors wird in Farbe umgewandelt!

4.4.2 Calliope mini unter der Lupe

Für das Farbthermometer verwendest du die RGB-LED (siehe dazu den Kasten »RGB-LED«), um die Temperatur anzeigen zu lassen. Du wandeln also eine Zahl in ein sichtbares Ergebnis um. In Abschnitt 4.1.1 wurden bereits einige Informationen zum Temperatursensor des Calliope mini gegeben. Du erinnerst dich vielleicht daran, dass die Temperatur, die der Calliope misst, die Prozessortemperatur ist. Wenn du die Temperatur ein wenig verändern möchtest, kannst du also mit dem Finger auf den Prozessor fassen. Keine Angst, da kann nichts passieren! Alternativ kannst du mithilfe des Calliope-Simulators links im PXT-Editor die Temperatur verändern.

RGB-LED

Der Calliope mini besitzt eine RGB-LED. RGB bedeutet Rot-Grün-Blau. Die RGB-LED kann mithilfe dieser drei Farben alle Farben anzeigen. Du kennst das vielleicht vom Malen mit Wasserfarbe, dass du auch dort verschiedene Farben mischen kannst und eine neue entsteht. Die verschiedenen Farben kannst du mithilfe von Zahlen zwischen 0 und 255 einstellen. Zwei Beispiele:

Die beiden Beispiele zeigen dir, wie du die Farben mischen kannst. Der Editor bietet dir aber auch eine große Auswahl an fertigen Farben an, die du aus der Gruppe »Grundlagen« auswählen kannst.

4.4.3 Die Programmierung

Im ersten Schritt beginnst du im Editor damit, die Temperatur des Calliope mini auszulesen. Dazu verwendest du den Programmierbefehl »Temperatur« aus der Gruppe »Eingabe«. Du benötigst allerdings noch eine Ausgabe. Um ein Gefühl dafür zu bekommen, wie hoch die Temperatur ist, solltest du dir zu Anfang die Temperatur auf dem LED-Display ausgeben lassen. Verwende dazu den Programmierbefehl »zeige Nummer« aus der Gruppe der »Grundlagen«.

Abb. 4–24 Anzeige der Temperatur auf dem LED-Display

Dein Calliope mini zeigt dir nun in Laufschrift die aktuelle Temperatur an. Versuch nun, durch Auflegen des Fingers die Temperatur zu beeinflussen.

Jetzt wandelst du die Temperatur noch in eine Farbe um. Erinnerst du dich noch an den »Wenn, dann«-Befehl aus Abschnitt 3.1. Mithilfe dieser Bedingung kannst du nun die RGB-LED abhängig von der Temperatur in verschiedenen Farben leuchten lassen.

In der Gruppe »Logik« findest du den Programmierbefehl »wenn, dann«. Die RGB-LED soll zwei verschiedene Temperaturen anzeigen können. Wenn die Temperatur über 25 Grad ist, soll die LED rot leuchten, wenn die Temperatur unter 25 ist, soll sie blau leuchten. Für diesen Befehl benötigen wir einen sogenannten »Operator«. Eine kurze Erläuterung zu verschiedenen Operatoren findest du im nachfolgenden Kasten »Operatoren«.

Operatoren

Operatoren werden in vielen Situationen beim Programmieren benötigt. Mithilfe von Ope-ratoren können Bedingungen überprüft oder auch Werte verglichen werden. Einige dieser Operatoren kennst du wahrscheinlich auch schon aus dem Mathematik-Unterricht:

Das »=«-Zeichen: Hiermit kannst du den Calliope einen Programmierbefehl ausführen lassen, wenn zwei Werte gleich groß sind.

Das »≠«-Zeichen: Hiermit kannst du den Calliope einen Programmierbefehl ausführen lassen, wenn zwei Werte unterschiedlich groß sind.

Das »<«-Zeichen: Mithilfe dieses Zeichens kannst du den Calliope zwei Werte vergleichen lassen. Wenn die Spitze des Symbols auf den kleineren Wert zeigt, führt der Calliope den nächsten Befehl aus.

Das »≤«-Zeichen: Dieses Zeichen ist eine Erweiterung des »kleiner«-Zeichens (≤) und schließt auch Werte ein, die kleiner und gleich groß sind ein.

Das »>«-Zeichen: Mithilfe dieses Zeichens kannst du den Calliope zwei Werte vergleichen lassen. Die Öffnung des Symbols zeigt diesmal auf den größeren Wert.

Das »≥«-Zeichen: Dieses Zeichen ist eine Erweiterung des »größer«-Zeichens (≥) und schließt auch Werte ein, die größer oder gleich groß sind.

Alle diese Operatoren findest du in der Gruppe »Logik«.

Abb. 4–25 Übersicht über die Operatoren

Mithilfe der Operatoren und des Programmierbefehls »wenn, dann« kannst du deinen Calliope mini nun anhand der Temperatur entscheiden lassen, welche Farbe die RGB-LED ausgibt.

Abb. 4–26 Wenn-dann-Bedingung

Abb. 4–27 Der Calliope-Simulator zeigt dir eine Temperatur, die du verändern kannst.

Der Simulator auf der linken Seite des Editors zeigt dir die Temperatur an, und auch die RGB-LED leuchtet in der Farbe Rot. Du kannst mit der Maus die Temperatur verändern und einmal beobachten, was mit der Farbe der LED passiert. Du wirst feststellen, dass die LED immer rot bleibt. Du musst deinen Befehl noch erweitern, sodass die LED-Farbe geändert wird, wenn die Temperatur kleiner als 25 Grad Celsius ist. Klick dazu auf das kleine Zahnrad neben dem »wenn«. Um den Befehl zu erweitern, kannst du das »else« unter das »if« ziehen, und du wirst sehen, dass unterhalb des »dann« ein »ansonsten« auftaucht. Hier kannst du nun die LED-Farbe auf Blau setzen.

Abb. 4–28 Erweiterung der »wenn-dann«-Bedingung

Du hast es nun geschafft, dass der Calliope mini in Abhängigkeit von der Temperatur zwei verschiedene Farben anzeigt.

4.4.4 Erweiterungen

Du kannst dein Programm natürlich erweitern und noch mehr Temperaturen und Farben einprogrammieren. Dazu wird der Programmierbefehl »else if« verwendet. Hast du schon versucht, deine eigene Lieblingsfarbe zu mischen? Wie das geht, kannst du in Abschnitt 4.4 weiter vorne nachlesen. Später, in Kapitel 8, gibt es auch noch Projekte zum Thema »Mapping«. Hier wirst du noch weitere Möglichkeit kennenlernen, die Farbe der RGB-LED in Abhängigkeit von der Temperatur zu verändern.

4.4.5 Was du gelernt hast

Und, erinnerst du dich noch an alle neuen Bestandteile des Calliope mini, die du in diesem Kapitel kennengelernt hast? Du kannst nun die Temperatur auf dem LED-Display anzeigen lassen, aber auch die Farbe der RGB-LED in Abhängigkeit von der Temperatur verändern. Und im besten Fall hast du dir sogar deine Lieblingsfarbe für die RGB-LED programmiert.

4.5 Tanzender Teddy

Ist dir schon mal in den Sinn gekommen, dass du den Mini dazu verwenden kannst, damit deine Kuscheltiere ihre Gefühle ausdrücken können? In diesem Projekt wirst du einen Teddy bauen, der sich freut, wenn man mit ihm tanzt: Er beginnt selbst eine eigene Melodie zu spielen und sein Herz fängt an zu leuchten.

Dafür verwendest du den in Abschnitt 4.1.2 erklärten Schüttelsensor des ­Calliope mini: Wenn du den Teddy in die Hand nimmst und hin und her bewegst, also tanzen lässt, spielt er eine Melodie und sein Herz beginnt zu schlagen.

Abb. 4–29 Die Freude des Teddys ist groß: Sein Herz beginnt zu schlagen und eine Melodie erklingt, wenn du ihn bewegst, sodass er tanzt.

4.5.1 Die Programmierung

Für die Umsetzung des Projekts sind zwei Arbeitsschritte notwendig: die Programmierung deines Calliope mini und der Aufbau des Teddys.

Ich erkläre dir im ersten Schritt die hierfür notwendige Programmierung.

Um abzufragen, ob dein Calliope mini geschüttelt wurde, verwendest du den Programmierblock »wenn geschüttelt«.

Abb. 4–30 Der Programmierblock »wenn geschüttelt«

Jetzt kannst du dir überlegen, welches Ereignis ausgelöst werden soll, wenn der Teddy zu tanzen beginnt, also wenn er geschüttelt wird. Dabei sind deinem Ideenreichtum keine Grenzen gesetzt. In meinem Beispiel habe ich mich dafür entschieden, dreimal hintereinander eine kleine Tonfolge abzuspielen und das Herz des Teddys schlagen zu lassen.

Abb. 4–31 Im Inneren des »wenn geschüttelt«-Programmierblocks legst du fest, was ausgeführt werden soll.

Damit die Display-Anzeige wieder gelöscht wird, wenn der Teddy aufhört zu tanzen, füge ich noch folgenden Programmierblock hinzu:

Abb. 4–32 Das Display wird gelöscht.

Um zu testen, wie dein Code funktioniert, kannst du auch den Simulator links im PXT-Editor nutzen. Durch das Drücken des Shake-Buttons wird die Schüttel-Funktion simuliert.

Abb. 4–33 Den Shake-Button drücken

Wenn du mit deinem Programm zufrieden bist, lädst du es auf dein Calliope-Board und trennst es vom USB-Kabel. Damit du deinen Calliope mini dann in den Teddy einbauen kannst und er auch unabhängig vom Computer funktioniert, braucht er eine eigene Stromversorgung. Hierfür benutzt du das Battery-Pack.

Damit hast du die Programmierung für den tanzenden Teddy erfolgreich abgeschlossen.

4.5.2 Der Aufbau des Teddys

Und jetzt geht’s ans Gestalten des Teddys.

Alternativen

Wenn du nicht selber nähen willst, kannst du auch schauen, ob sich zwischen deinen eigenen Kuscheltieren ein geeignetes findet, das du für das Projekt einsetzen kannst.

Alternativ kannst du den Teddy auch aus Pappe und Papier anfertigen. Übertrage dafür die Teile des Körpers aus einer Vorlage und den Bauch des Teddys auf festen Fotokarton. Für das Gesicht kannst du dünneres Papier verwenden.

Wenn du selbst einen Teddy bauen willst, benötigst du folgende Materialien:

Was Anmerkung
Stoff für den Körper des Teddys in einer Farbe deiner Wahl
Filz oder Moosgummi für den Bauch in einer Farbe deiner Wahl
ggf. Filz- oder Moosgummireste in Hellrosa und Rot
Füllwatte
Garn
ggf. Textilklebestoff
Schere
Nadel

Tab. 4–2 Materialien zur Anfertigung des Stoffteddys

Zeichne auf Stoff oder Papier einen Teddy und schneide ihn an den Umrissen aus. Achte darauf, dass du auch für die Nähkante Platz einplanst.

Als Erstes legst du den Stoff für den Körper des Teddys so zusammen, dass seine beiden Außenseiten aufeinanderliegen, und überträgst die einzelnen Teile aus der Vorlage darauf und schneidest sie aus.

Abb. 4–34 Aus der Vorlage übernehmen

Jetzt nähst du Kopf, Körper, Beine und Ohren rechts auf rechts zusammen und lässt jeweils eine kleine Öffnung.

Abb. 4–35 Das Annähen

Wenn du fertig bist mit dem Nähen, krempelst du die einzelnen Teile durch die Öffnung um und füllst Kopf, Körper und Beine mit der Füllwatte. Danach nähst du die Öffnungen zu.

Abb. 4–36 Das Befüllen

Dann zeichnest du auf den Stoff für den Bauch des Teddys einen Kreis mit ca. 10 cm Durchmesser und schneidest ihn aus.

Abb. 4–37 Einen Kreis ausschneiden

Näh den Teddybauch an den Körper an. Lass dabei eine kleine Öffnung, hinter der du das Battery-Pack verstauen kannst.

Abb. 4–38 Das Verstauen des Battery-Packs

Befestige jetzt den Calliope mini mit einigen kurzen Stichen durch die Pins an den Sternen-Ecken am Teddybauch.

Abb. 4–39 Den Calliope mini befestigen

Jetzt nähst du noch Arme und Beine des Teddys am Körper an und die Ohren am Kopf. Dann malst du dem Teddy ein Gesicht, bestehend aus Augen, Mund und Nase. Wenn du magst, kannst du noch zwei Filzstücke für die Wangen mit Textilkleber befestigen.

Zum Schluss nähst du den Kopf mit kleinen Stichen an den Körper. Fertig. Wenn du deinen Teddy jetzt tanzen lässt, spielt er ein Lied und sein Herz fängt an zu schlagen.