Niveau – Basis
Tijdsduur – 10 / 20 Min
Kosten – €56,35

Dit is het 17e project uit de Starter kit voor Arduino.

Je leert hoe je 3 LED lampjes kunt aansturen met een Arduino Uno en een Touch sensor.
Dit is een gemakkelijk project die je in ongeveer 15 minuten af kunt hebben. Maar dit is ook een uitstekend project om zelf aanpassingen te maken is de code zodat de met een ander patroon aan en uit gaan.

Stap 1: Benodigdheden

1X Arduino Uno

1X Touch sensor

3X (Rode) LED

3X 220 ohm weerstand

1X (half) Breadboard

11X Jumper wires

Stap 2: Bouwen en Bedraden

Arduino touch lamp project fritzing

Nu gaan we het bouwen van de lamp.
We beginnen bij het bedraden en het plaatsen van de componenten op het breadboard doe dit volgens bovenstaande foto. Plaats de touch sensor zo dat je deze goed kunt bereiken.

Als je de touch sensor omdraait moet je ook de volgorde van de draden omdraaien.

De 3 LEDs hebben allemaal een 220k weerstand nodig omdat de spanning over de LEDs te hoog wordt en deze kapot maakt.
Als je dit doet moet de weerstand op de + pin van de LEDs worden aangesloten. Je herkent de +pin doordat deze langer is dan de -pin.

Zodra je alle componenten volgens het schema hebt aangesloten op het breadboard kun je alles aansluiten op de Arduino.

Het is belangrijk dat je alles op de juiste plek aansluit als dit niet gebeurt werkt de code niet.

GND TS                ->         GND
VCC TS.               ->         5V
SIG TS                  ->        pin 2
B LED+                 ->        pin 3
R LED +                ->        pin 5
G LED +               ->       pin 6

Stap 3: Programmeren

Je hebt nu alles netjes bedraad en aangsloten. We kunnen dus beginnen met programmeren.

De onderstaande code kan je gemakkelijk kopiëren naar de Arduino IDE en vervolgens uploaden naar de Arduino.

Je weet dat de code corect is als je project het volgende doet:

1e touch: B LED gaat aan, de rest blijft uit
2e touch: B LED gaat uit, R LED gaat aan, G LED blijft uit
3e touch: R LED gaat uit, G LED gaat aan, B LED blijft uit
4e touch: Alle LEDs gaan aan vervolgens gaat R LED uit en weer aan waarna B & G LED uit en aan gaan. Dit blijft zich herhalen.
5e touch: Alle LEDs gaan uit

De code is nu afgerond en zal weer bij het begin beginnen.

/*
* Author: Elecrow Keen
* Date:4/21/2017
* IDE V1.8.2
* Email:keen@elecrow.com
* Function:
*/
const int touch = 2;
const int Bled = 3;
const int Rled = 5;
const int Gled = 6;
int lastime=0;
int val=0;
int count=0;
void setup() {
analogWrite(Bled,0);
analogWrite(Rled,0);
analogWrite(Gled,0);
attachInterrupt(0, swRGB, RISING);
}
void loop() {
switch(count){
case 1:
analogWrite(Bled,255);
analogWrite(Rled,0);
analogWrite(Gled,0);
delay(500);
break;
case 2:
analogWrite(Bled,0);
analogWrite(Rled,255);
analogWrite(Gled,0);
delay(500);
break;
case 3:
analogWrite(Bled,0);
analogWrite(Rled,0);
analogWrite(Gled,255);
delay(500);
break;
case 4:
RGBflash();
break;
case 5:
analogWrite(Bled,0);
analogWrite(Rled,0);
analogWrite(Gled,0);
delay(500);
break;
}
}
void swRGB(){
count++;
if(count>5)
count=0;
}
void RGBflash(){
for (int c=0,b=255,a=0; c<=255,b>0,a<=255;c++,b–,a++){ analogWrite(Bled,c); analogWrite(Rled,b); analogWrite(Gled,a); delay(5); } for (int a=255,b=0,c=255; a>0,b<=255,c>0;a–,b++,c–){
analogWrite(Bled,c);
analogWrite(Rled,b);
analogWrite(Gled,a);
delay(5);
}
}

Je hebt het project nu succesvol afgerond.

Als je leuk vindt kan je de de code aanpassen zodat je lamp nog meer functies krijgt.