Morse code met de FOR loop

 // LED verbonden aan digitale uitgangspin 10
 int ledPin = 10;
 // void setup draait één keer voordat de loop begint
 void setup()
 {
 // stelt de digitale pin in als uitgang
 pinMode(ledPin, OUTPUT);
 }
 // void loop draait eindeloos
 void loop()
 {
 // 3 dits
 for (int x=0; x<3; x++) {
 digitalWrite(ledPin, HIGH); // zet de LED aan
 delay(150); // wacht 150ms
 digitalWrite(ledPin, LOW); // zet de LED uit
 delay(100); // wacht 100ms
 }
 // 100ms wachten tussen de letters in
 delay(100);
 // 3 dahs
 for (int x=0; x<3; x++) {
 digitalWrite(ledPin, HIGH); // zet de LED aan
 delay(400); // wacht 400ms
 digitalWrite(ledPin, LOW); // zet de LED uit
 delay(100); // wacht 100ms
 }
 // 100ms wachten tussen de letters in
 delay(100);
 // 3 dits again
 for (int x=0; x<3; x++) {
 digitalWrite(ledPin, HIGH); // zet de LED aan
 delay(150); // wacht 150ms
 digitalWrite(ledPin, LOW); // zet de LED uit
 delay(100); // wacht 100ms
 }
 // wacht 5 seconden voor het herhalen van het SOS signaal
 delay(5000);
 }

In deze code worden commando’s gebruikt die we kennen van het LED flits voorbeeld.
Het eerste blok verzorgt de 3 bits (korte flitsen).

 for (int x=0; x<3; x++) {
 digitalWrite(ledPin, HIGH); // zet de LED aan
 delay(150); // wacht 150ms
 digitalWrite(ledPin, LOW); // zet de LED uit
 delay(100); // wacht 100ms
 }

Er zijn drie uitdrukkingen die we kunnen gebruiken in een for loop: de initialisatie, de voorwaarde en de optelsom.

for (initialisatie; voorwaarde; optelsom)Allereerst hebben we een variabele nodig, deze wordt in de initialisatie geplaatst.
De initialisatie is het startpunt. De voorwaarde controleert hoe vaak de inhoud tussen { en } is afgedraaid. In ons geval is de voorwaarde x<3; en wordt de inhoud tussen de { en } net zolang afgedraaid totdat x, 3 is. Terwijl de for loop draait wordt de voorwaarde steeds getest, als blijkt dat er nog niet aan de voorwaarde is voldaan dan geeft de optelsom aan dat de for loop nogmaals gedraaid moet worden.

De < is een vergelijking operator.
Ze worden gebruikt bij het maken van beslissingen en vergelijken waarden of toestanden met elkaar.
== Gelijk aan
!= Niet gelijk aan
< Kleiner dan
> Groter dan
<= Kleiner dan of gelijk aan
>= Groter dan of gelijk aan

De x++ vergroot de waarde van x met 1 en het zou ook zo geschreven kunnen worden:
x = x + 1

Als de voorwaarde bijv. x<12 zou zijn en de optelsom is x = x + 2, dan knippert hij 6 maal.

De variabele x bevind zich in dit geval in een lokaal bereik.
x wordt dus alleen gebruikt in de for loop waarin hij actief is.
Als je x buiten de for loop zou proberen aan te spreken zou je een foutmelding krijgen.

Het is ook mogelijk om een for loop in een andere for loop te plaatsen:

 for (int x=0; x<3; x++) {
 for (int x=0; x<3; x++) {
 digitalWrite(ledPin, HIGH); // zet de LED aan
 delay(150); // wacht 150ms
 digitalWrite(ledPin, LOW); // zet de LED uit
 delay(100); // wacht 100ms
 }
 for (int x=0; x<3; x++) {
 digitalWrite(ledPin, HIGH); // zet de LED aan
 delay(450); // wacht 450ms
 digitalWrite(ledPin, LOW); // zet de LED uit
 delay(100); // wacht 100ms
 }
 }

Geef een reactie