In questo semplice progetto vedremo come far si che alla rotazione di un potenziometro il nostro led RGB emetta una sfumatura di colore diversa.
I colori partiranno dal rosso, al centro del potenziometro si avrà il verde e sfumeranno fino al blu.
Questo è il video dimostrativo del progetto:
Il led che ho usato è del tipo ad anodo comune, fate attenzione anche al fatto che non tutti i led hanno la stessa piedinatura, guardate il datasheet oppure andate a tentativi, tenendo conto che solitamente l'anodo è quello con il piedino più lungo.
Lo schema di collegamento è il seguente:
e questo è lo sketch da caricare nel vostro Arduino,
Ho cercato nel modo più semplice possibile di far si che quando il potenziometro è al minimo sia acceso completamente il led rosso, a metà il verde e a fine corsa il blu.
Chiaramente tra questi 3 punti, utilizzando la funzione "map" ho scalato i valori per creare le sfumature.
Ho cercato nel modo più semplice possibile di far si che quando il potenziometro è al minimo sia acceso completamente il led rosso, a metà il verde e a fine corsa il blu.
Chiaramente tra questi 3 punti, utilizzando la funzione "map" ho scalato i valori per creare le sfumature.
- const int rosso = 9; // connessione led rgb
- const int blu = 10;
- const int verde = 11;
- const int pinpotenziometro = 0; // potenziometro connesso al pin 0
- int potenzval;
- int rossoval;
- int verdeval;
- int bluval;
- void setup()
- {
- pinMode(verde, OUTPUT);
- pinMode(rosso, OUTPUT);
- pinMode(blu, OUTPUT);
- }
- void loop()
- {
- potenzval = analogRead(pinpotenziometro);
- if (potenzval > 511){
- verdeval = map (potenzval,0,510,0,255);
- analogWrite (verde, verdeval);
- analogWrite (blu, 255);
- rossoval = map (potenzval,0,510,255,0);
- analogWrite (rosso, rossoval);
- }
- if (potenzval <= 511){
- verdeval = map (potenzval,0,511,255,0);
- analogWrite (verde, verdeval);
- analogWrite (rosso, 255);
- bluval = map (potenzval,0,511,0,255);
- analogWrite (blu, bluval);
- }
- }
come al solito non fatevi problemi a chiedere se avete dei dubbi,
e fate un +1 se avete gradito.. Grazie! =)
e fate un +1 se avete gradito.. Grazie! =)
Ciao Daniele
RispondiEliminaavrei bisogno di aiuto per un ppiccolo lavoretto con arduino, puoi contattarmi per favore?
dolmas@libero.it
ggrazie
a presto
Certo, ti ho risposto via email.
EliminaQuesto commento è stato eliminato da un amministratore del blog.
RispondiEliminaciao, blog molto interessante ma l'anodo del led rgb non dovrebbe andare collegato a gnd???
RispondiEliminaCiao, dipende dal tipo di led, anche a me sembra illogico, ma i led che mi sono arrivati funzionano così!
EliminaBuona serata!