Alvorens je een programma begint te schrijven moet je uiteraard eerst weten wat je hardware zal zijn, dit kan bijvoorbeeld een aantal shields zijn of een zelf gemaakte schakeling op breadbord of prototypeprint.
Doel van je Arduino project
Daarna stel je best in een aantal zinnen wat het doel is van je schakeling / programma. Bijvoorbeeld als het donker is moet de ledstrip beginnen oplichten, de helderheid van het licht moet geregeld worden met een potentiometer en de kleur met drie kleine schakelaars.
Uit deze zin haal je alles wat aangesloten is op je arduino. In het geval van het voorbeeld weet je dat er op een bepaalde pin de ledstrip is aangesloten dus een pin voor rood, eentje voor groen en nog een voor blauw. Je ziet ook dat er een sensor is voor licht te registreren en dat er drie schakelaars nodig zijn om het kleur licht in te stellen. Als laatste is er ook nog een potentiometer nodig voor de intensiteit te regelen.
In het programma schrijf je VOOR SETUP het datatype samen met de naam van de ingangen en uitgangen is gelijk aan de pin waarop het aangesloten is.
In het programma schrijf je IN SETUP voor elk van deze aansluitingen of het een input of output betreft.
In het programma BIJ LOOP komt het eigenlijke programma dat je gaat moeten beginnen opstellen.
Probleem grafisch voorstellen
Het is aan te raden om de tekst met voorwaarden waar het programma aan moet voldoen om te zetten naar een grafische voorstelling van het programma. Hierdoor zal het eenvoudiger worden om de code te schrijven. Deze grafische voorstelling noemt men een flowchart.
Een flowchart bestaat uit een aantal figuren die je telkens met een lijn verbind en die je de flow van je programma toont want zoals je misschien wel weet worden bij Arduino de instructies één na één uitgevoerd. De meest gebruikte figuren en hun betekenis vind je in deze tabel.
Eerst ga je dus terug zeer goed bekijken wat er allemaal in je programma moet gebeuren, we kijken hier terug naar het voorbeeld.
Opstellen van de flowchart
Bijvoorbeeld als het donker is moet de ledstrip beginnen branden, de helderheid van het licht moet geregeld zijn met een potentiometer en de kleur met drie kleine schakelaars.
Hieruit haal je dat …
1) er gekeken moet worden of het donker is => een sensor inlezen
2) een ledstrip moet aangeschakeld worden
3) de helderheid moet geregeld worden
4) een potentiometer moet ingelezen worden => een spanning inlezen
5) de kleur moet ingesteld worden
6) er drie schakelaars moeten ingelezen worden.
Nu moet je ervoor zorgen dat in je programma de belangrijkste delen eerst gebeuren, dit is het inlezen van sensoren, knoppen, de spanning van de potentiometer.
Daarna ga je acties moeten ondernemen op basis van de sensoren die je ingelezen hebt.
Hieronder de opgestelde flowchart, er zijn meerdere flowcharts mogelijk die hetzelfde probleem oplossen.
Het begin gedeelte zijn de zaken die je voor en in setup moet realiseren, daarna lees je best eerst alle sensoren. Hier is dat de spanning van de potentiometer, de hoeveelheid licht en de drie schakelaars die de kleur bepalen.
Daarna kies je best de volgorde van de belangrijkheid van de sensoren. Als er voldoende licht is moet alles uit dus die kan je als eerste controleren. Als er voldoende licht is begint het programma na het uitzetten van de verlichting gewoon opnieuw. Is er niet voldoende licht dan zijn de andere sensorwaarden ook belangrijk.
Eerst werd de helderheid opgeslagen in een geheugen, deze komt overeen met de digitale waarde van de potentiometer.
Na de lichtsensor en potentiometer kijkt men één na één naar de toestand van de schakelaars. Is deze ingedrukt dan zal de overeenkomstige LED de gevraagde helderheid branden, is deze niet ingedrukt dan zal de overeenkomstige LED op helderheid 0 gezet worden. Na dit is het programma niet ten einde dus er komt geen blokje einde maar gaat men terug naar het begin waar men alle sensoren controleert (dit is alle code die dus in de loop zal komen)
Volgende les : opstellen van de C-code
Door dit te doen zie je dus met een flowchart de flow van je programma en kan je beginnen nadenken over de instructies die je nodig zal hebben om deze grafische voorstelling om te zetten naar arduino code. Het omzetten van flowchart naar code komt in deze tutorial aan bod.
Vorige les : uitleg van de for lus
De vorige tutorial toonde ons de for lus, deze zal code een vooraf bepaald aantal keren uitvoeren.