Arduino: Warum und Wie

In den letzten Jahren ist die Arduino-Plattform zu einem Quasi-Standard im Bereich Mikrocontroller-Entwicklung geworden. Lange habe ich mich dagegen gewehrt, doch jetzt habe ich Zeit gefunden, mich mit der Materie intensiver auseinanderzusetzen.

Ausgangspunkt

In der Vergangenheit habe ich schon einige Projekte mit verschiedenen Mikrocontrollern gemacht. Die meisten von ihnen kamen aus dem Hause Atmel. Um ein Projekt zu realisieren ging ich dabei immer wie folgt vor. Ich hatte eine Idee, daraufhin folgten erste Grundüberlegungen zur Realisierung. Anschließend kamen kleinere Tests auf einem Breadboard und der Entwurf des Schaltplans. Ausgehend davon wurden die Bauteile auf einer selbst geätzten Platine oder einer Lochrasterplatine platziert und es folgte zum Schluss die finale Programmierung. Im Großen und Ganzen ein recht aufwendiger und Zeitraubender Vorgang, der teilweise dazu führte, dass bei relativ kleinen Projekten wegen des Zeitaufwands schnell die Lust verloren ging.

Warum Arduino?

Als die Arduino-Platfform auf den Markt kam machte sie nicht nur auf mich den Eindruck, dass sie sich mehr an Künstler, Designer und Einsteiger richtet. "Eine Plattform, die sich über eine bunte Oberfläche, ohne Makefile schreiben, ohne fundierte Grundkenntnisse der zugrunde liegenden Hardware und mit kaum Programmierkenntnissen, programmieren lässt, kann nur was für Anfänger, aber nicht für Fortgeschrittene sein." Doch als nach 1..2 Jahren der Mikrocontroller-Abstinenz nun doch wieder verschiedenste Ideen in meinem Kopf zu reifen begannen, habe ich mich noch einmal ausführlich mit der Arduino-Plattform befasst und konnte bei dem recht günstigen Preis nicht widerstehen ein Exemplar auch mal praktisch zu testen. Schnell wurde mir klar, dass meine Zweifel unbegründet waren und es einfach Spaß macht ein Projekt mit Arduino umzusetzen.

Warum also Arduino:

  • Relativ günstiger Preis (sicher ein reiner Mikrocontroller und ein Breadboard sind günstiger, aber bei Weitem nicht so komfortabel ...)
  • USB für Programmierung und Stromversorgung (Wesentlich handlicher als extra Netzteil und Programmiergerät)
  • Viele Erweiterungsplatinen erhältlich z.B. Bluetooth, TFT mit und ohne Touch, W-LAN, und viele mehr
  • IDE und Tools laufen unter Linux, Windows und MacOS X
  • Viele zusätzliche Bibliotheken zur einfachen Verwendung von TWI/I²C, TFT, Zugriff auf SD-Karten und vieles mehr
  • Gut verständliche Dokumentation, die auch Einsteigern den Einstieg erleichtert und verständlich erklären (leider momentan fast ausschließlich auf englisch)

Wie?

Für den Einstieg muss eine Arduino-Basis-Platine vorhanden sein. Diese kann zum Beispiel online bei den verschiedensten Händlern bestellt werden. Hier lohnt es sich verschiedene Händler zu vergleichen. Inzwischen gibt es nicht nur eine Basis-Platine sondern eine Vielzahl von verschiedenen "original" Platinen. Darauf zu achten ist, welche Anschlüsse für Erweiterungen vorhanden sind. Weiterhin gilt es zu beachten, welche zusätzlichen Funktionen gewünscht werden, so gibt es zum Beispiel sehr kompakte oder sehr stromsparende Platinen, aber auch Platinen mit einem integrierten Laderegler sind erhältlich. Neben den "original" Arduino-Platinen gibt es auch noch von Drittanbietern welche, die aber zum größten Teil mit den "original" kompatibel sind und noch weitere Funktionen aufweisen. Es schadet also nicht die Angebote zu vergleichen.

Weiterhin sollte vorhanden sein:

  • Breadboard
  • Verbindungskabel
  • Widerstände (am besten die ersten Tutorials anschauen, welche dafür benötigt werden und dann eine handvoll von jeder Sorte bestellen; der Preis für Widerstände liegt im Cent-Bereich)
  • LEDs, Button und was man sonst so braucht

Eine IDE zur Programmierung kann zum Beispiel über die Arduino-Webseite heruntergeladen werden. Diese basiert auf Java und ist für Linux, Windows und MacOS X verfügbar. Für eine schnelle Installation sei auf die vorhandenen und sehr ausführlichen Anleitungen verweisen.

Programmierung

Die Programme für den Mikrocontroller werden in C/C++ geschrieben. Das zum Einsatz kommende Wiring-Framework nimmt dem Entwickler bereits viel Arbeit ab und erleichtert nicht nur den Einstieg, sondern auch die tägliche Arbeit. Es existieren Bereits viele Beispiele auf der Arduino-Webseite, die die ersten Schritte ausführlich erläutern und auch weiterführende Informationen bieten.

Fazit

Die Arduino-Plattform erleichtert die Umsetzung der eigenen Ideen, denn sie ist einfach zu bedienen und es sind auch für Einsteiger schnell Fortschritte zu erkennen. Nichts ist schöner, wenn nach wenigen Minuten eine LED blinkt, ein Ton kommt oder das Gerät anderweitig auf Eingaben reagiert. Doch auch für Fortgeschrittene bietet sie die Möglichkeit schnell Prototypen zu entwickeln und davon ausgehend später die eigentliche Umsetzung zu planen. Persönlich kann ich nur jedem empfehlen, der ein Projekt mit einem Mikrocontroller plant, sich Arduino genauer anzuschauen. Meine Vorurteile haben sich bis jetzt alle zum Positiven gewandelt.

Verwandte Artikel