Qgelm

Weihnachtsprojekt: Verteiltes Glockenspiel mit mehreren Calliope Mini

Originalartikel

Backup

<html> <time datetime=„2018-11-25“>heute</time> Bernd Heisterkamp <figure class=„aufmacherbild“><img src=„https://heise.cloudimg.io/width/1280/tjpg.q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/Aufmacher_Calliope-215ba456a4f3598a.jpeg“ alt=„Verschiedene Ansichten der Christbaumanh&#228;nger mit Calliope“/></figure><p class=„lead_text“>Ein &#8211; oder besser mehrere &#8211; Calliope mini sorgen mit Aluminiumrohren und einer ausgefeilten Programmierung f&#252;r weihnachtliche Musik im Wohnzimmer.</p><p>Zu Weihnachten geh&#246;rt festliche Musik wie Lebkuchen, Mandarinenteller und Geschenke. Wer sich lieber nicht mit der Blockfl&#246;te vor den Tannenbaum stellen, aber gerne etwas selbst machen m&#246;chte, sollte unser Glockenspiel mit dem Mikrocontroller Calliope mini bauen.</p> <figure class=„rteinlinebild akwa-inline-img rtepos_right col-lg-6 col-md-6 col-sm-6 col-xs-12 akwa-inline–right“ is=„a-grossbild“><a class=„grossbild cbox_gallery akwa-inline-imglink“ data-content-type=„image“ data-grossbildsrc=„/make/imgs/76/2/5/3/9/8/4/1/01-Calliope_Glockenspiel_Uebersicht-d899a1a7ea0c1313.JPG“ href=„https://m.heise.de/make/artikel/Weihnachtsprojekt-Verteiltes-Glockenspiel-mit-mehreren-Calliope-Mini-4219883.html?view=zoom;zoom=16“><img alt=„Zwei Calliope mini mit Glockenspiel-Anh&#228;nger“ src=„https://heise.cloudimg.io/width/3648/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/01-Calliope_Glockenspiel_Uebersicht-d899a1a7ea0c1313.JPG“ srcset=„https://heise.cloudimg.io/width/7296/q30.png-lossy-30.webp-lossy-30.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/01-Calliope_Glockenspiel_Uebersicht-d899a1a7ea0c1313.JPG 2x“ class=„c1“/></a></figure><p>Die Christbaumanh&#228;nger machen Musik, indem sie Kl&#246;ppel gegen Aluminiumrohre schlagen. Jeder Anh&#228;nger hat dabei zwei unterschiedlich lange Rohre und kann somit zwei unterschiedliche T&#246;ne erzeugen. Durch Variation der Rohrl&#228;ngen der Anh&#228;nger kann die ganze Tonleiter abgedeckt werden. Ein beliebiger Calliope versendet die Tonfolge im Takt der Musik per Bluetooth, die alle anderen empfangen. Nur die Calliopes, die den aktuellen Ton als ihren eigenen erkennen, spielen diesen dann &#252;ber den Kl&#246;ppelschlag ab. Je mehr Calliopes beteiligt sind, desto sch&#246;ner kann die Melodie &#252;ber den ganzen Weihnachtsbaum verteilt werden.</p> <p>Dieses Projekt richtet sich an Lehrkr&#228;fte oder Eltern, die einer Gruppe von Kindern das Programmieren n&#228;her bringen m&#246;chten. Neben dem Programmieren von Mikrocontroller und Servo gilt es, mit der Laubs&#228;ge zu arbeiten und etwas &#252;ber Musik zu lernen. Beginnend mit einem einfachen Programm werden zunehmend komplexere Funktionen verwendet, von Schleifen &#252;ber Arrays bis hin zu Funktionen und Text-String-Analyse, was etwas Erfahrung mit der PXT-Blocksprache bedarf.</p> <div class=„rtetextbox akwa-inline-textbox col-lg-12 col-md-12 col-sm-12 col-xs-12“> <h4>Kurzinfo</h4> <h4>Material pro Anh&#228;nger</h4> <ul><li>ein Calliope mini</li> <li>Batteriefach mit 2&#215; AA-Batterien<br/></li> <li>Aluminiumrohr (&#216; 14,8 mm, 1 mm Wandst&#228;rke), L&#228;nge je nach gew&#252;nschten Tonh&#246;hen<br/></li> <li>Sperrholz (3 mm dick)</li> <li>ein Holzstab (90 mm lang)<br/></li> <li>eine M5-Schraube (60 mm lang, flacher Kopf)</li> <li>zwei Schrauben mit Unterlegscheiben und Muttern<br/></li> <li>Schrumpfschlauch (mind. 30 mm)<br/></li> <li>etwas Schnur, m&#246;glichst transparent</li> </ul><p><strong>Checkliste:</strong></p> <ul><li><strong>Zeitaufwand:</strong> 1 bis 2 Stunden f&#252;r den Zusammenbau<br/></li> <li><strong>Kosten:</strong> 50 Euro<br/></li> <li><strong>Holzbearbeitung:</strong> einfache S&#228;gearbeiten<strong><br/></strong></li> <li><strong>Programmieren:</strong> Calliope-MakeCode-Editor<br/></li> </ul></div> <noscript readability=„1“> <p><em>Bei Problemen mit der Wiedergabe des Videos aktivieren Sie bitte JavaScript</em></p> </noscript> <figure class=„video video–fullwidth akwa-inline-video player“><div class=„kaltura-video-container kaltura-player-shell js-player-dummy-play-button“><img alt=„Drei Anh&#228;nger, zwei mit Calliope, einer mit BBC micro:bit“ class=„kaltura-player-shellpreview-image c1“ src=„https://heise.cloudimg.io/width/1080/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/make/imgs/76/2/5/4/7/7/0/3/Glockenspiel_Calliope_1-dd63be0b198cbfe7.jpg“ srcset=„https://heise.cloudimg.io/width/2160/q30.png-lossy-30.webp-lossy-30.foil1/_www-heise-de_/make/imgs/76/2/5/4/7/7/0/3/Glockenspiel_Calliope_1-dd63be0b198cbfe7.jpg 2x“/></div> </figure> <p>Die Anh&#228;nger werden aus 3 mm dicken Sperrholz geschnitten. Wer Zugang zu einem Lasercutter hat, kann die Sterne mit ausschneiden, bei der Arbeit mit einer Laubs&#228;ge sollten sie aufgemalt werden. Wichtig ist, die Aussparungen f&#252;r den Servo und die Befestigungsschrauben des Calliope genau zu s&#228;gen, bzw. zu bohren.</p> <figure class=„rteinlinebild akwa-inline-img akwa-inline-img col-lg-12 col-md-12 col-sm-12 col-xs-12“ is=„a-grossbild“><a class=„grossbild cbox_gallery akwa-inline-imglink“ data-content-type=„image“ data-grossbildsrc=„/make/imgs/76/2/5/3/9/8/4/1/02-Calliope_Glockenspiel_Material-3e730efd5cac7fad.JPG“ href=„https://m.heise.de/make/artikel/Weihnachtsprojekt-Verteiltes-Glockenspiel-mit-mehreren-Calliope-Mini-4219883.html?view=zoom;zoom=17“><img alt=„Bauteile des Glockenspiels mit Calliope mini“ src=„https://heise.cloudimg.io/width/5472/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/02-Calliope_Glockenspiel_Material-3e730efd5cac7fad.JPG“ srcset=„https://heise.cloudimg.io/width/10944/q30.png-lossy-30.webp-lossy-30.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/02-Calliope_Glockenspiel_Material-3e730efd5cac7fad.JPG 2x“ class=„c1“/></a> <figcaption class=„rteinlinebild_source akwa-caption“>Alle ben&#246;tigten Teile</figcaption></figure><p>In die Bohrung &#252;ber der langen Aussparung des Anh&#228;ngers wird quer ein Holzstab von etwa 90 mm L&#228;nge eingeklebt, an diesem Holzstab werden die Klangk&#246;rbe befestigt. Einkerbungen oder kleine Bohrungen am Ende des Holzstabs dienen der Fixierung der Befestigungsschnur.</p> <figure class=„rteinlinebild akwa-inline-img akwa-inline-img col-lg-12 col-md-12 col-sm-12 col-xs-12“ is=„a-grossbild“><a class=„grossbild cbox_gallery akwa-inline-imglink“ data-content-type=„image“ data-grossbildsrc=„/make/imgs/76/2/5/3/9/8/4/1/03-Calliope_Glockenspiel_Aufhaengung-feb34397e152f987.jpeg“ href=„https://m.heise.de/make/artikel/Weihnachtsprojekt-Verteiltes-Glockenspiel-mit-mehreren-Calliope-Mini-4219883.html?view=zoom;zoom=18“><img alt=„Holzstab neben Metallrohren“ src=„https://heise.cloudimg.io/width/2000/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/03-Calliope_Glockenspiel_Aufhaengung-feb34397e152f987.jpeg“ srcset=„https://heise.cloudimg.io/width/4000/q30.png-lossy-30.webp-lossy-30.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/03-Calliope_Glockenspiel_Aufhaengung-feb34397e152f987.jpeg 2x“ class=„c1“/></a> <figcaption class=„rteinlinebild_source akwa-caption“>Die Aufh&#228;ngung der Metallrohre</figcaption></figure><p>Die Klangk&#246;rper werden von einem Aluminiumrohr abges&#228;gt, die L&#228;nge und Dicke des Rohrs beeinflusst die Tonh&#246;he, je k&#252;rzer das Rohr, desto h&#246;her der Ton. In der Tabelle seht ihr, welche L&#228;ngen von einem 14,8 mm dicken Rohr mit 1 mm Wandst&#228;rke f&#252;r die Grundt&#246;ne der Tonleiter abgeschnitten werden m&#252;ssen. Wer ein anderes Metallrohr nimmt, kann die richtigen L&#228;ngen ausrechnen.</p> <p><table class=„rtetable table akwa-inline-tabletable“><tbody><tr><td class=„c2“><strong>Ton</strong></td> <td class=„c2“><strong>Frequenz</strong></td> <td class=„c2“><strong>L&#228;nge</strong></td> </tr><tr><td class=„c2“>e</td> <td class=„c2“>659,255</td> <td class=„c2“>374</td> </tr><tr><td class=„c2“>d</td> <td class=„c2“>587,33</td> <td class=„c2“>397</td> </tr><tr><td class=„c2“>c</td> <td class=„c2“>523,251</td> <td class=„c2“>420</td> </tr><tr><td class=„c2“>h</td> <td class=„c2“>493,883</td> <td class=„c2“>433</td> </tr><tr><td class=„c2“>a</td> <td class=„c2“>440</td> <td class=„c2“>458</td> </tr><tr><td class=„c2“>g</td> <td class=„c2“>391,995</td> <td class=„c2“>486</td> </tr><tr><td class=„c2“>f</td> <td class=„c2“>349,228</td> <td class=„c2“>514</td> </tr><tr><td class=„c2“>e</td> <td class=„c2“>329,625</td> <td class=„c2“>529</td> </tr><tr><td class=„c2“>d</td> <td class=„c2“>293,665</td> <td class=„c2“>561</td> </tr><tr><td class=„c2“>c</td> <td class=„c2“>261,626</td> <td class=„c2“>594</td> </tr></tbody></table></p> <figure class=„rteinlinebild akwa-inline-img rtepos_right col-lg-6 col-md-6 col-sm-6 col-xs-12 akwa-inline–right“ is=„a-grossbild“><a class=„grossbild cbox_gallery akwa-inline-imglink“ data-content-type=„image“ data-grossbildsrc=„/make/imgs/76/2/5/3/9/8/4/1/18_Bild_FFT-a950ccaa362464b2.jpg“ href=„https://m.heise.de/make/artikel/Weihnachtsprojekt-Verteiltes-Glockenspiel-mit-mehreren-Calliope-Mini-4219883.html?view=zoom;zoom=34“><img alt=„Screenshot FFT“ src=„https://heise.cloudimg.io/width/478/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/18_Bild_FFT-a950ccaa362464b2.jpg“ srcset=„https://heise.cloudimg.io/width/956/q30.png-lossy-30.webp-lossy-30.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/18_Bild_FFT-a950ccaa362464b2.jpg 2x“ class=„c1“/></a></figure><p>Dazu nutze ich die Gleichung: L <em>= &#8730;(A / f )</em> <a href=„https://www.instructables.com/id/Copper-pipe-glockenspiel/“ rel=„external“ target=„_blank“>nach einem Instructables-Projekt</a>. <em>L</em> ist die Rohrl&#228;nge und <em>f</em> die gew&#252;nschte Frequenz. <em>A</em> ist eine Konstante, die nur sehr schwierig zu berechnen ist, aber leicht gemessen werden kann. Nach Umformung kommt man auf die Gleichung <em>A = f L2</em>. Kennt man die Schwingungsfrequenz einer bestimmten Rohrl&#228;nge, kann man so <em>A</em> bestimmen. Zum Gl&#252;ck hat heute jeder einen Frequenzanalysator in der Hosentasche, ladet dazu eine App zur Fast Fourier Transformation (FFT) auf euer Handy (z.B. <a href=„https://itunes.apple.com/de/app/fftwave/id1080227446?mt=8“ rel=„external“ target=„_blank“>FFTWave f&#252;r iOS</a>).</p> <p>Geht nun wie folgt vor:</p> <ol class=„rtelist rtelist–ordered“><li>S&#228;gt ein Rohr von 50 cm L&#228;nge ab, h&#228;ngt es einer d&#252;nnen Perlonschnur auf und bringt es mit einem Stab zum Erklingen.</li> <li>Sobald der Klang etwas abgeklungen ist, startet die App und speichert das gemessene Spektrum (siehe Bild).</li> <li>Die niedrigste Frequenz sollte der Grundschwingung entsprechen, im Beispiel 495,3Hz.</li> <li>Berechnet <em>A = f L&#178;</em>, hier <em>495,3 Hz &#215; (50 cm)&#178; = 1 238 250 cm&#178;/s</em><br/></li> <li>W&#228;hlt den gew&#252;nschten Ton (z.B. <em>a = 440 Hz</em>) und berechnet die Rohrl&#228;nge gem&#228;&#223; <em>L = &#8730;(A / f)</em>, also <em>L = &#8730;(1 238 250/440) = 53 cm</em></li> </ol> <p>Als Kl&#246;ppel nehmt ihr eine M5-Schraube. Sie wird &#252;ber einen Schrumpfschlauch mit dem Ruderhorn verbunden. Dazu gebt ihr einen Tropfen Alleskleber auf das Horn, st&#252;lpt ca. 30 mm Schlauch dar&#252;ber und f&#252;hrt auf der offenen Seite die Schraube hinein. Die Schraube darf das Ruderhorn nicht ber&#252;hren, sondern es m&#252;ssen etwa 5 mm Abstand bleiben, dadurch kann die Schraube etwas &#252;ber die Endposition des Servos hinausschwingen und das Rohr ganz kurz antippen. Den Schrumpfschlauch mit Haar- oder Hei&#223;luftf&#246;n bearbeiten, bis er das Gewinde der Schraube und das Ruderhorn so stark einquetscht, dass diese nicht mehr rausrutschen k&#246;nnen. Der Schrumpfschlauch hat sich als optimal herausgestellt, da er gen&#252;gend Stabilit&#228;t bietet, die Schraube &#252;ber den Servo zu bewegen, aber gleichzeitig ein Schwingen der Schraube erm&#246;glicht.</p> <figure class=„rteinlinebild akwa-inline-img akwa-inline-img col-lg-12 col-md-12 col-sm-12 col-xs-12“ is=„a-grossbild“><a class=„grossbild cbox_gallery akwa-inline-imglink“ data-content-type=„image“ data-grossbildsrc=„/make/imgs/76/2/5/3/9/8/4/1/04-Calliope_Glockenspiel_Kloeppel-c1c3414d5c30a5d2.jpeg“ href=„https://m.heise.de/make/artikel/Weihnachtsprojekt-Verteiltes-Glockenspiel-mit-mehreren-Calliope-Mini-4219883.html?view=zoom;zoom=19“><img alt=„Metallkl&#246;ppel aus Schraube, Schrumpfschlauch und Rotorhorn“ src=„https://heise.cloudimg.io/width/2000/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/04-Calliope_Glockenspiel_Kloeppel-c1c3414d5c30a5d2.jpeg“ srcset=„https://heise.cloudimg.io/width/4000/q30.png-lossy-30.webp-lossy-30.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/04-Calliope_Glockenspiel_Kloeppel-c1c3414d5c30a5d2.jpeg 2x“ class=„c1“/></a> <figcaption class=„rteinlinebild_source akwa-caption“>Der fertige Kl&#246;ppel</figcaption></figure><p>Der Servo wird mit einem Kabelbinder auf dem Holzanh&#228;nger befestigt. Wenn ihr nicht l&#246;ten m&#246;chtet, kauft ihr am Besten einen Servo mit Grove-Stecker, der direkt an den Calliope gesteckt wird.</p> <figure class=„rteinlinebild akwa-inline-img akwa-inline-img col-lg-12 col-md-12 col-sm-12 col-xs-12“ is=„a-grossbild“><a class=„grossbild cbox_gallery akwa-inline-imglink“ data-content-type=„image“ data-grossbildsrc=„/make/imgs/76/2/5/3/9/8/4/1/05-Calliope_Glockenspiel_Servo-01e9ee5e60d32731.JPG“ href=„https://m.heise.de/make/artikel/Weihnachtsprojekt-Verteiltes-Glockenspiel-mit-mehreren-Calliope-Mini-4219883.html?view=zoom;zoom=20“><img alt=„Blauer Servo, der mit Kabelbinder auf dem Holz befestigt ist.“ src=„https://heise.cloudimg.io/width/5472/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/05-Calliope_Glockenspiel_Servo-01e9ee5e60d32731.JPG“ srcset=„https://heise.cloudimg.io/width/10944/q30.png-lossy-30.webp-lossy-30.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/05-Calliope_Glockenspiel_Servo-01e9ee5e60d32731.JPG 2x“ class=„c1“/></a> <figcaption class=„rteinlinebild_source akwa-caption“>Servo und Kl&#246;ppel</figcaption></figure><p>Ansonsten m&#252;sst ihr den Stecker separat kaufen und anl&#246;ten. Dabei m&#252;sst ihr auf die richtige Verkabelung achten. Das Servokabel hat drei Adern: braun oder schwarz, rot und gelb oder wei&#223;. In der Grafik seht ihr, wie der Servo an die Grove -Steckerbuchse A1 (sie befindet sich &#252;ber dem Button B) angeschlossen werden muss. Anschlie&#223;end die L&#246;tstellen mit Schrumpfschlauch isolieren, ansonsten gibt es einen Kurzschluss.</p> <figure class=„rteinlinebild akwa-inline-img akwa-inline-img col-lg-12 col-md-12 col-sm-12 col-xs-12 c3“><img alt=„Anschl&#252;sse Servo“ src=„https://heise.cloudimg.io/width/613/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/06_Calliope_Glockenspiel_ServoAnschluss-dafb8c5bdcf4e2a8.jpg“ srcset=„https://heise.cloudimg.io/width/1226/q30.png-lossy-30.webp-lossy-30.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/06_Calliope_Glockenspiel_ServoAnschluss-dafb8c5bdcf4e2a8.jpg 2x“ class=„c1“/><figcaption class=„rteinlinebild_source akwa-caption“>Servo-Anschl&#252;sse f&#252;r den Grove-Stecker</figcaption></figure> <p>Zuerst soll der Calliope so programmiert werden, dass sich der Kl&#246;ppel beim Dr&#252;cken des Knopfes A kurz nach vorne und direkt wieder in die Mitte bewegt. Beim Dr&#252;cken von B er nach hinten und ebenfalls wieder in die Mittelposition gefahren. So k&#246;nnt ihr probieren, ob der Kl&#246;ppel die Rohre sauber anschl&#228;gt.</p> <figure class=„rteinlinebild akwa-inline-img rtepos_left col-lg-6 col-md-6 col-sm-6 col-xs-12 akwa-inline–left c4“><img alt=„Screenshot Programm 1“ src=„https://heise.cloudimg.io/width/306/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/07_Bild_Konzert-09aa820448e9885f.PNG“ srcset=„https://heise.cloudimg.io/width/612/q30.png-lossy-30.webp-lossy-30.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/07_Bild_Konzert-09aa820448e9885f.PNG 2x“ class=„c1“/><figcaption class=„rteinlinebild_source akwa-caption“>Konzert 1</figcaption></figure><p>Den Befehl <code>Wenn Knopf A gedr&#252;ckt</code> findet ihr im Men&#252; „Eingabe“. Alle Aktionen, die in der Klammer dieses Befehls stehen, werden beim Dr&#252;cken des Knopfes ein Mal ausgef&#252;hrt. Als Erstes soll der Servo in eine neue Position fahren, dazu braucht ihr den Befehl <code>Schreibe Servo an Pin &#8230; auf &#8230;</code> aus dem Men&#252; „Fortgeschritten -&gt; Pins“. Voreingestellt ist <code>P1</code>, stattdessen m&#252;sst ihr <code>C17</code> ausw&#228;hlen, da ihr an diesem Pin das gelbe oder wei&#223;e Kabel des Servos befestigt habt. Als Zielwert nehmt ihr zun&#228;chst <code>75</code>, was eine &#196;nderung von 15 Grad aus der Mittelposition <code>90</code> bedeutet. Mit dem Befehl <code>Pausiere (ms) 100</code> gebt ihr dem Servo Zeit, um die Position anzufahren, bevor ihr ihn mit <code>Schreibe Servo an Pin C17 auf 90</code> wieder in die Mitte bewegt. F&#252;r <code>Wenn Knopf B gedr&#252;ckt</code> werden die Programmierbefehle wiederholt &#8211; allerdings soll der Servo in die andere Richtung fahren, daher wird als Zielwert <code>112</code> vorgegeben.</p> <p>Nun k&#246;nnt ihr das Programm auf den Calliope &#252;bertragen und die Batterieversorgung anschlie&#223;en. Der USB-Anschluss alleine reicht nicht f&#252;r Stromversorgung des Servos. Variiert zur &#220;berpr&#252;fung die Werte, die ihr dem Servo vorgebt (im Beispiel <code>75</code> und <code>112</code>) bis der Kl&#246;ppel bis kurz vor die Klangrohre f&#228;hrt, diese aber nicht ber&#252;hrt. Sonst w&#252;rde der Ton nach dem Anschlagen direkt wieder ged&#228;mpft. Die Pausendauer muss so angepasst werden, dass der Servo die maximale Position auch erreicht, bevor er den Befehl zum Zur&#252;ckfahren erh&#228;lt.</p> <p>Habt ihr alles richtig eingestellt, k&#246;nnt mit dem Calliope durch Dr&#252;cken der Kn&#246;pfe A und B zwei unterschiedliche T&#246;ne erzeugen. In Schulklassen eine gute Gelegenheit, um gemeinsam eine kleine Melodie auszuprobieren, denn jeder Calliope sollte zwei andere T&#246;ne erzeugen.</p> <p>Es w&#228;re allerdings unpraktisch, wenn die ganze Gruppe am Weihnachtsbaum stehen und die Kn&#246;pfe im richtigen Takt dr&#252;cken m&#252;sste. Daher ist jetzt das Ziel, die Noten &#252;ber die Bluetooth-Schnittstelle kabellos zu &#252;bertragen. Die Melodie wird dazu in einer Liste gespeichert, in der Programmierung ist dies ein Array. Ihr findet die Funktion im Fortgeschritten-Men&#252; des Calliope Editors unter „Arrays“.</p> <p>Erstellt zun&#228;chst eine Variable mit dem Namen <code>MeineMelodie</code> (Men&#252; „Variablen -&gt; Neue Variable anlegen“). Dieser weist ihr mit den Befehlen <code>&#196;ndere Wert auf MeineMelodie</code> und <code>Erstelle Array mit &#8230;</code> ein noch leeres Array zu. &#220;ber das blaue Setup-Symbol im Befehl <code>Erstelle Array mit &#8230;</code> kann die Anzahl der Listenelemente ge&#228;ndert werden. Zieht einfach so viele Elemente in das Array wie euer Lied Noten hat. In die Elemente schreibt ihr eure Melodie von oben nach unten. Die Ziffern neben den Noten beschreiben die Oktave. Im Beispiel sind alle aus der gleichen Oktave. Wenn ihr ein Lied &#252;ber mehrere Oktaven habt, m&#252;sst ihr die Ziffern entsprechend anpassen (C1, C2 ,&#8230; usw.).</p> <figure class=„rteinlinebild akwa-inline-img akwa-inline-img col-lg-12 col-md-12 col-sm-12 col-xs-12 c5“><img alt=„Screenshot Programm 2 &amp;quot;Senden&amp;quot;“ src=„https://heise.cloudimg.io/width/559/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/08_Bild_KonzertNo2_senden-2517e419a4186348.PNG“ srcset=„https://heise.cloudimg.io/width/1118/q30.png-lossy-30.webp-lossy-30.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/08_Bild_KonzertNo2_senden-2517e419a4186348.PNG 2x“ class=„c1“/><figcaption class=„rteinlinebild_source akwa-caption“>Konzert 2: Melodie senden</figcaption></figure><p>Mit einer <code>F&#252;r Index von 0 bis 4</code> Programmierschleife (siehe Men&#252; „Schleifen“) soll nacheinander jedes Element des Arrays ausgelesen werden. Die Voreinstellung <code>4</code> wird mit der Variablen <code>Array-L&#228;nge</code>&#187; (Men&#252; „Arrays“) ersetzt, die automatisch die Anzahl der Listenelemente speichert. Da der Index bei <code>0</code> und nicht bei <code>1</code> beginnt, muss f&#252;r die Anzahl der Schleifendurchl&#228;ufe noch 1 subtrahiert werden. Das geht mit dem <code>0 &#8211; 0</code> Befehl im Men&#252; „Mathematik“. Die erste Null wird mit der Variablen <code>Array-L&#228;nge (MeineMelodie)</code> und die zweite Null durch eine <code>1</code> ersetzt.</p> <div class=„rtedossier akwa-inline-textbox rtepos_right col-lg-4 col-md-5 col-sm-5 col-xs-12 akwa-inline–right“ readability=„18“> <figure class=„rtedossier_anrissbild“><img alt=„“ src=„https://heise.cloudimg.io/width/210/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/imgs/71/2/2/5/4/4/7/7/Calliope_mini-9a308b345966bdc2.jpeg“ srcset=„https://heise.cloudimg.io/width/420/q30.png-lossy-30.webp-lossy-30.foil1/_www-heise-de_/imgs/71/2/2/5/4/4/7/7/Calliope_mini-9a308b345966bdc2.jpeg 2x“ class=„c1“/></figure> <p>Der Mikrocontroller Calliope mini wurde in Deutschland entwickelt und soll bereits in der Grundschule Programmierkenntnisse vermitteln.</p> <ul><li><a href=„https://www.heise.de/select/make/2017/2/1492870483451450“ rel=„external“>Calliope mini in Make 2/17</a></li> <li><a data-content-type=„content“ href=„https://m.heise.de/make/artikel/Calliope-mini-3676938.html“>Beispielprogramme im Video</a></li> <li><a data-content-type=„content“ href=„https://m.heise.de/meldung/Calliope-mini-Mikrocontroller-fuer-die-Grundschule-3361271.html“>Betaversion im Praxistest</a></li> <li><a data-content-type=„stream“ href=„https://m.heise.de/thema/calliope-mini“>Themenseite Calliope mini</a></li> </ul></div> <p>Alle Befehle, die in der gr&#252;nen Klammer der Schleife stehen, werden nun genauso h&#228;ufig ausgef&#252;hrt wie die empfangene Melodie Noten hat. Bei jedem Durchlauf wird die Variable

Index

um

1

erh&#246;ht und es somit m&#246;glich, ein weiteres Element aus der Liste auszulesen. Dazu braucht ihr den Befehl

Liste rufe den Wert ab bei 0

aus dem Men&#252; „Arrays“. Anstelle des Wertes

Liste

w&#228;hlt ihr die Variable

MeineMelodie

und statt der Null setzt ihr die Variable

Index

ein. Mit

&#228;ndere AktuelleNote auf &#8230;

wird der zuvor bezogene Listenwert der Variable

AktuelleNote

zugewiesen.</p> <p>W&#228;hlt den Befehl

Sende Zeichenfolge

im Men&#252;

Funk

und w&#228;hlt die Variable

AktuelleNote

um genau diesen Wert per Bluetooth in die Welt zu senden. Das Senden der n&#228;chsten Note soll um die Taktzeit verz&#246;gert werden. Hierf&#252;r nutzt ihr den Befehl

pausiere (ms) Takt

und setzt als Wert

500

ein. Dies sorgt f&#252;r eine Unterbrechung von einer halben Sekunde bevor die n&#228;chste Note aus dem Array versendet wird. Damit sp&#228;ter klar, ist wer zu eurer Gruppe geh&#246;rt und somit die Noten empfangen soll, muss in der

Beim Start

Anweisung eine Gruppe mit dem Befehl

Setze Gruppe 0

definiert werden (Men&#252; „Funk“ „mehr“).</p> <p>Die unterschiedlichen Calliopes sollen die versendeten Noten mith&#246;ren, pr&#252;fen ob sie selbst die empfangenen Noten spielen k&#246;nnen und dies gegebenenfalls auch tun. Hierzu m&#252;sst ihr zun&#228;chst definieren, welche Noten euer Calliope spielen kann. Definiert zwei Variablen

MeineNote1

und

MeineNote2

und weist ihnen mit der Anweisung

&#196;ndere MeineNote1 auf &#8230;

(Men&#252; „Variablen“) sowohl f&#252;r Note 1 als auch f&#252;r Note 2 die Tonh&#246;hen zu, die ihr mit den Klangrohren erzeugen k&#246;nnt. Damit ihr sp&#228;ter seht, auf welche Noten euer Calliope eingestellt ist, solltet ihr sie im Startmen&#252; mit dem Befehl

Zeige Zeichenfolge

kurz anzeigen.</p> <figure class=„rteinlinebild akwa-inline-img akwa-inline-img col-lg-12 col-md-12 col-sm-12 col-xs-12 c6“><img alt=„Screenshot Programm 2 &amp;quot;Empfangen&amp;quot;“ src=„https://heise.cloudimg.io/width/674/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/09_Bild_KonzertNo2_empfangen-6f9c25bef126683a.PNG“ srcset=„https://heise.cloudimg.io/width/1348/q30.png-lossy-30.webp-lossy-30.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/09_Bild_KonzertNo2_empfangen-6f9c25bef126683a.PNG 2x“ class=„c1“/><figcaption class=„rteinlinebild_source akwa-caption“>Konzert 2: Melodie empfangen</figcaption></figure><p>Der Befehl

Wenn Datenpaket empfangen receivedString

aus dem Men&#252; „Funk“ speichert die empfangene Zeichenfolge in der Variablen

receivedString

. Benennt diese Variable in

AkutelleNote

durch klicken auf

receivedString

um, das macht den Programmtext leichter verst&#228;ndlich.</p> <p>Nun braucht ihr die Funktion

Wenn wahr dann &#8230;

Funktion (Men&#252; „Logik“) um zu &#252;berpr&#252;fen, ob es sich bei der empfangenen Note um eine handelt, die euer Calliope spielen kann. Ebenfalls im Men&#252; „Logik“ befindet sich der Operator

0 = 0

. Ersetzt die erste Null mit

AkutelleNote

und die zweite Null mit

MeineNote1

. Es wird also gepr&#252;ft, ob die empfangene Note der ersten Note eures Calliopes entspricht. Die Befehle in der gr&#252;nen Klammer entsprechen nun denen aus Konzert Nummer 1, wenn der Knopf A gedr&#252;ckt wurde. Den

Wenn wahr dann &#8230;

Befehl m&#252;sst ihr noch f&#252;r die zweite Note wiederholen und anpassen. Jetzt k&#246;nnt ihr die beiden Programmteile Senden und Empfangen in einem Programm kombinieren. Somit kann jeder Calliope sowohl als Sender als auch als Empf&#228;nger eingesetzt werden.</p> <p>Noch kann der Calliope, der die Noten versendet, seine eigenen Klangr&#246;hren allerdings nicht ert&#246;nen lassen sollte. Die Erweiterung ist sehr einfach. Nachdem der Calliope eine Note versendet hat, soll er einfach pr&#252;fen, ob er selbst die Note spielen kann. Dazu wird der

wenn (AktuelleNote = MeineNote1) dann &#8230;

Befehl aus dem vorgehenden Beispiel wiederholt und hinter den Befehl

Sende Zeichenfolge AktuelleNote

gestellt und zwar einmal f&#252;r

MeineNote1

und nochmal f&#252;r

MeineNote2

. Jetzt kann auch der Dirigent mit musizieren.</p> <figure class=„rteinlinebild akwa-inline-img akwa-inline-img col-lg-12 col-md-12 col-sm-12 col-xs-12“ is=„a-grossbild“><a class=„grossbild cbox_gallery akwa-inline-imglink“ data-content-type=„image“ data-grossbildsrc=„/make/imgs/76/2/5/3/9/8/4/1/11_Bild_KonzertNo3a-f96211cf15baa15d.PNG“ href=„https://m.heise.de/make/artikel/Weihnachtsprojekt-Verteiltes-Glockenspiel-mit-mehreren-Calliope-Mini-4219883.html?view=zoom;zoom=27“><img alt=„Screenshot Programm 3 Variante 1“ src=„https://heise.cloudimg.io/width/1071/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/11_Bild_KonzertNo3a-f96211cf15baa15d.PNG“ srcset=„https://heise.cloudimg.io/width/2142/q30.png-lossy-30.webp-lossy-30.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/11_Bild_KonzertNo3a-f96211cf15baa15d.PNG 2x“ class=„c1“/></a> <figcaption class=„rteinlinebild_source akwa-caption“>Konzert 3: Melodie senden und empfangen, mit Funktionen</figcaption></figure><p>Allerdings wiederholen Programmierer nicht gerne Programmcode. Kleine &#196;nderungen m&#252;ssen ansonsten an mehreren Programmstellen eingearbeitet werden, was m&#252;hsam und fehlertr&#228;chtig ist. Abhilfe schafft die Verwendung von Funktionen (Men&#252; „Fortgeschritten“ „Funktionen“). Der Programmteil, der sich wiederholt, wird in die blaue Klammer der Funktion verschoben und dieser ein Name gegeben. Am Besten einer, der auf die Aufgabe der Funktion schlie&#223;en l&#228;sst. In diesem Beispiel bietet es sich an, die Funktionen <code>SpieleNote1</code> und <code>SpieleNote2</code> zu definieren. Sie enthalten die Befehle f&#252;r die Servosteuerung.</p> <figure class=„rteinlinebild akwa-inline-img akwa-inline-img col-lg-12 col-md-12 col-sm-12 col-xs-12“ is=„a-grossbild“><a class=„grossbild cbox_gallery akwa-inline-imglink“ data-content-type=„image“ data-grossbildsrc=„/make/imgs/76/2/5/3/9/8/4/1/12_Bild_KonzertNo3b-d6ec2de178289dae.PNG“ href=„https://m.heise.de/make/artikel/Weihnachtsprojekt-Verteiltes-Glockenspiel-mit-mehreren-Calliope-Mini-4219883.html?view=zoom;zoom=28“><img alt=„Screenshot Programm 3 Variante 2“ src=„https://heise.cloudimg.io/width/1060/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/12_Bild_KonzertNo3b-d6ec2de178289dae.PNG“ srcset=„https://heise.cloudimg.io/width/2120/q30.png-lossy-30.webp-lossy-30.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/12_Bild_KonzertNo3b-d6ec2de178289dae.PNG 2x“ class=„c1“/></a></figure> <p>Sollen nicht nur ganze Noten, sondern auch Halb-, Viertel- und Achtelnoten in der Melodie verwendet werden, muss die Notenl&#228;nge zusammen mit der Tonh&#246;he im Array gespeichert werden. Dazu werden vor der Tonh&#246;he die Werte <code>g</code> (ganze), <code>h</code> (halbe), <code>v</code> (viertel) oder <code>a</code> (achtel) erg&#228;nzt. Eine Achtelnote D der zweiten Oktave wird somit zu <code>aD2</code>. Der erste Buchstabe der Note bestimmt die Pausenzeit bis die n&#228;chste Note gespielt wird.</p> <p>Definiert drei neue Variablen: <code>Notenlaenge</code>, <code>Ton</code> und <code>Takt</code>. Der Variablen <code>Takt</code> weist ihr in der Startklammer einen fixen Wert zu, beispielsweise 1000 ms. Der Variablen <code>Notenlaenge</code> weist ihr mit dem Befehl <code>Extrahiere aus &#8230; beginnend mit &#8230;</code> (Men&#252; „Fortgeschritten“ „Text“) den ersten Buchstaben des in <code>AktuelleNoteEmpfangen</code> gespeicherten Texts zu. Dazu m&#252;sst ihr die Werte von Position <code>0</code> bis <code>1</code> ausw&#228;hlen. Mit <code>&#196;ndere Notenlaenge auf / Extrahiere aus AktuelleNoteEmpfangen von 0 bis 1</code> wird also die Information g,h,v oder a in <code>Notenlaenge</code> gespeichert. Der <code>Ton</code>, beispielsweise D1, wird mit dem gleichen Befehl und den Positionen <code>1</code> bis <code>3</code> gespeichert.</p> <p>F&#252;r die Einhaltung der Pause definiert ihr noch die Funktion <code>Taktpause</code>. Nutzt die <code>Wenn &#8230; dann &#8230; sonst wenn&#8230;</code> Funktion (Men&#252; „Logik“) um die Variable <code>Notenlaenge</code> mit g,h,v und a zu vergleichen. Dazu m&#252;sst ihr im Setup der Funktion (blaues Icon) weitere <code>else if</code> Optionen in die Funktion ziehen. Den Wert in der Variablen <code>Notenlaenge</code> vergleicht ihr nach nacheinander mit den m&#246;glichen Tonl&#228;ngen. Ist die richtige Tonl&#228;nge gefunden, wird der Pausenbefehl ausgef&#252;hrt. Die L&#228;nge der Pause entspricht entweder dem <code>Takt</code> (L&#228;nge g), dem <code>Takt &#247; 2</code> (h), dem <code>Takt &#247; 4</code> (v) oder dem Takt geteilt durch 8 (a). Der Teilen-Befehl befindet sich im „Mathematik“ Men&#252;.</p> <figure class=„rteinlinebild akwa-inline-img akwa-inline-img col-lg-12 col-md-12 col-sm-12 col-xs-12“ is=„a-grossbild“><a class=„grossbild cbox_gallery akwa-inline-imglink“ data-content-type=„image“ data-grossbildsrc=„/make/imgs/76/2/5/3/9/8/4/1/13_Bild_KonzertNo4-b0b896222829dba4.PNG“ href=„https://m.heise.de/make/artikel/Weihnachtsprojekt-Verteiltes-Glockenspiel-mit-mehreren-Calliope-Mini-4219883.html?view=zoom;zoom=29“><img alt=„Screenshot Programm 4“ src=„https://heise.cloudimg.io/width/985/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/13_Bild_KonzertNo4-b0b896222829dba4.PNG“ srcset=„https://heise.cloudimg.io/width/1970/q30.png-lossy-30.webp-lossy-30.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/13_Bild_KonzertNo4-b0b896222829dba4.PNG 2x“ class=„c1“/></a> <figcaption class=„rteinlinebild_source akwa-caption“>Konzert 3 mit alben, Viertel- und Achtel-Noten. Aus Gr&#252;nden der &#220;bersichtlichkeit wurde dem Calliope-Dirigenten das Instrument weggenommen. Der Calliope, der eine Melodie sendet, spielt selbst keinen Ton. Aber das kann nat&#252;rlich leicht ge&#228;ndert werden.</figcaption></figure> <p>Ein Weihnachtsbaumanh&#228;nger sollte auch sch&#246;n leuchten. Folgende Funktionen sollen zum Schluss noch programmiert werden:</p> <ol class=„rtelist rtelist–ordered“><li>Jedes Mal, wenn eine Note empfangen wird, soll die bunte LED des Calliope in einer zuf&#228;llig ausgew&#228;hlten Farbe leuchten.</li> <li>Die LED-Matrix soll einen mit zwei Bildern animierten Stern anzeigen.</li> </ol> <figure class=„rteinlinebild akwa-inline-img rtepos_left col-lg-6 col-md-6 col-sm-6 col-xs-12 akwa-inline–left“ is=„a-grossbild“><a class=„grossbild cbox_gallery akwa-inline-imglink“ data-content-type=„image“ data-grossbildsrc=„/make/imgs/76/2/5/3/9/8/4/1/15_Bild_KonzertNo5_Farbwechsel-6b79c278a134919d.png“ href=„https://m.heise.de/make/artikel/Weihnachtsprojekt-Verteiltes-Glockenspiel-mit-mehreren-Calliope-Mini-4219883.html?view=zoom;zoom=31“><img alt=„Screenshot Programm 5 Teil 2“ src=„https://heise.cloudimg.io/width/785/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/15_Bild_KonzertNo5_Farbwechsel-6b79c278a134919d.png“ srcset=„https://heise.cloudimg.io/width/1570/q30.png-lossy-30.webp-lossy-30.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/15_Bild_KonzertNo5_Farbwechsel-6b79c278a134919d.png 2x“ class=„c1“/></a> <figcaption class=„rteinlinebild_source akwa-caption“>Konzert 5: RGB-LED beleuchten</figcaption></figure><p>Erstellt f&#252;r den Farbwechsel eine eigene Funktion und nennt sie

ZeigeZufaelligeFarbe

und erstellt eine neue Variable mit dem Namen

Farbe

. Dieser Variablen wird mit Befehl

W&#228;hle eine zuf&#228;llige Zahl zwischen 0 und 4

(Men&#252; „Mathematik“) ein Zufallswert zugewiesen. Mit

Wenn &#8230; dann &#8230; sonst wenn&#8230;

Funktion wird die Variable mit den f&#252;nf m&#246;glichen Werten verglichen und die LED, je nach Zahlenwert, mit dem Befehl

setze LED-Farbe auf &#8230;

(Men&#252; „Grundlagen“) auf eine andere Farbe eingestellt. Die Funktion wird auch im Programmteil

wenn Knopf A gedr&#252;ckt

vor der

Taktpause

aufgerufen.</p> <figure class=„rteinlinebild akwa-inline-img rtepos_left col-lg-6 col-md-6 col-sm-6 col-xs-12 akwa-inline–left“ is=„a-grossbild“><a class=„grossbild cbox_gallery akwa-inline-imglink“ data-content-type=„image“ data-grossbildsrc=„/make/imgs/76/2/5/3/9/8/4/1/14_Bild_KonzertNo5_Animation-dd12de94731b97cc.PNG“ href=„https://m.heise.de/make/artikel/Weihnachtsprojekt-Verteiltes-Glockenspiel-mit-mehreren-Calliope-Mini-4219883.html?view=zoom;zoom=30“><img alt=„Screenshot Programm 5 Teil 1“ src=„https://heise.cloudimg.io/width/502/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/14_Bild_KonzertNo5_Animation-dd12de94731b97cc.PNG“ srcset=„https://heise.cloudimg.io/width/1004/q30.png-lossy-30.webp-lossy-30.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/14_Bild_KonzertNo5_Animation-dd12de94731b97cc.PNG 2x“ class=„c1“/></a> <figcaption class=„rteinlinebild_source akwa-caption“>Konzert 5: LED-Matrix animieren</figcaption></figure><p>F&#252;r die Animation auf der LED-Matrix erstellt ihr eine weitere Variable namens

Animation

. Dieser Variable weist ihr den Befehl

erstelle gro&#223;es Bild

(Men&#252; „Fortgeschritten“ -&gt; „Bilder“) zu. Zeichnet in den ersten f&#252;nf Spalten den ersten Teil der Sternanimation und in den hinteren f&#252;nf Spalten den zweiten Teil. Aufgerufen wird die Animation &#252;ber den Befehl

scrolle Bild Animation mit Offset &#8230; und Intervall &#8230; (ms)

. Der Offset bestimmt, um wie viele Spalten das Bild bei der wiederholten Anzeige verschoben wird. Bei

1

w&#252;rden die Bildanimationen wie ein Lauftext nach links scrollen. Stellt den Wert auf

5

, so sieht man erst das eine, dann das andere Bild. Die Blinkfrequenz wird &#252;ber den Intervallwert eingestellt. Da diese Animation dauerhaft laufen soll, also auch wenn keine Melodie gespielt wird, wird der Befehl in der Schleife

dauerhaft

eingebettet.</p> <figure class=„rteinlinebild akwa-inline-img akwa-inline-img col-lg-12 col-md-12 col-sm-12 col-xs-12“ is=„a-grossbild“><a class=„grossbild cbox_gallery akwa-inline-imglink“ data-content-type=„image“ data-grossbildsrc=„/make/imgs/76/2/5/3/9/8/4/1/17_microbit-KonzertNo5-ebbec0bd4ffef005.PNG“ href=„https://m.heise.de/make/artikel/Weihnachtsprojekt-Verteiltes-Glockenspiel-mit-mehreren-Calliope-Mini-4219883.html?view=zoom;zoom=33“><img alt=„Screenshot Programm komplett f&#252;r microbit“ src=„https://heise.cloudimg.io/width/1266/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/17_microbit-KonzertNo5-ebbec0bd4ffef005.PNG“ srcset=„https://heise.cloudimg.io/width/2532/q30.png-lossy-30.webp-lossy-30.foil1/_www-heise-de_/make/imgs/76/2/5/3/9/8/4/1/17_microbit-KonzertNo5-ebbec0bd4ffef005.PNG 2x“ class=„c1“/></a></figure><p>Das war's, euer Weihnachtsbaumanh&#228;nger ist fertig. Viel Erfolg beim Nachbauen!</p> <noscript readability=„1“> <p><em>Bei Problemen mit der Wiedergabe des Videos aktivieren Sie bitte JavaScript</em></p> </noscript> <figure class=„video video–fullwidth akwa-inline-video player“><div class=„kaltura-video-container kaltura-player-shell js-player-dummy-play-button“><img alt=„Zwei Christbaumanh&#228;nger mit Calliope mini“ class=„kaltura-player-shellpreview-image c1“ src=„https://heise.cloudimg.io/width/1080/q50.png-lossy-50.webp-lossy-50.foil1/_www-heise-de_/make/imgs/76/2/5/4/7/7/0/6/Glockenspiel_Calliope_2-b51d348ff71200e2.jpg“ srcset=„https://heise.cloudimg.io/width/2160/q30.png-lossy-30.webp-lossy-30.foil1/_www-heise-de_/make/imgs/76/2/5/4/7/7/0/6/Glockenspiel_Calliope_2-b51d348ff71200e2.jpg 2x“/></div> </figure><ul class=„rtelist rte__list–unordered“><li><em>Hier gibt es alle <a href=„https://www.heise.de/make/downloads/76/2/5/3/9/8/4/1/Calliope_Glockenspiel.zip“ rel=„external“ target=„_blank“>Dateien zum Download</a>, inklusive der Plot-Vorlagen und Hex-Dateien f&#252;r den Calliope sowie eine Version f&#252;r den britischen BBC micro:bit.</em></li> </ul> <div class=„btn-toolbar whatsbroadcast-toolbar“> <p><a class=„btn btn-default stretch“ data-toggle=„.shariff“>Teilen</a> </p> <p><a class=„btn btn-default stretch“ data-toggle=„#whatsbroadcast“>Abonnieren</a> </p> </div> </html>

Cookies helfen bei der Bereitstellung von Inhalten. Diese Website verwendet Cookies. Mit der Nutzung der Website erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Computer gespeichert werden. Außerdem bestätigen Sie, dass Sie unsere Datenschutzerklärung gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information