Welkom op Codingkids

Programmeren voor kinderen

Arduino fade LED

Je hebt nodig: een breadboard, male to male jumper wires, weerstandje van 270 ohm en een Arduino Uno

breadboard

Breadboard

kabeltjes

Male to Male jumper wires

270 ohm weerstand

Weerstandje van 270 ohm

Led lampje

Led lampje

Sluit de Arduino met USB kabel aan op je computer. Open de Arduino IDE software op je computer. Ga in het menu naar Bestand, Voorbeelden en kies bij 01 Basic, Fade. Je ziet nu een Sketch met het Fade programma.

fade voorbeeld

Een kabeltje wordt aangesloten op Pin 9, en een ander kabeltje op de Ground pin Gnd.

In het voorbeeld hieronder kun je zien hoe je de kabels, het led lampje en het weerstandje kan aansluiten op je breadboard. Je kan de onderdelen er ook anders in steken als het maar een stroomkring is. Let wel op dat het korte pootje, van de Led naar de Gnd gaat en het lange pootje naar 9. De weerstand heb je nodig omdat er anders teveel spanning op de led komt en deze kan doorbranden.

voorbeeld led aansluiting fade sketch



Om het programma uit te voeren klik je in de linker bovenhoek van scherm op de pijl.



Werkt het? Als het werkt dan gaan we eens goed naar de Sketch kijken om te zien hoe het programma werkt.

Hoe werkt het programma?

Op de eerste regels worden een aantal variabele gegeven: int led = 9; hier wordt dus het pin nummer gegeven, en int brightness = 0;, dit is de lichtsterkte van de led en begint dus in het programma met 0, en int fadeAmount = 5; de lichtsterkte zal worden aangepast in stappen van 5.

De reden dat in deze sketch niet pin 13 wordt gebruikt is omdat pin 9 een pin is met "Pulse Width Modulation" (PWM). Als je op je Arduiono kijkt zie je dat er voor het nummer 9 een ~ staat. Alle pinnen met een ~ ervoor hebben PWM. PWM betekent dat deze pinnen het aankunnen om de stroomsterkte in een heel snel tempo aan te passen. En dat is presies wat we gaan doen met deze Fade Sketch. De lichtsterkte zal in stappen van 5 toenemen of afnemen.

Dan krijgen we deze regel pinMode(led, OUTPUT); en geeft aan dat pin 9 een OUTPUT pin is. Dit staat tussen de { } van de functie void setup() en wordt daarom alleen bij de start van het programma uitgevoerd.

Dan krijgen we een loop die voor altijd doorgaat: void loop() { } Dus de regels code die tussen de accolades staan worden steeds herhaald totdat je het programma stopt.

Dan krijgen we de regel analogWrite() en deze functie krijgt twee gegevens mee: led en brightness. De led blijft hetzelfde, dit is pin 9, maar de brightness zal steeds veranderen en dat komt door de volgende regel:brightness = brightness + fadeAmount;Dus eerst is brightness 0 dus dan staat er 0=0+5. Omdat deze regel in de loop staat zal deze regels elke keer uitgevoerd worden. Dus dan wordt het 5=5+5, en daarna 10=10+5 etc.. Dit mag niet voor altijd doorgaan want de brightness moet tussen de 0 en de 255 blijven. Daarom wordt er in het programma nog een regel toegevoegd die er voor moet zorgen dat brightness tussen de 0 en 255 blijft: if (brightness == 0 || brightness == 255) dit betekent: als de lichtsterkte is gelijk aan 0 of de lichtsterkte is gelijk aan 255 dan: fadeAmount = -fadeAmount ; in deze regel zie je dat fadeAmount veranderd van + naar - maar het betekent tegelijkertijd ook dat als fadeAmount al - was, deze weer + wordt. Dus als de brightness 255 is dan wordt het fadeAmount -5. Dus dan krijg je 255=255-5, en daarna 250=250-5 en dan 245=245-5 etc, dit gaat weer net zolang door totdat brightness 0 wordt. En dan zal fadeAmount weer +5 worden. Dus de lichtsterkte is op zijn sterkts bij een brightness van 255 en daarna zal de lichtsterkte weer afzwakken tot de brightness weer 0 is. En dan neemt de brightness weer toe, enz

En dan de laatste regeldelay(30); , deze regel geeft aan hoe lang er gewacht moet worden tot de volgende herhaling van de loop. En dat is maar 30 milliseconde!

Om te expirimenteren kun je de milliseconden wel aanpassen. Probeer maar eens een lagere waarde of een hogere waarde. Om het programma weer te uploaden naar de Arduino klik je weer op de pijl.

Om het programma uit te voeren klik je in de linker bovenhoek van scherm op de pijl.













Share on Facebook Share on Google+ Share on LinkedIn Share on Twitter





Ondersteun deze website!