Mobiles Wifi-Traubenpiano mit Odroid-C1

Heute gibt es etwas ganz Besonderes: Eine ökologisch abbaubare, weil essbare Midi-Tastatur aus Trauben mit Wireless-Lan-Anschluss. Kein Scherz.
Technik:

Odroid-C1  mit Realtime Preemtive Kernel (Echzeit-Betriebssystem) incl. Midisoftware (ca. 40 Euro)
Vier MPR121 Touchcontroller von Freescale bzw. Breakout-Bord von Adafruit  (je ca. 9,50 Euro)
Ein WLAN-Stick (6-7 Euro)
Ein Paket Trauben (vom Türken: lecker!)
Viele Kabel.

UPDATE: Die aktuell überarbeitete Version des Traubenpianos mit HiFi-Shield -> https://blog.georgmill.de/2015/09/07/hifi-graped-piano-with-odroid-c1/

und die aktuelle DeLuxe Version für die Maker Faire Berlin 2015

Funktionsweise:
Die Hardware ->
Die 4 MPR121 Breakout-Boards von Adafruit werden über den I2C-Bus mit nur 2 Kabeln für den Bus und 2 Kabeln für die Stromversorgung an den Odroid-C1 angeschlossen. Wir haben so insgesamt 4 x 12 Anschlüsse für alles mögliche. Eine einfache Berührung des Anschlusses mit dem Finger reicht, um ein Midisignal zu erzeugen. Im Video habe ich zu Testzwecken einfach unsere Trauben in der Küche zur Miditastatur umfunktioniert. Um es optisch und für die Bespielbarkeit übersichtlich zu halten, habe ich nur ca. die Hälfte aller verfügbaren Anschlüsse mit Trauben bestückt (ich hatte auch nicht so grossen Hunger).

Die Software ->
Gesteuert wird das Ganze über ein simples Python-Script, das die Verarbeitung der Sensor-Signale in Midi-Steuerbefehle übernimmt. Zu diesem Zweck werden zunächst die erforderlichen Python Bibliotheken von der Adafruit-Seite  bzw. git clone https://github.com/adafruit/Adafruit_Python_MPR121.git installiert. Um den Sensoren Midi-tauglichkeit zu verleihen, laden wir die python-rtmidi Bibliothek in der Version 0.5b1 oder größer  herunter und kompilieren sie. Diese Bibliothek ist ein Wrapper für RTMidi

Mit diesen Bibliotheken lassen sich sehr einfach in Python Midi Ein- und Ausgaben realisieren. Auch Midi-Ports können damit konfiguriert werden.
Als Midi-Software kommen die Linux Standards jack mit qjackctrl zum einfachen konfigurieren und das Handling der Midi I/Os zum Zuge. Für die Sounderzeugung nutzen wir Zynaddsubfx.
Der Kernel (das Betriebssystem) für den Odroid-C1 ist ein von mir gepatchter Kernel  in der Version 3.10 (alt, aber bezahlt 🙂
Die Patches stammen von https://www.kernel.org/pub/linux/kernel/projects/rt/ und  https://github.com/emlid/linux-rt-odroid-c1 und wurden auf den original Odroid-C1 Kernel von Hardkernel.com  angewendet.

Auf den Desktop des Odroid-C1 greifen wir mit vnc  zu. Wie das relativ einfach geht, steht hier.

Das Ergebnis sieht dann so aus (ohne Worte, aber mit viel Sound):

Update:

Rob Roy, Editor-in-Chief of ODROID Magazine, wrote a comment for my „traubenpiano“:

I would love to be able to bite into a banana and see a disco light show playing in my living room.

So, your wish is my command 😉  …and seriously: DO NOT PLAY WITH MAINS. IT COULD KILL YOU!  Spiele NICHT mit Starkstrom. Es  könnte Dein Leben kosten! This video is fully TRUE! It’s NOT A FAKE!

Of course, this could be improved: Instead of the stepper motor a DC motor could spin faster. You could connect up to 48 banana eaters so the light wouldn’t stop. If it’s dark, the lights would reflect much better.