Um meinen Horizont zu erweitern schaue ich mir von Zeit zu Zeit gerne neuere Mikrocontroller Plattformen für Maker an. Da wären zu nennen Gemma und Flora von Adfruit , der Spark Core oder von Intel das Galileo bzw. Edison Board. Aktuell nehme ich den Spark Core unter die Lupe und das geht am Besten beim Umsetzen neuer Projektideen. Das abspielen von Melodien hat mich schon länger interessiert und so entstand die Idee zu diesem Tutorial. Mit einer Photodiode, einem Piezo Lautsprecher und dem Spark Core lassen sich bereits mit einfachen Mitteln beindruckende Ergebnisse erzielen. Den Core habe ich euch ja bereits im Unboxing Spark Core vorgestellt. Heute werden wir diesen nutzen um eine kleine Animation im Super Mario Style umzusetzen.

Um das Projekt ein wenig plastischer zu gestallten, habe ich auf den NES Helden Mario zurückgreifen. Den kennt schließlich jeder. Ihr lernt in dem Projekt, wie Ihr einen Spark Core anhand einer Photodiode erkennen lasst, ob sich Mario in der dunklen Underworld befindet oder in der sonnigen Landschaft von Mario World befindet. Abhängig davon könnt Ihr den Piezo Hochtöner verschiedene Melodien spielen lassen.

Folgendes wird benötigt:

  • Spark Core inkl. Mini Bread Board
  • Photodiode
  • Piezo Lautsprecher
  • 10K Ohm Widerstand
  • 5 Steckverbindungen
  • eure Kreativität

Aufbau des Spark Core mit Photodiode und Piezo Lautsprecher

Damit Ihr noch genug Raum für den Piezo Lautsprecher und den Lichtsensor habt, steckt ihr den Spark Core am Besten an das Ende des Breadboard (siehe Bild). Die Stromversorgung könnt Ihr mithilfe des ausgelieferten USB Kabel herstellen. Tipp: Im Gegensatz zu den Arduinos arbeitet der Spark Core nicht mit 5 sondern mit 3,3 Volt.

Spark Core mit Photodiode und Piezo Summer

Die Photodiodenschaltung ist schnell hergestellt. Die Diode wird mit 3,3 Volt vom Spark versorgt und über den 10K Ohm Widerstand auf Masse gelegt. Anders als es auf dem Foto aussieht, müsst Ihr die Steckverbindung – orange, rechts vom Spark – mit 3V3* verbinden. Zwischen der Diode und dem Widerstand steckt Ihr eine Steckbrücke, welche den Sensor mit einen der acht analogen Pins verbindet (ich habe A0 genutzt). Der Piezo Summer bekommt sein Signal vom Pin D0 (Null) und wird mit dem anderen Bein auf Masse verbunden. In dem folgen Bild könnt Ihr die Verbindungen erkennen.

 

 Das Sketch

Anders als bei Arduino gibt es die IDE von Spark nicht zum Download sondern nur Online auf folgenden Link Link zur IDE für den Spark Core. Um den Core zu programmieren, verbindet Ihr diesen mit eurem WLAN. Dazu findet Ihr eine kleine Video Anleitung dazu auf unserem Spark Core mit IDE verbinden.

Spark_IDE

Für den Sound habe ich auf ein Sketch von Dipto Pratyaksa von seinem Blog-Post „PLAYING MARIO BROS TUNES ON ARDUINO WITH A PIEZO BUZZER“ zurückgriffen. Dito hatte das Sketch ursprünglich für den Arduino geschrieben. Die positive Erfahrung war, dass es sich ohne Probleme direkt auf dem Spark Core verwenden lies. Soweit kann ich also sagen, das die Hardware 100%ig kompatibel ist. Ich habe mir erlaubt die Kommentare für dieses Tutorial ins Deutsche zu übersetzen.

In dem Sketch werden zunächst die einzelnen Noten für den Piezo Summer definiert. Dazu wird für jede Tonlage eine Konstante definiert.

Um aus den einzelnen Noten eine Melodie zu komponieren, sind zwei Dinge wichtig. Erstens die richtige Anordnung der einzelnen Töne sowie zweitens die Taklung (Dauer) der einzelnen Töne. Da wir zwei unterschiedliche Melodien spielen wollen, werden dazu vier Arrays zum Speichern dieser Informationen angelegt. Hier ein Auszug aus dem „melody“ Array für die Töne . . .

und hier ein Auszug aus dem passenden Array für den entsprechenden Takt.

Mit der Funktion „sing()“ werden die beiden Arrays wieder zusammengeführt und zur Wiedergabe inkl. der notwendigen PIN Nummer für den Piezo Buzzer an die Funktion „buzz()“ weiter gegeben. Der Rest ist ein Kinderspiel. Um den Sound abhängig von der Hellwig kein zu beeinflussen wird mit analogRead die Photodiode ausgelesen und eine bool Variable (true/false) „isDark“ gesetzt. Im Loop wird mit einer If schleife geprüft und in Abhängigkeit die Funktion „sing()“ mit dem Wert 1 oder 2 aufgerufen.

Hier das gesamte Sketch inklusive der erklärenden Kommentare. Dieses sollte auch mit eurem Arduino funktionieren.

Lass deiner Kreativität freien Lauf

Soweit zur Theorie und Praxis. So richtig Spaß. Nun könnt Ihr eurer Kreativität freien Lauf lassen. In unserem Teaser habe ich einen Mario sowie eine Röhre in die Underworld mit Papier und Schere präpariert. Aber natürlich könnt Ihr auch andere Helden zum leben erwecken.

Super Mario mit Photodiode im Knopf und Piezo im Bauch
Super Mario mit Photodiode im Knopf und Piezo im Bauch

Fazit

Wer die Musik bezahlt, darf auch entscheiden, was gespielt wird. In diesem Tutorial haben wir euch gezeigt wie Ihr auf einem Arduino oder wie in diesem Fall einem Spark Core Melodien abspielen könnt. Weil er so schön klein ist und zu 100% Arduino Kompatibel ist, war der Spark für dieses Projekt gut geeignet, . Einziger Nachteil, da viele Sensoren inzwischen für 5 Volt ausgelegt sind, ist gewöhnungsbedürftig, das dieser nur mit 3,3 Volt arbeitet. Wir hoffen Ihr hattet viel Erfolg und Spaß beim Basteln. Wenn Ihr mögt, dann folgt uns auf Facebook oder Abonniert unseren YouTube Channel. Habt Ihr bereits andere Projekte mit einem Spark Core umgesetzt?

Spark Core – Erwecke mit Photodiode und Piezo Buzzer Super Marion zum Leben.
Markiert in:        

Ein Gedanke zu „Spark Core – Erwecke mit Photodiode und Piezo Buzzer Super Marion zum Leben.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.