Strekdambaan, Arduino en Fotografie
/

 

Hoe programmeer ik een Arduino

Om een Arduino iets te laten doen zullen we een programma moeten maken (het programmeren) en overbrengen (laden) in onze Arduino hardware. De Arduino processor wordt bestuurd met simpele opdrachten (instructies): dit heet de machinetaal (assembly language).

Een programma is een verzameling opdrachten (instructies) die een computer vertellen wat hij moet doen. Bijvoorbeeld lees de waarde van een ingang en afhankelijk van de gelezen waarde stuur een uitgang aan: hiermee kan een Led aangestuurd worden. Met wat meer opdrachten kan je ook de Led laten knipperen.

Wij schrijven een programma niet in de machinetaal maar in een 'hogere orde' programmeertaal. Deze is voor ons beter begrijpbaar. Later wordt dit programma vertaald naar de machinetaal (compileren). Er zijn in de wereld vele verschillende talen waarvan Basic en C misschien wel de bekendste zijn. Voor een overzicht zie Wikipedia. Voor het programmeren de Arduino wordt een versie van C gebruikt.

Over het programmeertaal zelf later meer.  Wat we verder nog nodig hebben is een omgeving op onze computer om het programma te maken, te vertalen naar de Arduino machinetaal en uiteindelijk laden in ons Arduino processorbord. Deze ontwikkelomgeving wordt ook wel een IDE (Integrated Development Environment) genoemd, zie ook Wikipedia. Er zijn meerdere mogelijkheden.

Nadat we een programma gemaakt is moet het getest worden. Meestal zijn er fouten aanwezig die we moeten zien op te lossen. Dit proces noemen we debuggen (ontvlooien). Hier komen we later nog op terug.

Bibliotheken

Het mooie van de Arduino wereld is dat er al heel veel kant en klare software geschreven is voor allerlei toepassingen. Deze bibliotheken ondersteunen veel hardware die op een Arduino aangesloten kan worden, zoals displays, servo motoren, etc. Zo'n bibliotheek is standaard al aanwezig of kan eenvoudig toegevoegd worden. Elke bibliotheek heeft een aantal kant en klare voorbeelden die als basis kunnen dienen voor je eigen toepassingen. Voor meer uitleg over hoe je bibliotheken kunt toevoegen en voorbeelden van een aantal bibliotheken is te vinden in een aparte pagina.

Projectvoorbeelden

Via de site Project Hub zijn vele volledig uitgewerkte toepassingen te vinden, zeker  waard om eens door te snuffelen. Het is wel in het Engels, als dat een probleem is wil ik wel helpen. Vaak kan de gebruikte code (bibliotheken met voorbeelden) via de site GitHub gedownload worden. Hier wordt dan naar verwezen in de projecten. Deze site wordt door allerlei ontwikkelaars gebruikt voor het opslaan, beheren en beschikbaar stellen van hun programmatuur.

Ontwikkelomgevingen voor de Arduino

Standaard is er voor de Arduino ontwikkelingen een eenvoudige IDE beschikbaar. Deze kan worden gedownload via de officiële Arduino website. Deze site is Engelstalig. In het menu SOFTWARE vind je de keuzes ONLINE TOOLS en DOWNLOADS

Er zijn nu twee mogelijkheden:

  • Lokaal op onze eigen computer
    We programmeren op onze computer en beheren daar ook de bestanden. Hiervoor downloaden en installeren we de IDE voor ons eigen platform. De omgeving wordt geheel compleet en automatisch opgezet inclusief vele bibliotheken en voorbeelden, klaar voor gebruik.
  • Met de Arduino Web Editor
    Start met het programmeren online met deze editor (dus in een browser). Bewaar je programma (ook wel sketches genoemd) in de cloud en beschik altijd over de laatste up-to-date versie van de IDE. Dit is inclusief alle beschikbare bibliotheken en ondersteuning voor de Arduino borden. Ik heb het getest met Firefox en Google Chrome, beiden werkten. Wel is het noodzakelijk een plug-in te down-loaden voor de communicatie tussen de browser en het Arduino board via de COM poort. In de Web Editor wordt je doorverwezen.

Voor de meer gevorderden en voor grotere programma's kan je er ook voor kiezen om Microsoft's Visual Studio te gebruiken. Hier heb je dan veel meer mogelijkheden voor onder andere het creëren van Classes en het bekijken van de onderliggende code. Voor het testen kan nu ook gebruik gemaakt worden van een aanwezige debugger.

Ik gebruikte de Visual Studio Community Versie 2015, die gratis gebruik mag worden. Er is wel een plug-in (de Arduino IDE voor Visual Studio) nodig voor de ondersteuning van de Arduino. Ik gebruik nu de laatste versie Visual Studio Community Versie 2019.

Zie de volgende pagina: IDE Visual Studio

Het testen van een programma (debuggen)

Het testen van een gemaakt programma is niet altijd makkelijk. Het gebeurt zelden dat een programma gelijk goed werkt, wat dan? Zie de volgende pagina voor meer informatie Testen van programma's


..