Structuur – Claasen-tech https://claasen-tech.nl Sun, 29 Dec 2024 13:55:06 +0000 nl-NL hourly 1 https://wordpress.org/?v=6.7.2 https://claasen-tech.nl/wp-content/uploads/2022/02/cropped-favicon-32x32.gif Structuur – Claasen-tech https://claasen-tech.nl 32 32 Wat is de structuur van een programma https://claasen-tech.nl/c-plus-plus/structuur-van-een-programma/ Sun, 21 Apr 2024 17:04:54 +0000 https://claasen-tech.nl/?p=2872

Omschrijving
De structuur van een Arduino programma (sketch) is vrij eenvoudig en omvat over het algemeen de volgende hoofdonderdelen:

  1. Opmerkingen: Begin van een sketch vaak met opmerkingen die informatie geven over de auteur, het doel van de sketch en andere relevante details. Opmerkingen beginnen met // voor enkele regels of /* */ voor blokken tekst.
  2. Bibliotheken Includeren: Hier voeg je bibliotheken toe die nodig zijn voor jouw project. Dit gebeurt aan het begin van de sketch met de #include directive. Voorbeeld: #include <Servo.h> om een servomotor te besturen.
  3. Variabelen Definiëren: Hier declareer je globale variabelen die in de hele sketch gebruikt zullen worden. Je definieert bijvoorbeeld pinnen of andere parameters die je in meerdere functies gebruikt.
  4. Setup() Functie: Deze functie wordt eenmaal uitgevoerd bij het starten van de sketch. Je gebruikt het om pinmodi in te stellen (input, output), seriële communicatie te starten, of andere initialisatiecode uit te voeren die nodig is voordat de hoofdloop begint.
void setup() {
  pinMode(13, OUTPUT); // Stel pin 13 in als output
  Serial.begin(9600);  // Start seriële communicatie met 9600 bps
}
  1. Loop() Functie: De kern van een Arduino sketch, deze functie loopt continu zolang het Arduino bord van stroom wordt voorzien. De loop() bevat de code die de logica van het project bestuurt, zoals het lezen van sensoren, het maken van berekeningen en het aansturen van outputs.
void loop() {
  digitalWrite(13, HIGH);   // Zet pin 13 aan
  delay(1000);               // Wacht een seconde
  digitalWrite(13, LOW);    // Zet pin 13 uit
  delay(1000);               // Wacht nog een seconde
}
  1. Additionele Functies: Je kunt extra functies definiëren die door loop() of setup() worden aangeroepen. Deze functies kunnen helpen om de code overzichtelijk en modulair te houden.

Elk van deze onderdelen helpt bij het organiseren van de code en maakt het programmeren van de microcontroller effectiever en gestructureerder.

Gebruik van hoofd- en kleine letters
Gebruik hoofd- en kleine letters op de correcte manier, C++ is hoofdletter gevoelig. Dit wil zeggen dat het commando PinMode(13, OUTPUT); niet werkt en pinMode(13, OUTPUT); wel. Omdat pinMode() met een kleine letter p aan het begin geschreven moet worden. Dit geldt dus ook voor variabelen. Hierdoor zijn int pinLED = 13; en int PinLED = 14; twee verschillende variabelen. Gebruik voor variabelen duidelijke namen die omschrijven wat de inhoud van een variabele is, bijvoorbeeld int geboorteJaar = 1990; en int geboorteDag = 23;.

Gebruik van de ‘;’ (puntkomma)
In programmeren is de puntkomma (;) zoals een punt aan het einde van een zin. Het vertelt de computer dat je klaar bent met een instructie. Als je het vergeet, raakt de computer in de war omdat het niet weet waar de ene instructie stopt en de volgende begint. Het is een klein teken, maar heel belangrijk om fouten te voorkomen.

Gebruik van ‘{}’ (accolades)
Stel je voor dat je een reeks taken hebt die je wilt uitvoeren, maar alleen onder bepaalde omstandigheden. Accolades helpen je om deze taken als één geheel te groeperen, zodat ze alleen worden uitgevoerd wanneer die specifieke omstandigheden zich voordoen. Ze werken als een container die de taken bij elkaar houdt en vertelt de computer dat alles binnen die container samen hoort. Dit maakt je code gemakkelijker te begrijpen en te beheren, omdat je duidelijk kunt zien welke taken samen worden uitgevoerd in een bepaalde situatie. Je ziet ze bijvoorbeeld bij de setup() en loop() functie. Zo zie je wat er bij elke functie hoort, ze geven het begin en het einde aan.

Inspringen van de programma regels
Het inspringen van tekst in C++ code (of in elke andere programmeertaal) is belangrijk om verschillende redenen:

  1. Leesbaarheid: Goed ingesprongen code is veel makkelijker te lezen en te begrijpen. Dit helpt de persoon die de code schrijft en anderen die later de code moeten aanpassen.
  2. Structuur: Inspringen maakt de structuur van de code duidelijker. Vooral bij herhalingen zoals lussen (for) en voorwaarden (if). Hierdoor kun je snel zien welke stukken code bij elkaar horen.
  3. Fouten vermijden: Correct inspringen helpt om logische fouten te voorkomen. Als de inspringing niet klopt, kan dit betekenen dat er een fout in het programma zit.
  4. Samenwerking: Als iedereen dezelfde inspringstijl gebruikt, is het makkelijker voor teams om samen te werken en de code te begrijpen.

Download het programma zonder inspring en verbeter het, door de code te laten inspringen.

Zonder en met inspring

Voorbeeld van een compleet programma

/*
  Eenvoudige LED knipper sketch
  Auteur: Laurens
  Beschrijving: 
  Dit programma knippert een LED die is aangesloten op pin 13 van een Arduino bord.
  De LED wordt om de seconde aan- en uitgezet, waarbij de status via de seriële monitor wordt weergegeven.
*/

// Inclusief de standaard Arduino bibliotheek
#include <Arduino.h> 

// Variabelen
int ledPin = 13; // Het pinnummer waarop de LED is aangesloten

void setup() {
  pinMode(ledPin, OUTPUT); // Stel de pinmode van ledPin in op OUTPUT
  Serial.begin(9600);      // Start de seriële communicatie met de computer
}

void loop() {
  turnLEDOn();   // Roep functie aan om de LED aan te zetten
  delay(1000);   // Wacht 1000 milliseconden (1 seconde)
  turnLEDOff();  // Roep functie aan om de LED uit te zetten
  delay(1000);   // Wacht nogmaals 1000 milliseconden (1 seconde)
}

// Functie om de LED aan te zetten
void turnLEDOn() {
  digitalWrite(ledPin, HIGH); // Zet de LED aan
  Serial.println("LED AAN");  // Stuur een bericht naar de seriële monitor
}

// Functie om de LED uit te zetten
void turnLEDOff() {
  digitalWrite(ledPin, LOW);  // Zet de LED uit
  Serial.println("LED UIT");  // Stuur een bericht naar de seriële monitor
}
]]>
De Arduino C++ taal https://claasen-tech.nl/c-plus-plus/de-arduino-c-plusplus-taal/ Tue, 25 Jun 2024 20:23:55 +0000 https://claasen-tech.nl/?p=3482 , , , ,

Arduino C++ is een versie van C++ aangepast voor Arduino microcontrollers en andere compatibele microcontroller-systemen. Het bevat speciale functies en bibliotheken om hardware zoals sensoren, motoren en dergelijke gemakkelijk uit te lezen of aan te sturen. Arduino C++ code wordt geschreven in de Arduino IDE. Dit is een eenvoudige programmeer omgeving om te gebruiken. Ze helpt bij het ontwikkelen, compileren en uploaden van de code naar de hardware. Hierdoor is het een goede keuze voor zowel beginners als gevorderden.

Voor installatie-instructies van de Arduino IDE en configuratie-details van het ESP32-DevKitC bord, raadpleeg ‘Installeren Arduino IDE‘ en ‘Configuratie van ESP32-DevKitC in Arduino IDE‘. Deze zijn ook te vinden onder ‘Technische Info’.

We gaan hieronder de Arduino C++ taal uitleggen. Hier wordt niet te diep in de Arduino C++ taal in gegaan, maar genoeg om de workshops te maken en meer. Ik begin met het invoeren van de taal delen die we in de workshops gebruiken. Zodra die klaar zijn, voeg ik ook andere toe.

Als je deze pagina voor het eerst bekijkt, kun je het beste van boven naar onderen werken om zo een goed overzicht te krijgen van Arduino C++. Later kun je rechtstreeks naar het onderwerp gaan wat je nog een keer wil bekijken. Zoeken met de zoekbalk kan natuurlijk ook.

  • Wat is de structuur van een programma
    Hier wordt omschreven waar een programma uit bestaat en hoe dit opgebouwd is.
  • setup()
    Dit is de eerste standaard functie die wordt doorlopen. De commando’s die hier uitgevoerd worden, hoeven en/of mogen maar één keer uitgevoerd te worden.
  • loop()
    Dit is de tweede standaard functie die wordt uitgevoerd. Dit is het hoofd gedeelte dat steeds weer wordt herhaald. Dus wordt het einde van deze functie bereikt, begint deze weer vooraan. Er komt geen einde aan.

Wat zijn variabelen

Bijzondere variabelen

  • Arrays
  • Constanten

Over variabelen

zichtbaarheid (scope)

Logische operatoren
(! && ||)

Vergelijkingsoperatoren
(== != < <= > >=)

Rekenkundige operatoren
(= + / * %)

Samengestelde toewijzingsoperatoren
(+= -= *= /= %= ++ – –)

In- en uitvoer

Zelf gemaakte functies

Tijd

Voorwaardelijke structuren

Herhaal structuren

  • for
  • do…while
  • while

Overige

  • break
  • continue
  • goto
  • return

Onder communicatie verstaan we het praten met andere microcomputers, sensoren, computer en gebruikers. Hier gebruiken we diverse protocollen (manieren) voor. Debuggen is het onderzoeken waarom iets gebeurt of juist niet gebeurt. Dit doe je als het programma niet doet wat jij ervan verwacht.

Serial

SPI

Wire / I2C

WIFI

Bluetooth

Debug

Nog geen gegevens

]]>
Notities https://claasen-tech.nl/c-plus-plus/notities/ Thu, 27 Jun 2024 18:00:22 +0000 https://claasen-tech.nl/?p=3467 ,

Notities in Arduino C++ zijn kleine stukjes tekst die je in je code schrijft om uit te leggen wat de code doet. De computer leest deze notities niet wanneer hij de code uitvoert. Ze helpen je onder andere om je eigen code beter te begrijpen. Er zijn twee soorten Notities:

  1. Enkelregelig notities
    Deze beginnen met ‘//’. Alles wat na ‘//’ op dezelfde regel staat, is een notities.
  2. Meerregelig notities
    Deze beginnen met ‘/*’ en eindigen met ‘*/’. Alles tussen ‘/*’ en ‘*/’ is een notitie, ook als het over meerdere regels gaat.

Waarom gebruik je commentaar?

  • Helderheid
    Notities maken je code gemakkelijker te begrijpen. Als je later terugkomt naar je code, helpen ze je herinneren wat je hebt gedaan.
  • Delen
    Als je je code deelt met anderen, helpt een notities hen te begrijpen wat elk deel van de code doet.
  • Herinneren
    Notities helpen je te herinneren waarom je bepaalde keuzes in je code hebt gemaakt. Of wat een eigen gemaakte functie doet, wat je door moet geven en wat de functie terug geeft.
  • Fouten vinden
    Als je problemen in je code probeert op te lossen, helpen notities je begrijpen waarom je bepaalde stukken code hebt geschreven. Ook kun je code tijdelijk uitschakelen door er een notitie van te maken.

Enkelregelig notitie

// Dit is een enkelregelig notitie.
// int ledPin = 16;
int ledPin = 13;  // Dit betekent dat de groene LED op pin 13 zit.

Meerregelig notitie

/* 
  Dit is een meerregelig notitie.
  Het kan over meerdere regels gaan.
*/
int ledPin = 10; /* Dit betekent dat de rode LED op pin 10 zit */

// onderstaande code tijdelijk uitgeschakeld.
/*
for(int x=0; x<5; x++){
  Serial.println("Print iets 5 keer");
}
*/

In het kort
Notities zijn kleine stukjes tekst die je in je code schrijft om dingen uit te leggen. Ze maken je code makkelijker te begrijpen en zijn handig voor jezelf en voor anderen die naar je code kijken. Maar doen verder niets.

]]>
setup() https://claasen-tech.nl/c-plus-plus/setupfunctie/ Tue, 23 Jan 2024 20:37:02 +0000 https://claasen-tech.nl/?p=2496 ,

Beschrijving
De setup()-functie wordt aangeroepen wanneer een programma begint. Gebruik deze functie om taken eenmalig uit te voeren. De setup()-functie wordt slechts één keer uitgevoerd, dit is na elke inschakeling of herstart (reset) van het microprocessor board. Wat in de setup() functie zit, is alles wat tussen de accolades {} staat. Deze geven het begin en het einde aan.

Syntax
setup() {
functies;
}

Parameters
functies: een of meerdere regels programma code.

Geeft terug
Niets.

Voorbeeld

int pin = 6;

void setup() {
  Serial.begin(115200);
  pinMode(pin, INPUT);
}

void loop() {
  // ...
}

Toelichting voorbeeld
In het voorbeeld zie je 2 functies staan. Deze zijn ‘Serial.begin(115200);’ en ‘pinMode(pin, INPUT);’. Dit zijn functies die je maar éénmaal hoeft uit te voeren. Daarom staan ze in setup()

Opmerkingen en waarschuwingen
De variabelen die in de setup()-functie geïnitieerd worden zijn alleen in de setup()-functie zichtbaar.

]]>
loop() https://claasen-tech.nl/c-plus-plus/loopfunctie/ Thu, 25 Jan 2024 21:24:39 +0000 https://claasen-tech.nl/?p=2549 ,

Beschrijving
Nadat de setup()-functie alle eenmalige taken heeft uitgevoerd, wordt de loop()-functie aangeroepen. De loop()-functie blijft zich herhalen. De functie begint met het eerste commando binnen de loop()-functie en voert daarna alle andere commando’s binnen deze functie uit. Bij het laatste commando gekomen, binnen de loop()-functie, springt het programma weer terug naar het eerste commando van de loop()-functie en gaat daar weer verder. Dit blijft zich herhalen totdat je het microprocessorbord uitzet of een herstart geeft. Wat in de loop() functie zit, is alles wat tussen de accolades {} staat. Deze geven het begin en het einde aan.

Syntax
loop() {
functies;
}

Parameters
functies: een of meerdere regels programma code.

Geeft terug
Niets.

Voorbeeld

int ledPin = 6;

void setup() {
  // ...
}

void loop() {
  digitalWrite(ledPin, HIGH);
  delay(1000);
  digitalWrite(ledPin, LOW);
  delay(1000);
}

Toelichting voorbeeld
De loop()-functie bevat vier regels code. Op regel 8 zet de digitalWrite()-functie ledPin op HIGH, bijvoorbeeld om een led te activeren. Vervolgens wacht het programma 1.000 milliseconden (1 seconde). Daarna wordt ledPin op LOW gezet, gevolgd door nog eens 1.000 milliseconden wachten. Dit is het laatste commando in de loop(). Het programma keert terug naar het eerste commando en voert alle commando’s binnen de loop()-functie opnieuw uit: van regel 8 naar 9, 10, 11 en terug naar 8. Dit proces blijft zich herhalen.

Opmerkingen en waarschuwingen
De variabelen die in de loop()-functie geïnitieerd worden zijn alleen in de loop()-functie zichtbaar.

]]>
if https://claasen-tech.nl/c-plus-plus/if/ Sun, 17 Mar 2024 22:53:04 +0000 https://claasen-tech.nl/?p=2793 , ,

Beschrijving
De if-opdracht voert een controle uit. Als deze controle waar is, wordt de programma code binnen de if-opdracht uitgevoerd. Bijvoorbeeld ‘1 == 1’ is waar (true), maar ‘1 == 2’ is onwaar (false).

Syntax
if(vergelijking) {
functies;
}

Parameters
vergelijking: dit is een boolean vergelijking die als resultaat waar (true) of onwaar (false) heeft.
functies: een of meerdere regels programma code.

Enkele voorbeelden van vergelijkingen
1 == 1 (is gelijk aan, true) | 1 == 2 (is gelijk aan, false) | 1 > 2 (is groter dan, false) | 5 > 2 (is groter dan, true)
5 != 6 (is niet gelijk aan, true) | 5 <= 8 (is kleiner of gelijk aan, true) | 5 >= 8 (is groter of gelijk aan, false)

Geeft terug
Niets.

Voorbeeld

int temperatuur = 0;

void setup() {
  // ...
}

void loop() {

  // vul de variabele temperatuur door een temperatuursensor te lezen.

  if(temperatuur > 25){
    // Wordt uitgevoerd als de vergelijking waar is.
    // Geef aan dat het warm is.
  }

}

Toelichting voorbeeld
In de loop()-functie staat op regel 9 bijvoorbeeld een opdracht om een temperatuursensor uit te lezen en deze waarde wordt dan in de variabele ‘temperatuur’ gezet. Op regel 11 staat de if-opdracht en deze controleert of de temperatuur groter is dan 25. Indien de vergelijking true (waar) is, wordt een melding gegeven dat het warm is. De if-opdracht loopt dus van regel 11 t/m 14. Alles wat tussen de accolade ({) op regel 11 en de accolade (}) op regel 14 staat wordt uitgevoerd. Dit kan één regel zijn, maar ook 20 regels of meer.

]]>
else https://claasen-tech.nl/c-plus-plus/else/ Thu, 26 Dec 2024 13:23:31 +0000 https://claasen-tech.nl/?p=4058 , ,

Beschrijving
Else is een uitbreiding van de if-opdracht en heeft 2 vormen. Dit zijn de ‘else {}’ en de ‘else if () {}’.

De ‘else {}’ is de eenvoudigste, als de if controle niet waar is wordt de programma code achter ‘else’ (die tussen de ‘{}’ staat) uitgevoerd.

Met ‘else if () {}’ wordt een nieuwe controle uitgevoerd. als deze waar is, wordt de programma code (die tussen de ‘{}’ staat) uitgevoerd.

Je moet minimaal de ‘if () {}’ gebruiken. Je mag daarna één ‘else {}’ gebruiken. Of je mag een of meerdere ‘else if () {}’ gebruiken. Deze moet altijd na ‘if () {}’ én voor de ‘else {}’ komen. De ‘else {}’ is een optie, dus als je hem niet nodig hebt mag je hem weglaten.

Syntax

Optie 1 (zie ook if)

if (vergelijking) {
functies;
}

Optie 2 (alleen met else)

if (vergelijking) {
functies;
}
else {
functies;
}

Optie 3 (alleen met else if)

if (vergelijking) {
functies;
}
else if (vergelijking) {
functies;
}

Optie 4 (met else if én else)

if (vergelijking) {
functies;
}
else if (vergelijking){
}
else {
functies;
}

Bij optie 4 mogen dus meer dan een ‘else if () {}’ gebruikt worden.

Parameters
vergelijking: dit is een boolean vergelijking die als resultaat waar (true) of onwaar (false) heeft.
functies: een of meerdere regels programma code.

Enkele voorbeelden van vergelijkingen
1 == 1 (is gelijk aan, true) | 1 == 2 (is gelijk aan, false) | 1 > 2 (is groter dan, false) | 5 > 2 (is groter dan, true)
5 != 6 (is niet gelijk aan, true) | 5 <= 8 (is kleiner of gelijk aan, true) | 5 >= 8 (is groter of gelijk aan, false)

Geeft terug
Niets.

Voorbeeld

int leeftijd; // Variabele om de ingevoerde leeftijd op te slaan

void setup() {
  ...
}

void loop() {
  // geef de variabele 'leeftijd' een waarde
  
  // Bepaal de leeftijdsfase
    if (leeftijd < 12) {
      Serial.println("Je zit in de kindertijd.");
    } else if (leeftijd < 18) {
      Serial.println("Je zit in de tienerfase.");
    } else if (leeftijd < 65) {
      Serial.println("Je zit in de volwassenfase.");
    } else {
      Serial.println("Je zit in de seniorenfase.");
    }

  delay(1000); // Wacht 1 seconde
}

Toelichting voorbeeld
In dit voorbeeld wordt de variabele ‘leeftijd’ gevuld met een leeftijd van een persoon en wordt weergegeven in welke leeftijdfase de persoon zich bevindt.

De variabele ‘leeftijd’ wordt met een waarde gevuld.
Op regel 11 wordt door ‘if ()’ bepaald of ‘leeftijd’ kleiner is dan 12. Zo ja, dan wordt de programma code tussen de ‘{}’ uitgevoerd. In dit geval alleen regel 12, daarna gaat het programma verder naar regel 21. Als dit niet waar is gaat het programma verder op regel 13.

Hier wordt door ‘else if ()’ bepaald of leeftijd kleiner is dan 18. Zo ja, dan wordt de programma code tussen de ‘{}’ uitgevoerd. In dit geval alleen regel 14, daarna gaat het programma verder naar regel 21. Als dit niet waar is gaat het programma verder op regel 15.

Hier wordt door ‘else if ()’ bepaald of leeftijd kleiner is dan 65. Zo ja, dan wordt de programma code tussen de ‘{}’ uitgevoerd. In dit geval alleen regel 16, daarna gaat het programma verder naar regel 21. Als dit niet waar is gaat het programma verder op regel 17.

Hier wordt de ‘else {}’ uitgevoerd. Dit betekent dat de programma code tussen de ‘{}’ wordt uitgevoerd. In dit geval alleen regel 18, daarna gaat het programma verder naar regel 21.

Als het programma bij de regel met ‘else {}’ komt, wordt de programma code tussen de ‘{}’ altijd uitgevoerd.

]]>
for https://claasen-tech.nl/c-plus-plus/for/ Sun, 16 Jun 2024 12:58:29 +0000 https://claasen-tech.nl/?p=3453 , , ,

Omschrijving
De ‘for’-lus in Arduino is een manier om een stuk code meerdere keren achter elkaar uit te voeren zonder dat je die code steeds opnieuw hoeft te schrijven. Het werkt door eerst een startpunt in te stellen (zoals ‘i = 0’), dan te bepalen hoe lang de herhalingen doorgaan (bijvoorbeeld zolang ‘i’ minder is dan 5), en ten slotte te bepalen hoe de variabele verandert na elke herhaling (meestal door ‘i’ met 1 te verhogen). Dit is handig om bijvoorbeeld een LED meerdere keren te laten knipperen. In plaats van vijf keer dezelfde code te schrijven, gebruik je een ‘for’-lus om te zeggen: “Doe deze actie vijf keer”. Het maakt je programma korter en makkelijker te begrijpen.

Syntax
for(a;b;c){functies}

Parameters
a: hier geef je de begin waarde op, bijvoorbeeld ‘int i=1’
b: hier geef je aan hoe lang het uitgevoerd moet worden, bijvoorbeeld ‘i<11’
c: hier geef je aan hoe ‘i’ dient te veranderen, bijvoorbeeld ‘i=i+1’ (de verkorte schrijfwijze is: ‘i++’)
functies: dit zijn de commando regels die uitgevoerd dienen te worden zolang er aan de voorwaarde die bij b is opgegeven. Bijvoorbeeld zolang i kleiner is dan 11.

Geeft terug
Niets.

Voorbeeld

void setup() {
  Serial.begin(115200);
}

void loop() {
  for(int i=1 ; i<11 ; i=i+1 ){
    Serial.print("i = ");
    Serial.println(i);
  }
  Serial.println("Klaar.");
  Serial.println();
  delay(20000); // wacht 20 seconden
}

Toelichting voorbeeld

setup()
De seriële poort wordt geopend om gegevens naar de seriële monitor te schrijven.

loop()
Op regel 6 wordt gebruik gemaakt van de ‘for’-lus. Hier krijgt ‘i’ de begin waarde ‘1’, wordt de lus uitgevoerd zolang ‘i’ kleiner is dan 11 en ‘i’ wordt elke keer met 1 verhoogt.

Dus regel 6 wordt uitgevoerd en gaat dan de lus uitvoeren (indien i kleiner is dan 11), dit zijn de regels 7 en 8. Daarna gaat hij weer naar regel 6 en ‘i’ wordt met 1 verhoogt. Er wordt gecontroleerd of ‘i’ nog altijd kleiner is als 11. Zo ja, de regels 7 en 8 worden weer uitgevoerd. Dit gaat zo verder totdat het ‘i’ 11 wordt, de controle wordt uitgevoerd en ‘i’ is dus NIET meer kleiner dan 11. De lus wordt nu niet meer herhaald.

Regels 10, 11 en 12 worden uitgevoerd en het programma gaat weer naar regel 6. De ‘for’-lus begint weer opnieuw. Hier krijgt ‘i’ de begin waarde ‘1’, wordt de lus uitgevoerd zolang ‘i’ kleiner is dan 11 en ‘i’ wordt elke keer met 1 verhoogt.

Dit herhaald zich totdat je de microprocessorboard uitzet.

Uitvoer

i = 1
i = 2
i = 3
i = 4
i = 5
i = 6
i = 7
i = 8
i = 9
i = 10
Klaar.

i = 1
i = 2
i = 3
i = 4
i = 5
i = 6
i = 7
i = 8
i = 9
i = 10
Klaar.

Bovenstaand blijft zich herhalen totdat de microcontrollerboard uitgezet wordt.

Notities en waarschuwingen
Je kunt hier verschillende type variabelen gebruiken voor ‘i’.

]]>