Beim Arduino handelt es sich um eine Kombination aus Soft- und Hardware, die als Physical-Computing-Plattform bezeichnet wird. Dabei sind Soft- und Hardware quelloffen. Das erste Arduino-Board wurde 2005 von David Cuartielles und Massimo Banzi entwickelt. Der klassische Arduino besteht aus einer Hauptplatine, die mit einem Mikrocontroller sowie analogen und digitalen Ein- und Ausgängen bestückt ist.
Hardware des typischen Arduino
Insbesondere unerfahrene Entwickler haben dank der Entwicklungsumgebung einen leichteren Zugang zur Programmierung. Dabei findet eine Programmiersprache Anwendung, die vor allem C++ oder C ähnelt. Sie wurde von David Mellis entwickelt. Umfangreiche Bibliotheken vereinfachen die Programmierung. Der primäre Einsatzzweck eines Arduino ist die Steuerung interaktiver Objekte oder die Interaktion mit Softwareanwendungen.
Ein typischer Arduino besteht aus einem Board, das auf einem Atmel-AVR-Mikrocontroller der Mega-AVR-Reihe basiert. Dabei setzen einige Arduinoboards auf andere Mikrocontroller von Atmel. Des Weiteren stellen die Modelle Yún und Tre eine Besonderheit dar, denn diese Arduinoboards bieten neben dem Mikrocontroller einen zusätzlichen Mikroprozessor. Zur Energieversorgung bieten die verschiedene Modelle einen USB-Anschluss oder eine externe Spannungsquelle. Für die Programmierung kommt eine serielle Schnittstelle zum Einsatz. Dabei ist der verwendete Mikrocontroller mit einem Bootloader vorprogrammiert, sodass die Programmierung ohne ein externes Programmiergerät erfolgen kann.
Die Software eines typischen Arduinos
Neben der besonderen Hardware weist ein Arduino auch eine integrierte Entwicklungsumgebung auf. Diese basiert auf der Java-Anwendung Wiring IDE, welche kostenlos für alle gängigen Betriebssysteme verfügbar ist. Zudem basiert die Wiring IDE auf der Processing-IDE. Diese ist speziell auf die Bereiche Grafik, Animation und Simulation ausgerichtet. Auch der integrierte Code-Editor sowie der Compiler erleichtern die Programmierung zusätzlich. Um ein funktionsfähiges Programm für den Arduino zu entwickeln, werden lediglich zwei Funktionen benötigt. Hierbei handelt es sich um eine „Setup“- und „Loop“-Funktion. Die Setup-Funktion wird nach dem Programmstart einmalig aufgerufen. Anschließend wird die Loop-Funktion genutzt, um eine Schleife mehrfach zu durchlaufen. Sobald das Ergebnis ein positives Ergebnis aufweist, wird das Arduino-Board aktiviert.