MaKey MaKey Shield für Arduino

MaKey MaKey ist ein Projekt von Eric Rosenbaum und Jay Silver. Im Prinzip ist ein ein Keyboard für den PC. Allerdings keine gewöhnliche Tastatur. Als Tasten kommt alles in Frage was irgendwie etwas Strom leitet, wie z.B. Früchte, Knetgummi, etc.

IMG_6197_8_9_fused.tif.jpg

Funktion:

Wie funktioniert das ganze eigentlich? Im Prinzip wie ein Spannungsteiler. Auf der einen Seite braucht man einen sehr großen Widerstand nach VCC (10-50MOhm PullUp). Das sind Mega Ohm nicht Milli Ohm! Auf der anderen Seite wird der Kontakt z.B. über einen Apfel, der Finger der den Apfel berührt und den menschliche Körper über das Erdungskabel nach GND hergestellt. Ohne dieses Erdungskabel funktioniert es leider nicht. Wenn dieser Widerstand kleiner ist als der große PullUp Widerstand, wird der Kontakt von der Software als geschlossen erkannt und das programmierte Keyboard/Mouse Event wird an den PC geschickt.

Aufbau:

Das Original MaKey Makey basiert auf dem ATmega32U4, der z.B. auch beim Arduino Leonardo eingesetzt wird. Auch auf den neueren Arduino Uno, Due und Mega Boards sitzt ein ähnlicher Prozessor, der ATmega8U2 oder ATmega16U2. Dieser dient dort als USB Seriell Wandler. Eine Besonderheit dieses Prozessors ist es, das er auch als USB HID Device betrieben werden kann. Mit den älteren Arduinos (mit FTDI Chip) funktioniert dieses Shield deshalb nicht.

Hier kommt ein Arduino Klon, das Itead Leonardo zum Einsatz. Verwendet man ein Arduino Uno Board, wird die Sache etwas schwieriger. Von Hause aus ist der Mega8U2/16U2 nicht USB HID fähig. Man muss erst ein neues Programm aufspielen (googeln nach LUFA ode HIDUINO). Das habe ich selbst nicht ausprobiert.

 

Leider ist das MaKey MaKey Board schwer in Deutschland zu bekommen, zudem kostet es knapp 50€. Da die Schaltung Open Source ist und auch nicht sehr anspruchsvoll, kam mir die Idee ein Arduino Shield auf Lochraster zu bauen. Im Prinzip hatte ich alles notwendige, bis auf die 22 MOhm Widerstände. Da diese bei den üblichen Elektronik Versendern nicht zu bekommen sind, habe ich einfach je Pin 2 x 10 MOhm in Reihe geschaltet.

Hier ist die Schaltung des Shields. Derzeit sind nur 8 Taster verdrahtet, aber es gehen auch noch mehr.

Damit man Board auch ohne Bananen oder sonstiges testen kann, besteht jeder Kontakt auf dem Shield aus Kupfer Klebefolie und einem Lötnagel. Daran lassen sich recht einfach Krokodilklemmen befestigen. Dazu noch eine extra große Massefläche.

Hier noch ein Blick auf die Unterseite des Shields. Die Widerstände sind in der Bauform 1206 SMD. Das lässt sich noch einfach löten und nimmt nicht soviel Platz weg, wie bedrahtete Widerstände. Der Aufbau ist wirklich sehr einfach.

 

Anwendung:

Was macht man nun mit dem MaKey MaKey? Man kann es für alle PC Programme oder Spiele benutzen, die sich mit der Tastatur oder Maus bedienen lassen. Ja, man kann auch Maus Events ausgeben.

Viele Projekte benuzten MaKey MaKey zusammen mit Scatch als graphisches Frontend, z.B. als Keyboard Piano oderSchlagzeug. Mit Scratch kann man sehr leicht eigene Anwendungen oder Spiele grafisch zusammenklicken, ähnlich wie Lego Bausteine.

Mir kam als erste Anwendung das Spiel ‚Simon Says‚ in den Sinn. Dafür gibt es selbstverständlich schon mehrere fertige Scratch Versionen, muss man also nicht neu erfinden. Die von mir verwendete Version benutzt zwar andere Tasten, das lässt sich aber leicht umprogrammieren.

IMG_6191_2_3_fused.tif.jpg

 

 

Weitere Entwicklung:

Was mich im Moment am meisten stört, ist die notwendige Masseverbindung. Dafür gäbe es auch eine mögliche Lösung. Kapazitiv anstatt resistiv. D.h. man misst die Kapazität am Eingang, nicht den Widerstand. Für Arduino gibt es dafür bereits die CapSenseBibliothek. Ich habe auch ein Instructable gefunden, bei der eine Bleistift Zeichnung als Taster verwendet wird. Das sollte fast mit der bestehenden Hardware funktionieren. Mal sehen.

Video:

MaKeyMaKey Shield for Arduino

Dieses Video ansehen auf YouTube.

 

Weiterführende Links:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Ich akzeptiere

zwölf − 2 =