Je gaat straks een schakeling bouwen met een aanraaksensor of drukknop waarmee je een lampje of ledje aan en uit kunt zetten. Je zou een schakeling als hieronder kunnen maken. Als je het drukknopje indrukt, gaat het het externe ledje aan, en als je het weer loslaat gaat het ledje uit.
We geven een korte toelichting op de schakeling
We gebruiken de weerstand om te voorkomen dat de LED doorbrandt. De meeste Arduino’s werken met een spanning van 5 volt. En voor de meeste LED’s is dat een te hoge spanning. Door in serie met een LED een weerstand van 220 Ω te plaatsen kun je dat oplossen. Daarmee daalt de spanning over de LED naar ongeveer 2 volt. De waarde van een weerstand kun je aflezen aan de kleuren die erop staan.
In het materiaal van Freek Pols wordt uitgebreider ingegaan op het aansluiten van een LED en de kleurcoderingen van weerstanden, zie: Verder met de Arduino
Opdracht: bouw bovenstaande schakeling na
Bouw de bovenstaande schakeling na en test het. Gaat het lampje branden als je de knop indrukt?
Maar dit is niet de manier waarop we een schakelaar met een Arduino willen gebruiken!
Met de bovenstaande schakeling kun je maar één ding, namelijk: als de drukknop wordt ingedrukt gaat het ledje aan. Maar stel nu dat we juist willen dat het ledje brandt als we niet op de drukknop drukken en dat het uit gaat als we er wel op drukken? Of wellicht willen we dat het lampje gaat knipperen. Dan moet de schakeling worden aangepast. We willen echter naar een situatie waarbij we het gedrag kunnen aanpassen met een programma (software), zonder de schakeling aan te hoeven passen.
Kijk nu eens naar de volgende schakeling en vooral naar de verschillen met de vorige schakeling:
We zien hier in feite twee stroomkringen:
Zowel de drukknop als de led zijn nu verbonden aan een poort op de Arduino. De poorten hebben allemaal een eigen nummer. De drukknop is verbonden met poort 10, de led is verbonden met poort 5. Een poort kan als input of als output werken.
De weerstand van 10 kΩ die is verbonden aan de drukknop is een zogenaamde pull-down weerstand. Die trekt, als er niet op de drukknop gedrukt wordt, als het ware de spanning aan poort 10 naar 0 volt. Als je namelijk op de drukknop drukt is het wel duidelijk dat er op poort 10 een spanning komt te staan van 5 volt. Maar als je de schakelaar los laat is helemaal niet zeker of poort 10 dan wel 0 volt wordt. Dankzij die weerstand dus wel.
Samengevat:
Door te programmeren kunnen we schakeling op allerlei manieren gebruiken. Je sluit dus altijd sensoren (zoals drukknopjes) en actuatoren (zoals LEDjes) op aparte poorten aan. In het progamma (de software) bepaal je wat de Arduino precies moet doen.