Programmeren met Arduino
Om een arduino te programmeren heb je software nodig: de programmeeromgeving. De arduino software is geschreven in java en gebaseerd op C/C++, processing, avr-gcc en andere open source hardware. Hieronder een kleine handleiding over de arduino programmeertaal.
1. Structuur
Mensen communiceren onderling via taal. Als wij met een computer communice-ren gebeurd dat ook door middel van een taal, programmeertaal, met heel ei gen regels en grammatica. Van die regels mag je niet teveel afwijken, want dan begrijpt de computer je niet meer. Een arduino programma (vaak een scetch, schets, genoemd) bestaat uit minstens twee program-ma blokken: De void setup en de void loop.
Om een arduino te programmeren heb je software nodig: de programmeeromgeving. De arduino software is geschreven in java en gebaseerd op C/C++, processing, avr-gcc en andere open source hardware. Hieronder een kleine handleiding over de arduino programmeertaal.
1. Structuur
Mensen communiceren onderling via taal. Als wij met een computer communice-ren gebeurd dat ook door middel van een taal, programmeertaal, met heel ei gen regels en grammatica. Van die regels mag je niet teveel afwijken, want dan begrijpt de computer je niet meer. Een arduino programma (vaak een scetch, schets, genoemd) bestaat uit minstens twee program-ma blokken: De void setup en de void loop.
void setup () { …… }
Aan het begin van het programma staat de "void setup". In de void setup staat wat we allemaal gebruiken (welke variabelen, pinnen etc.). Net als het recept voor het bakken van een cake: We hebben nodig meel, eieren, kom, oven, etc.. Na het woord setup staan twee haakjes.. Daarna komen twee gekrulde haakjes {accolades}: Hiertussen staat de informatie van de setup. De void setup wordt bij het opstarten van het programma één keer gelezen en onthouden door de arduino. |
void loop () { …… }
In de void loop functie wordt beschreven wat er gedaan moet worden. Om bij de vergelijking met de cake te blijven: Doe het meel en eieren in de kom, goed mixen, 60 min in de oven, etc.. De instructies die in de void loop staan worden eindeloos herhaald tot de stroom wordt uitgezet. De loop begint en eindigt altijd met een accolade, maar binnen de loop kunnen kleinere blokjes programma staan die weer hun eigen paar accolades hebben. Als je in de ardiuno sketch naast een accolade klikt laat het programma je zien waar de tweede staat. |
2. Speciale tekens
Arduino heeft een aantal tekens om coderegels, commentaren en codeblokken aan te geven.
Arduino heeft een aantal tekens om coderegels, commentaren en codeblokken aan te geven.
; Puntkomma
Iedere instructie (programma regel) wordt afgesloten met een puntkomma. Vergeten puntkomma’s zijn vaak oorzaak van niet compileren en frustratie. |
{} Accolades
Worden gebruikt om aan te geven wanneer een blok met codes begint en eindigt. Binnen een blok kunnen meerdere kleine code blokken liggen met elk hun eigen accolades. te bewerken. |
// Regel commentaar
Het programma negeert alles op die regel wat na de // komt. Het wordt gebruikt om commentaar te schrijven en ook om tijdelijk programma regels uit te schakelen. |
/*….*/ Commentaar
Blok wordt gebruikt voor commentaar over meerdere regels. Meestal gebruikt voor uitleg over het programma voor jezelf en anderen. Doen! |
3. Variabelen
Variabelen kan je gebruiken om getallen op te slaan in het geheugen om later weer te kunnen gebruiken. Er zijn verschillende type’s variabelen die meer of minder geheugenplek innemen, afhankelijk van het aantal getallen dat ze moeten opslaan.
Variabelen kan je gebruiken om getallen op te slaan in het geheugen om later weer te kunnen gebruiken. Er zijn verschillende type’s variabelen die meer of minder geheugenplek innemen, afhankelijk van het aantal getallen dat ze moeten opslaan.
int (integer)
Meest gebruikte data type. Heeft geen decimalen en kan een getal opslaan tussen -32.768 en 32.767 long Wordt gebruikt als integer niet groot genoeg is. Long kan getallen opslaan tussen –2.147.483.648 en 2.147.483.647 float van floating point: decimalen. Wordt gebruikt voor berekeningen met decimalen. Kost veel geheugenruimte boolean Kan een van de twee waardes hebben: true (waar) of false (niet waar). Boolean gebruikt heel weinig geheugenruimte char(character) een toetsenbordteken op in de ASCII code (bv A=65) |
4. Constanten
Een aantal woorden zijn bij de arduino gekoppeld aan speciale, constante waardes. Let op de hoofdletters en kleine letters !
Een aantal woorden zijn bij de arduino gekoppeld aan speciale, constante waardes. Let op de hoofdletters en kleine letters !
HIGH en LOW
worden gebruikt om een arduino pin aan of uit te zetten. Bijvoorbeeld: digitalWrite(13, HIGH); // dit betekend: zet 5 volt op pin 13 input en output bepalen of een pin een input (spanning meten) of output (spanning geven) is. Bijvoorbeeld: pinMode(13, OUTPUT); // pin 13 is een output. true en false controleren of iets waar of niet waar is. False (niet waar) is 0. Alle waardes die niet nul zijn beschouwt de arduino als true (waar). Bij voorbeeld: if (b==true); { doe iets; } |
5. Besturingsstructuren
if (conditie) {….}
Bij deze opdracht wordt gecontroleerd of de conditie die tussen de haakjes staat waar is. Als dat zo is wordt de actie uitgevoerd die tussen de accolades staat. Zoniet, dan wordt de actie overgeslagen.
Bij deze opdracht wordt gecontroleerd of de conditie die tussen de haakjes staat waar is. Als dat zo is wordt de actie uitgevoerd die tussen de accolades staat. Zoniet, dan wordt de actie overgeslagen.
Voorbeeld :
|
if (val == 1) {
digitalWrite(LED,HIGH); } |
// als de waarde val 1 is
// gaat de led aan |
if….else
Hier wordt gekozen tussen twee condities. Als de ene waar is, doe {…..} anders doe {——}
Hier wordt gekozen tussen twee condities. Als de ene waar is, doe {…..} anders doe {——}
Voorbeeld :
|
if (inputPin == HIGH) {
voer actie A uit; } else { voer actie B uit; } |
Hier klikken om te bewerken.
|
Je kan het nog verder uitbreiden. Let goed op de haakjes en puntkomma's.
Voorbeeld :
|
if (inputPin < 500) {
voer actie A uit; } else if (inputPin <= 1000) { voer actie B uit; } else { voer actie C uit; } |
for (variabele; voorwaarde; vermeerdering of vermindering;)
Laat je een stukje programma een bepaald aantal keren uitvoeren.
Laat je een stukje programma een bepaald aantal keren uitvoeren.
Voorbeeld :
|
for (int i = 0; i < 10; i ++)
{ Serial.print(“hoi”); } |
// De variabele heet i en begint bij 0. De voorwaarde is dat
// i kleiner is dan 10. i wordt telkens met 1 opgehoogd // Er wordt 10 maal "hoi" geplaatst op de serial monitor |
while (variabele)
Lijkt wel wat op de for loop. Doet iets zolang aan een bepaalde voorwaarde voldaan wordt. Wordt er niet aan de voorwaarde voldaan dan wordt het blokje overgeslagen.
Lijkt wel wat op de for loop. Doet iets zolang aan een bepaalde voorwaarde voldaan wordt. Wordt er niet aan de voorwaarde voldaan dan wordt het blokje overgeslagen.
Hier klikken om te bewerken.
|
var = 0; while (var < 200) {
var ++; } |
Hier klikken om te bewerken.
|