ArduinoDe sketch

Een programma heet in Arduino taal een Sketch. Hier kun je zelf commando's ingeven.

Om de taal te leren adviseer ik sterk om het prachtige boek The C Programming Language geschreven door Brian Kernighan en Dennis Ritchie te lezen. Dit boek is voor het laatst uitgebracht in 1988 (2nd edition), maar nog steeds helemaal geldig.In begrijpelijk Engels beschrijven deze experts hoe je moet programmeren in de taal C. De taal die we ook voor de Arduino gebruiken en je stiekem ook tegenkomt in talen als C++, ObjectiveC, C# en afgeleide vormen in andere talen.



ArduinoDe sketch

Iedere sketch moet een minimale functionaliteit hebben.

// put your setup code here, to run once:
void setup() {

}

// put your main code here, to run repeatedly:
void loop() {

}

De basis van een sketch bestaat uit 2 delen, de setup en de loop. Iedere sketch heeft verplicht deze 2 delen nodig. Later zullen we zien dat we ook andere onderdelen nodig hebben, maar voor nu is dit voldoende.



Arduinosetup

De code die in de setup komt zal altijd een (1) enkele keer worden doorlopen bij de start van de sketch. Daarna niet meer. Dit doorlopen zal automatisch gebeuren. De setup gebruiken we om instellingen gereed te zetten.

Het woord setup moet op deze manier worden geschreven, in kleine letters



Arduinoloop

Nadat de setup is doorlopen dan is de loop aan de beurt.

De code in de loop zal continue worden doorlopen. Als de code in de loop is afgelopen dan start deze loop direct overnieuw. Dit gaat maar door-en-door-en-door. Zeg maar een herhaling (loop in het Engels). Misschien dat daar de naam ook vandaan zal komen?

Als je je sketch gaat uitbreiden dan zullen er andere code onderdelen (functies) bijkomen. De bovengenoemde 2 functies heb je echter altijd nodig.

Het woord loop moet op deze manier worden geschreven, in kleine letters



ArduinoPunt komma

Een belangrijke regel in de taal C is dat iedere regel moet worden afgesloten met een punt komma. Doe je dat niet dan zal de compiler hierover gaan klagen.



ArduinoCommentaar

Het is een goed gebruik om veel commentaar in je code op te nemen. Voor en tussen de code staat commentaar. Commentaar zijn opmerkingen die de programmeur heeft toegevoegd om alles leesbaarder te maken. Commentaar kan op 2 manieren worden opgenomen.

  • Gebied
/* ... */

Het commentaar staat dan tussen /* en */ tekens. Alles tussen deze tags is commentaar. Ook als hierin code statements staan zullen die niet worden uitgevoerd.

  • Regel
// ...

Een andere manier van commentaar is //, alles wat er verder rechts op dezelfde regel staat is dan commentaar.

Het is belangrijk om veel commentaar op te nemen, zodat je later nog steeds begrijpt wat iedere regel doet. Goed programmeren is goed commentaar toevoegen!



ArduinoVerifieren en Compileren

De code die je schrijft kan (of zal) soms fouten bevatten. Het is niet mogelijk om code die fouten bevat te uploaden naar het Arduino bordje. In de IDE kun je de code verifieren. Al je geschreven code zal worden nagelopen en als er fouten in zitten dan zal dat worden aangegeven. Je moet eerst de fouten herstellen voordat je verder kunt.

Als de code juist is dan kun je deze compileren en uploaden. Dit gaat in de IDE met een knop. Het compileren is het omzetten van je geschreven code naar een formaat dat de Arduino microcontroller begrijpt, zodat dat is gedaan zal deze machinecode worden overgepompt naar de Arduino. Sluit hiervoor de Arduino aan op je computer. De LEDs op de Arduino zullen even knipperen tijdens het laden en daarna gaat de Arduino meteen aan de slag.



ArduinoSyntax en semantische fouten

Er bestaan 2 soorten fouten. Een syntax fout is bijvoorbeeld een verkeerd geschreven woord. De compiler kan hier niets mee en zal een fout rapporteren. Code met syntax fouten kan niet worden gebruikt.

dely(1000);                  // wait for a second

Hierboven een syntax fout, omdat het commando delay verkeerd is geschreven (zonder a).

De andere fout is vaak lastiger, dat is een semantische fout. Bijvoorbeeld als je wilt dat iets 5 keer gebeurd, maar het gebeurd maar 4 keer, dan is er iets mis. De compiler weet niet dat er iets fout is. Het programma loopt immers gewoon goed. Maar de gebruiker ziet en weet dat er iets verkeerd is. Deze fouten kun je enkel vinden door goed te testen.

  delay(1);                  // wait for a second

Hierboven een semantische fout. Het commentaar geeft aan dat er een wacht periode van 1 seconde zal gebeuren. In werkelijkheid zal er slechts 1/1000 seconde worden gewacht. De compiler kan het commentaar niet lezen.



Copyright 2019 www.punthooft.nl
We do not collect cookies for advertisement. Your data is never send to third parties.