You are on page 1of 4

Arduino Initiatie

Sectie 03: Drukknop LED sturing


In de vorige les hebben we een LED aangestuurd met de Arduino: aan, uit, helderder,
knipperen. Dat zijn voorbeelden van uitgangen. Wat als we willen interageren met de
wereld rond ons heen? Dan hebben we ingangen nodig.
Als eerste voorbeeld beschouwen we een drukknop. De gebruiker kan de knop
indrukken, en we zullen daar dan op reageren met de Arduino om de LED iets te laten
doen.
Opdracht: Doe de LED verbonden met pin 13 branden wanneer er op de drukknop
verbonden met pin 2 wordt gedrukt.

Dit heb je nodig:

Opstelling:
Zie de figuur die volgt. Je ziet volgende verbindingen die je moet maken:

Verbind de anode (+) van de LED via een weerstand van 220 Ohm/330 Ohm met
pin 13
Verbind de kathode (-) van de LED met GND
Verbind een pool van de drukknop met pin 2.
Verbind de andere pool van de drukknop met +5V.
Plaats een weerstand van 10kOhm of meer van pin 2 naar GND (= Ground = 0V).

UGO_drukknop
Open de Arduino sketch die bij deze opstelling hoort: UGO_drukknop

Bij het opstellen moet je rekening houden met hoe een drukknop werkt.
Een drukknop heeft 4 pinnen en een knop die je kan indrukken, maar welke
terugkeert naar de beginpositie zodra je loslaat. Er zijn twee pinnen aan een
zijde, en twee aan de overstaande zijde. Leg de knop zo dat een zijde met pinnen
naar je toe, en de andere van je weg. Normaal gezien zijn de pinnen links
verbonden met elkaar, alsook die rechts. Als je de knop indrukt worden ook links en
rechts met elkaar verbonden, en is het circuit helemaal gesloten (=alles verbonden).

Waarom 4 pinnen en niet 2? Dit is omdat het makkelijker solderen is zo. Je zal
vaak meer dan 2 draden aan een knop moeten bevestigen, en dus zijn twee extra
pinnen handig.

Aanpassingen
Opdracht.
1- Pas de sketch aan zodat de LED aan is als de knop niet ingedrukt is en uit als de
knop ingedrukt is.
2- Pas de sketch aan voor 2 LEDs en 2 drukknoppen. Je bedient elke LED apart, dus
de ene drukknop voor de eerste LED, en de andere voor de tweede LED. Het begin
van een lichtpiano!

Extra Opdrachten
1- Schrijf een sketch om te zorgen dat een LED aan gaat bij het indrukken van
drukknop en het knippert volgens de SOS morse code.
Kan je dit efficint maken en ervoor zorgen dat je niet moet blijven drukken om het
LEDje te laten knipperen?
Oplossing: UGO_knop1_SOS en U
GO_knop2_SOS
2- Schrijf een sketch voor 1 LED en 2 drukknoppen zodat een drukknop wordt
gebruikt om de LED aan te doen, en de andere om de LED uit te doen.
Oplossing: UGO_LED_2knoppen
3- Schrijf een sketch om een drukknop te doen werken zoals een lichtschakelaar
van thuis. Bv. : eerste keer drukken LED aan, tweede keer drukken LED uit.
Oplossing: UGO_drukknop_zoalsthuis

Achtergrondinfo: Waarom de 10kOhm weerstand in


het LED+drukknop circuit?
We analyseren het circuit. De pin om de status van de knop te lezen is pin 2. Als
deze knop niet is ingedrukt zien we dat de pin verbonden is via zwart met de GND.
Het zal dus in de GND staat of LOW zijn. Je ziet dat er een weerstand is, maar deze
lijkt geen functie te hebben.
Beschouw nu het geval dat de knop ingedrukt is. Er is nu een connectie van
links naar rechts in de drukknop. Zwart (GND) is dus verbonden met rood die naar
de 5V op de Arduino gaat. Moest er geen weerstand zijn dan zouden we een
kortsluiting krijgen: stroom die vrij stroomt van 5V naar GND. Aldus moeten we
een weerstand hebben om kortsluiting te voorkomen.
Welke weerstand? We willen dat pin 2 op 5V staat als de knop ingedrukt is, en we
willen niet veel stroom gebruiken om dit te verkrijgen. Bijgevolg willen we een
grote weerstand! Een grote weerstand zal zorgen dat de weerstand in de draden
van de drukknop naar de 5V pin verwaarloosbaar is ten opzichte van de grote
weerstand, en dus zal pin 2 op 5V staan. Terzelfdertijd zal een grote weerstand
ervoor zorgen dat er maar heel weinig stroom zal vloeien over de drukknop, en ons
circuit zal dus heel efficient zijn. We noemen zo'n weerstand op deze manier
gebruikt een pull-down weerstand (naar GND) of pull-up weerstand (naar 5V).

You might also like