Was ist eigentlich Arduino?
Seit einigen Jahren kann man gefühlt keine Internetseite mehr ansteuern, ohne früher oder später irgendwo auf den Begriff Arduino zu stoßen. Allein durch den jeweiligen Kontext und die häufige Nennung in den Medien hat jeder wohl eine ungefähre Vorstellung davon, was sich hinter dem Begriff verbirgt. Aber wieso ist Arduino eigentlich so extrem populär, und wie grenzt sich die Idee zum Beispiel von einem herkömmlichen Desktop-Rechner ab?
Arduino: Mehr als ein Gerät
Meistens hört man von Arduino in Zusammenhang mit irgendwelchen Hobby-Elektronik-Projekten. Dann geht es meistens um „einen“ Arduino oder „den“ Arduino. Dabei wird der Markenname Arduino als Synonym für eine ganze Reihe verschiedener Geräte verwendet. Auch wenn das der häufigste Kontext für den Begriff ist, so steckt hinter dem Namen eigentlich noch viel mehr als die bloßen Mikrocontroller-Boards.
Arduino ist inzwischen ein ganzes Ökosystem rund um die verschiedenen Hardware-Komponenten.
Das Arduino-Projekt wurde im Jahr 2005 von einer Gruppe befreundeter Entwickler in Italien gestartet. Sie veröffentlichten die Pläne für ihr erstes Mikrocontroller-Board unter einer Open-Source-Lizenz und fertigten die ersten 200 Prototypen. Von da an entwickelte sich das Projekt rasend schnell und inzwischen befinden sich viele Millionen Boards auf der ganzen Welt im Umlauf. Nach einigen Streitigkeiten der Projektgründer gibt es die Arduino-Boards heute in Europa auch unter dem Namen Genuino zu kaufen. Alles außer dem Namen bleibt dabei aber gleich.
Die Arduino-Boards
Der Hauptbestandteil des Arduino-Projekts ist eine Vielzahl von Mikrocontroller-Boards die jeweils verschiedene Modellbezeichnungen tragen (zum Beispiel Arduino Mega, Arduino Uno, Arduino Due oder Arduino Nano). Die Boards variieren in der Ausstattung, sind jedoch alle maximal so groß wie eine Zigarettenschachtel und meistens blau gefärbt. Durch das liberale Lizenzmodell gibt es inzwischen auch tausende Arduino-Klone. Diese dürften sich eigentlich nicht Arduino nennen (tun es aber trotzdem), und sind oftmals noch günstiger als die Original-Boards erhältlich. In der Funktion gleichen sie meistens den Arduino-Vorbildern, lassen aber oft bei der Verarbeitung zu wünschen übrig. In der Mitte aller Boards befindet sich das unscheinbare Herzstück: der Mikrocontroller.
Manchmal wird der Begriff Mikrocontroller als Synonym für einen Prozessor verwendet. Das ist aber nicht korrekt. Der Prozessor ist nur ein Teil des Mikrocontrollers. Unter dem schwarzen Deckel eines Mikrocontrollers verstecken sich viele elektronische Komponenten, unter anderem ein Prozessor aber auch kleine Speicher, Timer-Bausteine oder Digital-Analog-Wandler. Der Mikrocontroller ist also ein großer Werkzeugkasten für alle digitalen Aufgaben.
Arduinos sind Embedded-Komponenten, keine Desktop-Rechner
Ein Mikrocontroller-Board sollte nicht mit einem herkömmlichen Computer verwechselt werden. Es handelt sich um ein sogenanntes Embedded System, welches also in andere Systeme eingebettet wird, und nur ganz spezielle Steuerungs- oder Kontroll-Aufgaben übernimmt. Auf einem Arduino läuft kein Betriebssystem wie Windows oder Linux mit einer grafischen Benutzeroberfläche. Der Mikrocontroller verfügt über viele Ein- und Ausgänge an die beliebige elektronische Komponenten angeschlossen werden können. Deswegen nennt sich die Menge der Ein- und Ausgänge auch GPIO (General Purpose Input/Output). An diese Steckleisten können zum Beispiel Leuchtdioden, Lautsprecher, Displays, Motoren oder Sensoren angeschlossen werden. Der Mikrocontroller kann alle diese Komponenten steuern, auslesen und miteinander verknüpfen. Deswegen eignet sich der Arduino für so viele Einsatzgebiete: Modellbau, Kunstprojekte, Heim-Automatisierung, Wettermessung und vieles mehr.
Dafür muss der Mikrocontroller einmalig entsprechend programmiert werden. Das funktioniert relativ komfortabel mit der sehr etablierten Programmiersprache C, die für den Arduino-Einsatz an einigen Stellen noch etwas vereinfacht wurde. So lässt sich mittels weniger Textzeilen viel Funktionalität erreichen. Ein kleines Arduino-Programm, welches eine Leuchtdiode, die über den GPIO angeschlossen ist, blinken lässt, könnte so aussehen:
void loop() {
digitalWrite(13, HIGH); // LED ein
delay(1000); // Eine Sekunde warten
digitalWrite(13, LOW); // LED aus
delay(1000); // Eine Sekunde warten
}
Programmier-Schnittstelle mit an Bord
Arduino-Boards zeichnen sich gegenüber anderen Mikrocontrollern dadurch aus, dass sie neben dem Mikrocontroller noch weitere praktische Komponenten auf ihrer Platine beherbergen. Am wichtigsten ist dabei das Programmier-Interface. Damit kann der Code auf dem Mikrocontroller einfach über den USB-Anschluss eines anderen Computers verändert werden. Bei vielen älteren Mikrocontroller-Boards brauchten die Benutzer ein zusätzliches Gerät, um einen neuen Code aufspielen zu können. Anfänger können mit jedem handelsüblichen PC innerhalb von wenigen Minuten ihr erstes Programm auf den Arduino laden.
Arduino-Entwicklungsumgebung macht den Einstieg angenehm
Die zweite, große Komponente für den Erfolg des Arduino-Projekts ist die Entwicklungsumgebung, also die Software mit der man den Mikrocontroller programmiert. Diese Programme sind oft sehr groß, teuer, unübersichtlich und komplex, also sehr abschreckend für Einsteiger. Die Arduino-Entwicklungsumgebung ist das genaue Gegenteil: Die Software ist fast schon minimalistisch, verfügt nur über wenige Buttons und kann sofort verwendet werden. Wer anfängt einen Arduino zu programmieren, kann sich dank der Entwicklungsumgebung sofort auf den Code konzentrieren und muss sich nicht mit Einstellungen und Konfiguration aufhalten. Inzwischen können Arduino-Boards sogar direkt im Browser programmiert werden, ohne dass eine Entwicklungsumgebung installiert werden muss.
Arduino ist eine Macht im IT-Markt
Durch das offene Lizenzmodell, die Vielseitigkeit und den geringen Preis hat sich Arduino heute zu einer wahren Macht im IT-Markt entwickelt. Die hohe Verbreitung sorgt dafür, dass es eine riesige Community um die Boards gibt. Es gibt Anleitungen, Tipps und Foren für wirklich jeden erdenklichen Einsatzbereich. Inzwischen gibt es zwar eine Flut ähnlicher Projekte und Boards, die versuchen das Arduino-Prinzip zu verbessern oder für andere Bereiche zu adaptieren, aber trotzdem bleibt das Original in seiner Verbreitung gerade wegen der etablierten Community ungeschlagen.
Vielen Dank für den interessanten Beitrag. Ich interessiere mich für Arduino insbesondere die Erstellung von den Leiterplatten. Als DIY Liebhaber finde ich Arduino eine Spielwende.