Arduino Hello World
logo

Arduino Hello World

Module 1 Module 2 Module 3 Module 4 Module 5 Module 6 Module 7

Module 7
Herhalings- en keuzestructuren

Home For... While... If... Else... Uitbreiding - Een drukknop plaatsen

   Uitbreiding - Een drukknop plaatsen


We plaatsen een externe drukknop om de interne LED aan en uit te zetten.
Hiervoor maken we gebruik van de voorwaardelijke keuze (if... else...)

Benodigdheden:


  • Breadboard
  • Drukknop
  • Weerstand

Het Breadboard

 
 

   Uitbreiding 1

Een breadboard dient om gemakkelijk onderdelen aan de Arduino te maken zonder dat er gesoldeerd moet worden.

Lees in het Arduino Project Book over het breadboard.



Het breadboard heeft een vermogensbus (powerbus) en een ontwikkelingszone (prototyping area).

De vermogensbus dient om het breadboard op de nodige plaatsen van spanning te voorzien.

De ontwikkelingszone is waar je elektrische circuits kan opbouwen.


De drukknop

   Uitbreiding 2

We gaan een drukknop als schakelaar gebruiken om de LED aan en uit te zetten.

Lees in het Arduino Project Book over de drukknop en hoe je de drukknop moet aansluiten.

 


   Uitbreiding 3

Bouw de opstelling in de onderstaande figuur na. 


Let erop dat:

  • De kathode van de LED, via de weerstand, aan de negatieve lijn van de vermogensbus zit, en zo aan GND van de Arduino UNO.
  • De anode van de LED aan de positieve lijn van de vermogensbus zit, en zo aan PIN 13 van de Arduino UNO.

 

Arduino

 


Zorg er ook zeker voor dat de Arduino losgekoppeld is van de computer terwijl je deze opstelling maakt.

 



Tinkercad


De code

Gebruik de ondestaande code.

Lees de extra informatie (commentaar, grijs) goed om te begrijpen welke instructie waarvoor dient.

int buttonPin = 2;  // De PIN waaraan we de drukknop bevestigen
int buttonState = 0;  // De variabele voor de status (aan of uit) van de drukknop

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(buttonPin, INPUT);  // PIN 2 wordt gebruikt om de drukknop in te lezen. => Input
}
void loop() {
  // Lees de status van de drukknop in (digitalRead):
  buttonState = digitalRead(buttonPin);

  // Controleer of de drukknop ingeduwd is (status is hoog):
  if(buttonState == HIGH){
    // Zo ja, doe LED aan:
    digitalWrite(LED_BUILTIN, HIGH);
  }
  else {
    // Zo nee, doe LED uit:
    digitalWrite(LED_BUILTIN, LOW);
  }
}

 

   Ter info

In essentie maak je onderstaand circuit:



Voor je de opstelling uittest, laat je deze controleren door je leerkracht.

   Test je opstelling door:

  • Arduino: de Arduino Uno met de computer te verbinden.
  • Tinkercad: door op start simulatie te klikken.

Waarom een weerstand?

De weerstand dient in dit circuit als "pull-down" weerstand. Dit is een zeer belangrijk onderdeel voor de juiste werking van de schakelaar.

Bestudeer het circuit in de roze kader. Wanneer de schakelaar gesloten is, zal er 5 V op PIN 2 staan.

Wanneer de schakelaar terug opent, moet de spanning op PIN 2 ook terug naar 0 V gebracht worden. Dit gebeurt door de PIN via een aardingsweerstand aan de aarde (GND) vast te maken.