
Inleiding
Een Arduino is een board met daarop een programmeerbare microcontroller (uController). Een originele Arduino kan je herkennen aan de groen blauwe kleur en aan het Arduino logo. Vandaag de dag zijn er ook veel kopieën in omloop in verscheidene kleuren. Een kopie mag niet het Arduino logo dragen, doen ze dit toch dan noemen we dit klonen en die zijn illegaal.
Een arduino board heeft verscheidene digitale in- en uitgangen en enkele analoge ingangen. Een digitale in- uitgang kan worden gebruikt om bijvoorbeeld schakelaars in te lezen of om leds of relais te schakelen.
Je moet hier ook denken aan servo motoren, stappen motoren, dimbare verlichting, lichtsluisjes etc.
Voor de modelspoorhobbyisten is het ook mogelijk om een arduino te gebruiken icm, DCC, Loconet, XpressNet en S88.
Dus om bovenstaande vraag te beantwoorden, ‘wat kan je er mee?’ Alles wat je kan bedenken.
Hoe werkt een Arduino
Een Arduino heeft zgn. GPIO pinnen. Dat staat voor General Purpose Input Outputs. Een zo’n pin kan je als een input gebruiken om bijvoorbeeld een schakelaar of een terugmelder in te lezen, maar je kan ook zo’n pin als output gebruiken om een ledje, relais of servo aan te sturen.
Dit is het interne schema van een zo’n Arduino pin. Alles tussen de zwarte lijntjes zit binnen in die grote zwarte chip op het Arduino board.

Die schakelaars zijn eigenlijk transistoren, maar dit legt wat makkelijk uit. In code kan je de pin op 5V aansluiten en op GND (0V) aansluiten. Je kan ook de interne pull-up weerstand aanzetten. Dit doe je meestal als je de pin als een input gebruikt.

In plaats van de interne pull up weerstand kan je ook zelf een externe pull up weerstand of een pull down weerstand plaatsen. Wat belangrijk is, is dat de pin of omhoog of omlaag wordt getrokken met een weerstand. Als je dat niet doet, dan heb je een ‘zwevende’ pin. De spanning is dan niet keihard 0V of 5V met als gevolg dat je willekeurige statussen kan krijgen. Alles onder de 0.7V wordt als een logische 0 beschouwd. Alles boven de 2.8V is een logische 1. Alles daar tussen is een grijs onvoorspelbaar gebied.
Arduino IDE installeren
Voordat je iets kan doen met een Arduino heb je eerst de software nodig op je computer. Dit is Arduino IDE (Integrated Development Environment)
De IDE kan je vinden de Arduino website. De laatste versie (op moment van schrijven) is 2.1.0. Je kan deze downloaden door op een van de linkjes te klikken. Voor windows:

N.B. Ik heb bijna al mijn projecten gedaan met de vorige versie 1.8.19. Ook deze versie staat iets lager op de website en kan je ook nog prima gebruiken.
Dan kan je nog kiezen of je wel of niet geld wilt doneren. Zo niet, klik dan op “just download”.

Dit download een installer in je download folder. Dit duurt meestal niet langer dan een minuut of twee.
Vanaf hier is het eigenlijk een kwestie van op accept klikken en dan next en install.




Et voila, dan is het al geschied.

Een arduino programmeren
Voordat een Arduino iets voor je gaat doen, moet het ding geprogrammeerd worden. Programmeren is niet iets wat iedereen ligt. Gelukkig zijn er verscheidene kant en klaar programma’s waarmee je zonder te programmeren toch ook al veel leuke dingen kan doen met een Arduino.

Een van de eerste dingen die je kan doen, is het openen van de ‘blink’ sketch (= benaming voor een arduino programma) en dat up te loaden naar je arduino board. Onder file -> examples -> 01. basics vind je de blink sketch

Om een Arduino te voorzien van een programma (ook wel flashen genoemd) moeten er in de IDE 2 instellingen gedaan worden. Het correcte type arduino board en de juiste COM port moet geselecteerd worden.

Beide instellingen vind je onder Tools.
Als de Arduino met USB is verbonden aan de computer, verschijnt de COM poort onder het tapje ‘Port’

Meestal is het de onderste, maar dit kan nog wel eens per computer verschillen.
Als beide instellingen goed staan, kan je de sketch eerst ‘bouwen’ door op het vinkje links boven in te drukken. De code in de IDE wordt dan ‘gecompileerd’ (veranderd naar instructies die de arduino begrijpt). Door vervolgens op de pijl naast het vinkje te klikken, wordt het programma in de Arduino geladen. Je kan ook direct op uploaden klikken omdat het het programma dan vanzelf gecompileerd wordt

Om te leren programmeren, kan je het beste beginnen met de voorbeelden te bestuderen en aanpassingen proberen te maken. Het helpt ook om YouTube tutorial video’s te bekijken. Aanvullend heb ik een twee delige cursus gemaakt waarin ik de belangrijkste ins en outs van de programmeertaal c++ uitleg. (nog niet af)
Als je codeert, is het raadzaam om regelmatig je sketch te compileren. Dit maakt het makkelijker voor je om eventuele foutjes te vinden. Als je namelijk 10 lijntjes heb getikt, en je hebt een compile-error dan weet je dat de error ergens in je 10 lijntje zit. Kom je na 500 lijntjes code er achter dat je een error heb.. ja ga maar zoeken.