Arduino is een open-source microcontroller platform. Dit betekent dat er door middel van hardware en software interactie met de fysieke wereld kan plaatsvinden. De Arduino kan via sensoren waarnemen en via actuatoren (led, servo’s enzovoort) invloed uitoefenen op de omgeving. Daarnaast kan het communiceren met verschillende soorten andere software. enkele voorbeelden hiervan zijn Flash, Processing en MaxMSP.
Het platform is snel en toegankelijk, waardoor de gebruikersinstap laag is, wat erin resulteert dat zelfs een beginner op het gebied van programmeren en hardware interessante interactieve projecten kan maken. Kortom het platform maakt het gebruik van technologie toegankelijker. Dit is te zien aan de immense populariteit van het platform onder artiesten, ontwikkelaars en hobbyisten.
De Helios
Door het open-source karakter kan iedereen zelf een Arduino maken of naar eigen wens aanpassen. De Helios – de beursgadget van Electronics & Automation 2013 – is hiervan een voorbeeld. Dit ontwikkelbordje is gebaseerd op de Arduino Leonardo en is uitgebreid met:
- Led matrix/led krant
- RGB led
- Drie witte ledjes
- Een real time clock
- Temperatuursensor
- Kleurensensor
- Wifly module
- Een batterijhouder
De ontwikkelomgeving: Arduino IDE
De Helios kan door middel van het Arduino IDE worden geprogrammeerd. Hiervoor wordt een uitgeklede versie van C++ gebruikt (wat echter niet betekent dat het alleen voor beginners is). Een programma dat voor een Arduino-compatibel platform wordt geschreven, heet een sketch en is onder te verdelen in twee delen: setup en loop.
De setup bevat onderdelen die maar een keer in de code hoeft worden uitgevoerd. Een goed voorbeeld van een element dat in de setup staat is de declaratie van de pennen die op het bordje aanwezig zijn. Om een led te laten branden of om een sensor uit te lezen moeten ze op één (of meer) pen(nen) worden aangesloten. In de setup zal gedeclareerd worden op welke pennen de onderdelen zijn aangesloten en of er naartoe geschreven moeten worden of naar geluisterd moet worden.
De elementen die in de loop staan worden telkens in dezelfde sequentie herhaald. Hier kunnen we bijvoorbeeld een led laten knipperen door de spanning eerst hoog te maken (zodat de led gaat branden), een seconde te wachten en vervolgens de spanning laag te maken en weer een seconde te wachten. Als dit het enige is dat in de loop staat dan zal de sketch weer terug gaan naar het begin van de loop (de spanning zal dus weer hoog worden).
Om een sketch naar het bordje te uploaden moet het aangesloten zijn op de computer. Vervolgens zal de seriële poort en het type bordje moeten worden geselecteerd (Arduino IDE, Extra -> Seriële poort, Extra -> Board). Klik vervolgens op het pijltje (2e icoontje van links) om de sketch naar het bordje te uploaden, de IDE geeft zelf aan of dit succesvol (of niet) is verlopen.
Wat hierboven beschreven staat is de basis van alle projecten die door middel van een Arduino-compatibel bordje kunnen worden uitgevoerd. Een meer gecompliceerde sketch zal meer/andere datatypen en zelfgemaakte functies bevatten. Tevens kan er gebruik worden gemaakt van externe libraries; dit zijn verwijzingen naar een stuk code (de bibliotheek) die vaak bestaan uit functies (boeken) die gecompliceerde taken uitvoeren.