Maandag 21 april zijn we gesloten i.v.m. 2e paasdag. Bestellingen die na vrijdag 18 april 16:00 zijn geplaatst worden dinsdag 22 april verstuurd.
5137+ beoordelingen
Bestel voor 16:00 voor dezelfde dag verzending
14 dagen retour
NL
Particulier
Zakelijk
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.
Nu gaan we het project in elkaar zetten.
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
/*
* Author: Elecrow Engle
* Date:7/21/2017
* IDE V1.8.2
* Email:engle@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);
}
}