Les 4 - Bedien een LED met een Drukknop

Benodigheden

Arduino
Arduino
LED
LED
Weerstandje
Weerstandje
Gaatjesbord
Gaatjesbord
Draadje-MM
Draadje-MM
Draadje-MF
Draadje-MF
Knopje
Knopje

Stap 1 - LED en drukknop aansluiten

Met een drukknop of schakelaar kun je een signaal naar de Arduino te sturen.

  1. Verbind de LED zoals in de vorige les met pin 9 en GND (vergeet de weerstand niet!)
  2. Verbind één pootje van de drukknop met pin 2 van de Arduino
  3. Verbind het andere pootje van de drukknop met GND

Stap 2 - LED aan/uit met drukknop

We gaan nu een programma maken waarbij de LED aan gaat als je de knop indrukt.

int ledPin = 9;    // pin voor LED
int knopje = 2;    // pin voor knopje

void setup()
{
  pinMode(ledPin, OUTPUT);       // LED aan uitgang
  pinMode(knopje, INPUT_PULLUP); // knopje aan ingang
}

void loop()
{
  // knopje ingedrukt?
  if (digitalRead(knopje) == HIGH)
  {
    digitalWrite(ledPin, HIGH);
  }
  else // knopje niet ingedrukt
  {
    digitalWrite(ledPin, LOW);
  }
}

Stap 3 - LED toggelen met drukknop

Toggelen betekent dat we de LED steeds van aan naar uit wisselt al je op de knop drukt. Dus je zet de LED aan of je zet de LED uit.

int led = 9;           // pin voor LED
int knopje = 2;        // pin voor knopje
int lampstatus = LOW;  // lampstatus is nu uit

void setup()
{
  pinMode(led, OUTPUT);
  pinMode(knopje, INPUT_PULLUP);
}

void loop()
{
  // knopje ingedrukt?
  if (digitalRead(knopje) == LOW)
  {
    // lamp is uit?
    if (lampstatus == LOW)
    { 
      digitalWrite(led, HIGH);
      lampstatus = HIGH;
    }
    else // lamp is aan
    { 
      digitalWrite(led, LOW);
      lampstatus = LOW;
    }
  }
  // even pauze voor we opnieuw beginnen
  delay(100);
}

❓ Werkt het knopje niet (betrouwbaar)?

Knopje werkt niet

  • Probeer andere pootjes van het knopje.
  • Lampje goed aangesloten?
  • Controleer of alle draadjes goed contact maken.

Knopje werkt niet betrouwbaar

  • Probeer de delay te verhogen of te verlagen


Uitdaging

Probeer nu om meerdere LEDs met meerdere knoppen te besturen en creëer je eigen lichtshow!