Tüfteln mit Arduino

Scheibenwischer, Alarmanlagen, eine Sound- und Lichtanlage, Bewegungsmelder mit Pincodes und Lesegeräten – Was mit einem kleinen Steckbrett und ein paar Kabeln alles möglich ist - Lilith hat es ausprobiert.

Bild: Lilith

Ein paar Lichter auf der dünnen Plakette leuchten auf; - aber der Lautsprecher gibt einmal wieder keinen Ton von sich. Mist! Jetzt ist systematisches Ausprobieren angesagt, um den Fehler zu beheben. Ist es das Programm, das noch fehlerbehaftet ist? Ist das Bauteil selbst kaputt, oder hat sich doch irgendwo in der Verschaltung der vielen kleinen Drähte ein Fehler eingeschlichen? Ich ergänze ein paar Zeilen im Programmcode und stecke das feine Ende des Kabels, mit dem ich mein Bauteil mit dem Ground verbinde, zur Sicherheit noch einmal aus und wieder ein. Ich starte das Programm erneut und ein paar Sekunden später ertönt endlich das zuvor einprogrammierte Lied „Alle meine Entchen“. Das Display leuchtet auf und zeigt die Schrift: „Es läeuft: AlleMeineEndchen ;)“, gleichzeitig geht eine RGB (Rot-Gruen-Blau-LED) an. Wenn ich nun die richtigen Tasten meiner über einen Infrarotsensor mit dem System verbundenen Fernbedienung betätige, kann ich genau regulieren welche Mischung aus rotem, grünen und blauen Licht ich erhalten möchte.

Ich sitze gerade in einem der Gebäude der Universität Jena. Vor einem Tisch, auf dem neben meinem Laptop kleine Kabel, Lampen, Steckbretter und Sensoren verteilt sind. Bereitgestellt sind mir all diese Bauteile als Teilnehmerin des Informatik-Sommer-Camps. Apps Programmieren, automatische SMS verschicken lassen, Kometen im Weltraum ausweichen, all das ist möglich in den Workshops, die in den drei Tagen angeboten werden. Ich habe mich für den Kurs Arduino entschieden. Doch – was ist Arduino überhaupt? Ich hatte davor zwar schon einmal etwas davon gehört, aber was sich hinter diesem Namen tatsächlich versteckt, das musste auch ich erst einmal herausfinden.

*Für was steht Arduino?*
Arduino, das übrigens im März 2015 zu Genuino umbenannt wurde, ist eine Mischung aus Hard- und Software. Die Hardware ist hierbei aus einem einfachen Mikrocontroller samt analoger und digitaler Ein – und Ausgänge aufgebaut. Die Programmierung selbst erfolgt in der Programmiersprache C und das Ganze wird seit 2005 in Italien hergestellt und weiterentwickelt. Das Beste an diesem lern- und Werkelmodell liegt darin, dass nicht wie so häufig beim Programmieren, das Resultat nur virtuell vorliegt. Denn bei Arduino kann man eins zu eins das an Minimodellen umgesetzt sehen, was man gerade in den Quellcode eingefügt hat, wie z.B. meine MiniSound- und Lichtanlage, die in Bau und Programmierung schon etwas komplexer ist. Doch es lässt sich durchaus auch mit einfacheren Modellen einsteigen, denn mit Arduino ist sehr vieles möglich: eine Alarmanlage, ein Temperatur- und Luftfeuchtigkeitsregulator, ein mp3-Player, eine Lichtanlage, ein Auto, … , den Ideen sind hier keine Grenzen gesetzt, sodass auch jeder, egal ob Anfänger, oder Informatikdoktorand, auf etwas stoßen kann, an dem er Spaß findet.

*Welche Skills brauche ich, um damit anfangen zu können?*
Feinmotorisch nicht ganz unbegabt sollte man auf jeden Fall sein, Spaß am Lösen von Problemen haben, gehört auch mit dazu, wenn man sich mit Arduino anfreunden möchte. Denn immer wieder kommt man in Situationen, in denen es nicht mehr weitergeht - dann ist das Mittel der Wahl meistens die Eingabe der Fehlermeldung oder des vermissten Elements in den nächstbesten Internetbrowser, der gerade zur Hand ist – denn online Diskussionsforen gibt es in Bezug auf Arduino reichlich, sodass man mit etwas Geduld und Zeit immer irgendwann auf eine Lösung stößt. Manchmal ist es nur ein Komma, das falsch gesetzt wurde, manchmal hat man tatsächlich einen Widerstand vergessen, mit einzubauen, ein andermal ist es ein ganzer Aufruf, den man in den mehreren Seiten Programmcode irgendwo übersehen hat.

*Es gibt immer etwas zu verbessern*
So ganz zufrieden bin auch ich noch nicht mit meinem programmierten Modell. Denn nun möchte ich unbedingt eine neue Idee umsetzen – eine zweite Lampe soll zusätzlich im Rhythmus des aktuell gespielten Liedes aufblitzen. Fünf Lieder gibt es momentan zur Auswahl, die ich bereits mühsam einprogrammiert habe. Darunter My Bonny, Hallelujah, oder die Hauptmelodie des Spiels Tetris. Mein Licht soll nun aber bei jedem Lied im richtigen Rhythmus aufleuchten – und dies möglichst genau. Die Umsetzung beginne ich schließlich damit, mir zu überlegen, wie ich diese zusätzliche Funktion am besten in meine bisherige Abfrage miteinbaue. Wo genau in meinen Code muss ich die neue Programmzeile implementieren?  Dann wird programmiert, gesteckt und getestet.

Aufpassen muss man gerade weil alle Möglichkeiten offenstehen sehr - denn je mehr Bauteile man ansteuern und kombinieren möchte, desto komplexer wird das ganze System. Doch genau dies ist das Schöne an Arduino. Man kommt immer wieder auf neue Ideen, und das Endprodukt kann nie perfekt sein, denn man kann immer noch etwas hinzufügen, oder noch eine weitere Querverbindung zusätzlich einbauen. Alleine in die Feinjustierung am Ende des Projekts könnte man Monate hineinstecken. Hat man beispielsweise eine Alarmanlage aufgebaut, geht man daran, mithilfe des keypads einen Code einzuprogrammieren, mit dem man den Alarm wieder ausstellen kann, versucht als nächstes, ob der ganze Aufbau auch mit einem Kartenleser funktioniert, möchte dann erreichen, dass das System bei unterschiedlichen Bewegungen, die bemerkt werden, unterschiedliche Töne von sich gibt, dass er je nach Stärke der Bewegung lauter oder leiser angeht,  dass der Besitzer der Anlage eine automatische SMS, um über sein aktuelles Geschehen im eigenen zu Hause bescheid zu wissen  – die Ideen enden nie.

Genervt blicke ich auf das Display. Die Übertragung vom Laptop auf meine Platine funktioniert schon wieder nicht – wie ich diese Wackelkontakte hasse. In diesen Momenten heißt es einfach, die schon immer bewährte Lösung anwenden – USB-Verbindung ein- und wieder ausstöpseln. Nach dem fünften Versuch funktioniert es auch dieses Mal. Endlich – und mein perfektionierter Programmcode kann auf meine Hardware übertragen und ausgeführt werden.

Je mehr man tüftelt und werkelt, umso größer fällt am Ende der Stolz aus. Auch meine Anlage ist schließlich fertig – ein Miniprototyp einer Multifunktionsanlage, bei der ich Ton und Licht in unterschiedlicher Lautstärke und verschiedenen Farben beispielsweise vom gemütlichen Sesselplatz aus per Fernbedienung, ansteuern kann. Doch das bleibt nicht lange aufgebaut – denn ich brauche schon bald wieder meine Bauteile und Eingänge, um das nächste Projekt umzusetzen. Vielleicht wird es dieses Mal tatsächlich eine vollautomatische Klimaanlage, kombiniert mit einem Heizkörper, der sowohl über App, als auch …

Also – für alle Tüftler, Informatikbegeisterte, oder einfach alle, die Spaß am Bauen und Herumspielen haben, ist es auf jeden Fall empfehlenswert, sich einmal an Arduino auszutoben.

Autorin / Autor: Lilith Diringer - Stand: 6. September 2016