1) Definició de RGB i LedRGB-Seqüència
Un led RGB és en realitat tres leds que comparteixen el càtode (GND o -) i tenen tres ànodes (+) associats a tres colors bàsics (Red/Roig) , (Green/Verd) i (Blue/Blau). Variant la intensitat amb que brilla cada led aconseguim tots els colors de l'arc de Sant Martí.
Anem a veure-ho amb el següent muntatge.
Podem mirar quina combinació de colors podem crear. Obre el programa Inskscape de Lliurex i dibuixa un cercle a l'eina el·líptica ( fletxa 1), escull l’eina editora de color (fletxa 2), i amb el cercle seleccionat varia la intensitat del Roig (fletxa 3) , del Green/Verd (fletxa 4) i del Blau (fletxa 5).
(Nota: A vora les propietats RGB hi la propietat «A» que és la opacitat que val 255 per tal que el cercle no siga transparent però aquesta propietat no la pot controlar BlocklyDuino, sols inkscape, per això al fer mescles de colors per Arduino la mantindrem a 255 dins de Inkscape).
Si esculls un color Roig pur tindràs un RGB = (255, 0, 0)
Si esculls un color Green/Verd pur tindràs un RGB = (0, 255, 0)
Si esculls un colors Blau pur tindràs un RGB = (0, 0, 255)
Anem a veure com traguem partit a un led RGB amb BlocklyDuino.
Fes el següent programa i anomena'l LedRGB_Seqüència
Fixa't que em definit funcions amb el nom del color que volem obtindre fent la mescla de colors RGB. Després al programa principal cridem les funcions i les executem els temps que esperem després de cada cridada de funció.
Mira el programa equivalent amb Arduino IDE.
// Pinta de roig el led
void Roig() {
analogWrite(3,255);
analogWrite(5,0);
analogWrite(6,0);
}
// Pinta de blanc el led
void Blanc() {
analogWrite(3,255);
analogWrite(5,255);
analogWrite(6,255);
}
// Pinta de groc el led
void Groc() {
analogWrite(3,255);
analogWrite(5,255);
analogWrite(6,0);
}
// Pinta de verd el led
void Verd() {
analogWrite(3,0);
analogWrite(5,255);
analogWrite(6,0);
}
// Apaga el led
void NegreApagat() {
analogWrite(3,0);
analogWrite(5,0);
analogWrite(6,0);
}
// Pinta de porpra el led
void Porpra() {
analogWrite(3,255);
analogWrite(5,0);
analogWrite(6,255);
}
// Pinta de blau el led
void Blau() {
analogWrite(3,0);
analogWrite(5,0);
analogWrite(6,255);
}
// Pinta de blaucel el led
void BlauCel() {
analogWrite(3,0);
analogWrite(5,255);
analogWrite(6,255);
}
void setup() {
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
}
void loop() {
BlauCel();
delay(1000);
Blanc();
delay(1000);
Groc();
delay(1000);
Porpra();
delay(1000);
Roig();
delay(1000);
Verd();
delay(1000);
Blau();
}
Fes la Pràctica RGB 1.