Es tracta d'un circuit molt senzill, per tal de connectar un led RVB de 3 W a un arduino i controlar-lo. Servirà per a les primeres proves.
Veiem un esquema ràpid del circuit:
Per muntar-lo cal
·Led RVB 3W
·C.I. ULN2003
·3 resistències 22 ohms i 1 W
·una protoboard i alguns cables
i per provar-lo cal
·un arduino (per programar-lo amb el programa 1 o 2 (pex) i/o alimentar-lo a baixa potència)
.una font d'alimentació de 12 V cc i 300-500 mA (per alimentar-lo autonomament)
A la imatge de dalt podem veure el mòdul muntat en placa de prototipat de tires, i connectat amb un connector pensat per a encaixar amb els pins de la placa d'arduino i mantenir la del led perpendicular a aquesta.
v:0.7
programa #2
Progressem una mica més per tal de veure les moltíssimes combinacions de colors que es poden obtenir d'aquests leds mitjançant les sortides PWM de la placa arduino i fent servir la funció random.
programa2-truefastrvbrandom
//inici del programa
//truefastrvbrandom
int r=0;
int v=0;
int b=0;
void rvb(int r, int v, int b) {
analogWrite(10,r);
analogWrite(11,v);
analogWrite(9,b);
}
void setup()
{
}
void loop()
{
int t=1000; //temps t en milisegons que
//espera per fer cada canvi
r=random(1,200); //treu un numero aletori entre el 1 i el 200
v=random(1,200); //un valor segur per a cada color RVB
b=random(1,200);
rvb(r,v,b); //aplica els valors a les sortides pwm 9, 10 i 11
delay(t);
} //fi del bucle
//fi del programa
v:0.7
programa2-truefastrvbrandom
//inici del programa
//truefastrvbrandom
int r=0;
int v=0;
int b=0;
void rvb(int r, int v, int b) {
analogWrite(10,r);
analogWrite(11,v);
analogWrite(9,b);
}
void setup()
{
}
void loop()
{
int t=1000; //temps t en milisegons que
//espera per fer cada canvi
r=random(1,200); //treu un numero aletori entre el 1 i el 200
v=random(1,200); //un valor segur per a cada color RVB
b=random(1,200);
rvb(r,v,b); //aplica els valors a les sortides pwm 9, 10 i 11
delay(t);
} //fi del bucle
//fi del programa
v:0.7
programa #1
Un senzillet primer programa ens permetrà començar a endinsar-nos en la programació de l'arduino i també ens mostrarà les possibilitats dels leds RVB.
programa1-democolorsbasics
//aqui comenca el programa
//les dos barres vol dir comentaris
//tot el que hi hagi darrere
//sera ignorat pel compilador
int r=0; //declarem tres variables de tipus enter
int v=0; //roig verd i blau
int b=0;
void rvb(int r, int v, int b) { //funcio rvb,
analogWrite(10,r); //assigna als pins 9, 10 i 11 (PWM)
analogWrite(11,v); //els valors de r, v i b
analogWrite(9,b);
}
void setup()
{
}
void loop()
{
int color;
int t=2000; // temps t en milisegons que
//espera en fer cada canvi
v=200;
r=0;
b=0;
rvb(r,v,b);// mostra color verd
delay(t);
r=200;
rvb(r,v,b); //mostra color groc
delay(t);
v=0;
rvb(r,v,b); //mostra color vermell
delay(t);
b=200;
rvb(r,v,b); //mostra color lila
delay(t);
v=200;
rvb(r,v,b); //mostra color blanc
delay(t);
r=0;
rvb(r,v,b); //mostra color turquesa
delay(t);
v=0;
rvb(r,v,b); //mostra color blau
delay(t);
} //fi del bucle
//fi del programa
El següent video mostra l'execució del programa en un arduino nano, i el circuit #1 muntats en protoboard.
Nota: En aquesta entrada i, a partir d'ara en aquest bloc, en el text corresponent al codi i els seus comentaris, els accents, apòstrofs, dièresis i altres signes poc estàndars (electronicament parlant) han estat i seran omitits voluntariament per tal d'evitar problemes amb el compilador d'arduino i poder directament copiar i enganxar el codi. Espero que s'entengui.
v:0.9
programa1-democolorsbasics
//aqui comenca el programa
//les dos barres vol dir comentaris
//tot el que hi hagi darrere
//sera ignorat pel compilador
int r=0; //declarem tres variables de tipus enter
int v=0; //roig verd i blau
int b=0;
void rvb(int r, int v, int b) { //funcio rvb,
analogWrite(10,r); //assigna als pins 9, 10 i 11 (PWM)
analogWrite(11,v); //els valors de r, v i b
analogWrite(9,b);
}
void setup()
{
}
void loop()
{
int color;
int t=2000; // temps t en milisegons que
//espera en fer cada canvi
v=200;
r=0;
b=0;
rvb(r,v,b);// mostra color verd
delay(t);
r=200;
rvb(r,v,b); //mostra color groc
delay(t);
v=0;
rvb(r,v,b); //mostra color vermell
delay(t);
b=200;
rvb(r,v,b); //mostra color lila
delay(t);
v=200;
rvb(r,v,b); //mostra color blanc
delay(t);
r=0;
rvb(r,v,b); //mostra color turquesa
delay(t);
v=0;
rvb(r,v,b); //mostra color blau
delay(t);
} //fi del bucle
//fi del programa
El següent video mostra l'execució del programa en un arduino nano, i el circuit #1 muntats en protoboard.
Nota: En aquesta entrada i, a partir d'ara en aquest bloc, en el text corresponent al codi i els seus comentaris, els accents, apòstrofs, dièresis i altres signes poc estàndars (electronicament parlant) han estat i seran omitits voluntariament per tal d'evitar problemes amb el compilador d'arduino i poder directament copiar i enganxar el codi. Espero que s'entengui.
v:0.9
Subscriure's a:
Missatges (Atom)