NLT

FME les 1: Led

Dit is het aansluitschema voor de éérste les. Probeer de LED ook eens sneller te laten branden, of in een bepaald patroon . . .

_1_led780

led_exampleLes 1 is dé beginles voor bijna alle mensen die met Arduino aan de slag gaan. Je laat een LEDje knipperen. Bouw het bovenstaande schema na, en let op dat je de LED goed hebt aangesloten. Naast de aanwijzingen hiernaast gebruik ik zelf altijd: als je door de LED heenkijkt zie je een lang en een kort dingetje. De lange heeft de vorm van de min, en is dat ook.

De weerstand van 330 ohm is in serie met de LED geschakeld, en die is om de spanning die over de LED staat te beperken. De pinnen van een Arduino werken bijna altijd met 0V of +5V. Als je de LED zonder weerstand zou aansluiten tussen pin 13 (+5V) en gnd (0V) staat er dus +5V overheen, en dan is de kans groot dat ie stuk gaat. Door een weerstand in het circuit op te nemen wordt de totale spanning van 5V verdeeld over de LED (ongeveer 3V) en de weerstand (ongeveer 2V). Zo krijgt de LED de juiste spanning. Overigens: er zijn verschillende soorten LEDs, elk met hun eigen ‘optimale’ spanning en stroom behoefte, en dus elk met hun eigen ‘beste’ weerstand. Geen zorgen, er bestaan speciale websites om de benodigde weerstand voor je uit te rekenen.

De code om de LED te laten knipperen staat hieronder:

/*
Blink. Laat een led aan en uit schakelen, keer op keer. Voor het aansluiten van de LED zie op de tutorial-site onder _1_Led: 
http://www.funmetelectronica.nl 
 */
 
 // De led is aangesloten op pin 13
 int led = 13;

// Het programmablok void setup wordt eenmaal beschreven
 void setup() { 
 // We geven aan dat de led-pin-aansluiting een output is (spanning moet geven) 
 pinMode(led, OUTPUT); 
 }

// Het programmablok void loop herhaalt zich keer op keer
 void loop() {
 digitalWrite(led, HIGH); // zet spanning op de led-pin
 delay(1000); // wacht een seconde (1000 miliseconden)
 digitalWrite(led, LOW); // zet de spanning van de led-pin af
 delay(1000); // wacht een seconde
 }
 /* 
 Probeer de tijd eens te veranderen, maak er extra stappen bij..
 */

De code is recht toe recht aan. Alles wat tussen /* en */ staat doet niet mee in het programma. Dat zijn commentaar regels om een en ander te verduidelijken. Alles dat ná // komt is trouwens ook commentaar.

int led = 13;

Dit is de declaratie van een variabele ‘led’ die de waarde 13 krijgt. Werkt niet zonder ;

void setup(){

}

in de functie void (leeg, er komt geen waarde terug) setup () wordt aan de Arduino verteld wat het precies moet doen. Zie het maar als het boodschappen en benodigdheden lijstje om straks alles mee te gaan doen. De accolades { en }  betekenen dat alle code die er tussen staat bij de void setup() horen.

pinMode(led,mode)

pinMode is een functie waarmee je de Arduino kunt vertellen wat een pin met een bepaald nummer moet doen. In dit geval is het pin nummer 13. De Led is aangesloten op pin 13, en de variabele led is ook 13. Pin 13 moet een OUTPUT  zijn, er zal  iets naartoe geschreven gaan worden.
Een functie is overigens een ‘modulair’ stukje code dat een bepaalde taak uitvoert. Zie het maar als een afgerond geheel wat iets voor je doet. In Sketch zijn veel kant en klare functies, soms zitten ze in speciale functie bibliotheken (die horen vaak bij een los stukje electronica, bv een servo, motor of display), maar je kunt ze ook zelf schrijven, later.

void loop() {

}

Dit is de programma code (tussen { en}) die steeds weer opnieuw (vandaar de naam loop, lus) wordt uitgevoerd op de Arduino.

digitalWrite (led,HIGH);

digitalWrite is een functie waarmee je een digitale waarde (LOW, ‘0’, oV of HIGH, ‘1’of 5V (of 3,3 V op sommige Arduinos)  naar een pin kunt schrijven.  Na het aanroepen van deze functie brand de LED, als alles goed is. Let op de ; en let ook op hoofdLetters, anders gaat het mis.

delay(1000);

delay is een functie waarmee je de Arduino een bepaald aantal milliseconden laat wachten. In dit geval 1000ms = 1 seconde.

digitalWrite(led, LOW);

De LED wordt uitgezet.

/*
Voor mijn A4NLT5 leerlingen: dit is ongeveer hoe ik elke FME les wil uitleggen. Beginnen met het plaatje van het schakelschema en de bijzonderheden die er op te zien zijn. Dan de code behandelen. Probeer niet te veel te herhalen wat al eerder aan bod is geweest. Meestal heeft een les een nieuwtje, en dáár moet je je op richten. Bereid dan gerust wat uit op wat er staat, geef de lezer wat te doen! Knoop er linkjes aan vast, of youtube filmpjes, of plaatjes (wel even de bron vermelden!) of wat dan ook. De vervolg lessen zijn aan jullie!

Oja, naast een goede uitleg bij een FME les, in een nette blog, wordt ook goed commentaar erg op prijs gesteld (en dus meegewogen in de beoordeling).
*/

 

 

 

Leave a Reply