## Besturen met een knop

We sluiten nu een knop aan op de Arduino. Het doel is om de lamp te laten branden wanneer de knop wordt ingedrukt. Laten we eerst kijken hoe de knop met de Arduino is verbonden:

### De knop

Zoals je rechts ziet heeft de knop 4 aansluitingen. De aansluitingen zijn als volgt:

- Linksonder: Aangesloten op de 5V uitgang van de Arduino
- Rechtsboven: aangesloten op een Digitale Pin (in het voorbeeld hierboven gebruiken we pin 2)
- Rechtsonder: Aangesloten, via een 10K weerstand, op de GND van de Arduino

### De code:

`int led = 0;
int wachten = 500;`

`int knop = 2;
int knop_waarde;`

`void setup(){
pinMode(led, OUTPUT);
pinMode(knop, INPUT);
}`

`void loop(){
knop_waarde = digitalRead(knop);
if(knop_waarde == 1){
digitalWrite(led, HIGH);
delay(wachten);
}
else{
digitalWrite(led, LOW);
delay(wachten);
}
}`

### Uitleg van de code

We gaan niet alle stukken van de code bekijken. Veel regels zullen je inmiddels bekend voorkomen. Wel kijken we naar hoe de knop wordt bekeken door de Arduino.

Ten eerste hebben we een nieuw bakje, genaamd `knop_waarde`. Hierin gaan we de 'stand' van de knop bewaren.

Vervolgens schrijven we in de setup dat we de digitale pin als `INPUT` gaan gebruiken.

De knop uitlezen gebeurt met `digitalRead`.
Als de knop wordt ingedrukt krijg de Arduino een `1` binnen.
Als de knop niet ingedrukt wordt krijgt de Arduino een `0`.

Deze regel: `knop_waarde = digitalRead(knop);` stopt dus een `1` of `0` in het bakje genaamd `knopje_waarde`.