Arduino: Comandare LED RGB con un Potenziometro

Ciao a tutti e scusate l’assenza, in questo articolo vi mostrerò un progetto che permette di mischiare i colori di un LED RGB attraverso un potenziometro.

RGB è l’acronimo di Red, Green, Blue (ovvero Rosso, Verde, Blu). Ogni colore visibile dall’occhio umano è generato dalla miscela di queste tre tinte primarie nelle adeguate proporzioni.

2000px-AdditiveColor.svg

Nel caso del LED-RGB sono tre diodi ad emissione luminosa di tre colori diversi e un Pin comune.

LED-RGB-8CD5kCA

Per questo progetto avremo bisogno di:

– Arduino UNO

– Un LED RGB (con o senza modulo)

– Una resistenza da 220Ohm se usiamo il LED senza modulo

– Breadboard (Basetta)

– Fili per i collegamenti

– Un potenziometro

Una volta recuperato i componenti passiamo al montaggio del circuito:

Cattura di schermata (26)
Schema da seguire se non usiamo il modulo

_____________________________________________

Cattura di schermata (25)
Schema da seguire se usiamo il modulo

 

Adesso passiamo al codice:

[c]

const int rosso = 9;
const int blu = 10;
const int verde = 11;
const int pinpotenziometro = 0;
int valorepotenziometro;
int valorerosso;
int valoreverde;
int valoreblu;
void setup()
{
pinMode(verde, OUTPUT);
pinMode(rosso, OUTPUT);
pinMode(blu, OUTPUT);
}
void loop()
{
valorepotenziometro = analogRead(pinpotenziometro);
if (valorepotenziometro > 511) {
valoreverde = map (valorepotenziometro, 0, 510, 0, 255);
analogWrite (verde, valoreverde);
analogWrite (blu, 255);
valorerosso = map (valorepotenziometro, 0, 510, 255, 0);
analogWrite (rosso, valorerosso);
}
if (valorepotenziometro <= 511) {
valoreverde = map (valorepotenziometro, 0, 511, 255, 0);
analogWrite (verde, valoreverde);
analogWrite (rosso, 255);
valoreblu = map (valorepotenziometro, 0, 511, 0, 255);
analogWrite (blu, valoreblu);
}
}

[/c]

Carichiamo lo sketch sulla nostra scheda e usando il potenziometro cambieremo le varie combinazioni di colore del LED.

A seguire alcune foto del progetto:

WP_20150422_007 WP_20150422_008 WP_20150422_006 WP_20150422_005 WP_20150422_009