✓ Speciaal voor VO, Technasium & Bèta-onderwijs ✓ Scholen bestellen op rekening (achteraf betalen)
Direct contact: info@funmetelectronica.nl | Tel: 06-53111122
Arduino Basis › Les 11: DigitalAnalog

Les 11: DigitalAnalog

Arduino Basis

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
/*
  Autheur:      Fun met Electronica
  Link:         lessen.php?id=519
  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.