Functie na opstelling
Een knop bedienen op een Arduino noemen we een digitale ingang. Het is ingedrukt of niet. Een LED laten branden is vaak een digitale uitgang, de LED is aan of uit. Maar we kunnen met Arduino ook LEDs dimmen. Dit noemen we analogWrite. De uitgang is niet meer aan of uit, maar kan er ook tussen in zitten. Arduino doet dit met PWM. Alleen de poorten 3, 5, 6, 9, 10 en 11 kunnen analogWrite leveren. Deze poorten zijn te herkennen aan een slingertekentje. We gaan op een LED twee knoppen aansluiten, 1 voor gedimde toestand en de ander voor vol vermogen.
Opstelling
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
/* Autheur: Fun met Electronica Link: https://training.funmetelectronica.nl/docs/arduino-basis/lessen/les-11-digitalanalog/ Beschrijving: Dim een lampje met knopjes. Het lampje is aangesloten aan een digitale output. Toch kan het lampje 'analoog' aangestuurd worden. */ int knop1 = 2; // knop aan pin 2 int knop2 = 3; // knop aan pin 2 int led = 11; // led aan pin 11 int toestandknop1 = 0; // variabele voor het lezen van de knop int toestandknop2 = 0; // variabele voor het lezen van de knop /* Het programmablok void setup wordt eenmaal beschreven */ void setup() { pinMode(led, OUTPUT); //ledpin is output pinMode(knop1, INPUT); //knop is input pinMode(knop2, INPUT); //knop is input } /* Het programmablok void loop herhaalt zich keer op keer */ void loop() { toestandknop1 = digitalRead(knop1); //toestandknop is de waarde van knop toestandknop2 = digitalRead(knop2); //toestandknop is de waarde van knop if (toestandknop1 == HIGH) { //controleer of de knop1 ingedrukt is analogWrite(led, 50); //indien ingedrukt: led aan op sterke 50 (waarde tussen 0 - 255) } else if (toestandknop2 == HIGH) { //controleer of de knop2 ingedrukt is analogWrite(led, 255); //indien ingedrukt: led aan op sterke 100 (waarde tussen 0 - 255) } else { digitalWrite(led, LOW); //anders: led uit } } /* Opdracht 1: In plaats van dat de knopjes een felheid geven, laat ze de lampjes (minder) feller laten worden. */ |
Opdrachten
Opdracht 11.1:
In plaats van dat de knopjes een felheid geven, laat ze de lampjes (minder) feller laten worden.