Gestione proporzionale PWM dei colori per un LED RGB a "catodo comune".
Lo sketch produce lo spegnimento progressivo dei LED (affievolimento).
Con facili modifiche è possibile ottenere l'accensione progressiva di ogni colore, lo spegnimento progressivo, il lampeggio, la miscelazione dei colori primari ecc...
I colori "primari" Rosso, Verde, Blu permettono di generare tutti gli altri colori, compreso il bianco, con opportuni coefficienti.
/* ------------------- Inizio Programma ----------------------------------------------------------------
* Achille De Santis
* fader per canali RGB - V2.0 del 02-07-2019
* collegare i LED con una resistenza, in serie, da 470 Ohm.
*/
// ------------- I/O -----------
#define VERDE 9
#define BLU 10
#define ROSSO 11
// -----------------------------
int delayTime = 20;
void setup()
{
pinMode(VERDE, OUTPUT);
pinMode(BLU, OUTPUT);
pinMode(ROSSO, OUTPUT);
}
void accenditutto()
{
analogWrite(VERDE, 255);
analogWrite(BLU, 255);
analogWrite(ROSSO, 255);
}
void spegni(int colore)
{
for (int i=0; i<255; i++)
{
analogWrite(colore, 255-i);
delay (delayTime);
}
}
void loop()
{
accenditutto();
spegni(VERDE);
spegni(BLU);
spegni(ROSSO);
}
// ---------------------- Fine Programma -------------------------------------------------------------
Simulazione:
Fader per RGB a catodo comune
Fader per RGB ad anodo comune
Controllo di accelerazione per motore in DC con PWM
Arduino N° 24
Lo sketch produce lo spegnimento progressivo dei LED (affievolimento).
Con facili modifiche è possibile ottenere l'accensione progressiva di ogni colore, lo spegnimento progressivo, il lampeggio, la miscelazione dei colori primari ecc...
I colori "primari" Rosso, Verde, Blu permettono di generare tutti gli altri colori, compreso il bianco, con opportuni coefficienti.
/* ------------------- Inizio Programma ----------------------------------------------------------------
* Achille De Santis
* fader per canali RGB - V2.0 del 02-07-2019
* collegare i LED con una resistenza, in serie, da 470 Ohm.
*/
// ------------- I/O -----------
#define VERDE 9
#define BLU 10
#define ROSSO 11
// -----------------------------
int delayTime = 20;
void setup()
{
pinMode(VERDE, OUTPUT);
pinMode(BLU, OUTPUT);
pinMode(ROSSO, OUTPUT);
}
void accenditutto()
{
analogWrite(VERDE, 255);
analogWrite(BLU, 255);
analogWrite(ROSSO, 255);
}
void spegni(int colore)
{
for (int i=0; i<255; i++)
{
analogWrite(colore, 255-i);
delay (delayTime);
}
}
void loop()
{
accenditutto();
spegni(VERDE);
spegni(BLU);
spegni(ROSSO);
}
// ---------------------- Fine Programma -------------------------------------------------------------
Simulazione:
Fader per RGB a catodo comune
Fader per RGB ad anodo comune
Controllo di accelerazione per motore in DC con PWM
Arduino N° 24
Nessun commento:
Posta un commento