Arduino: Led RGB e Potenziometro


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.

  1. const int rosso = 9;  // connessione led rgb
  2. const int blu = 10;  
  3. const int verde = 11;  
  4. const int pinpotenziometro = 0;   // potenziometro connesso al pin 0
  5. int potenzval;  
  6. int rossoval;
  7. int verdeval;
  8. int bluval;
  9. void setup()
  10. {
  11. pinMode(verde, OUTPUT);
  12. pinMode(rosso, OUTPUT);
  13. pinMode(blu, OUTPUT);
  14. }
  15. void loop()
  16. {
  17.   potenzval = analogRead(pinpotenziometro);
  18.   if (potenzval > 511){
  19.   verdeval = map (potenzval,0,510,0,255);
  20.   analogWrite (verde, verdeval);
  21.   analogWrite (blu, 255);
  22.   rossoval = map (potenzval,0,510,255,0);
  23.   analogWrite (rosso, rossoval);
  24. }
  25.   if (potenzval <= 511){
  26.   verdeval = map (potenzval,0,511,255,0);
  27.   analogWrite (verde, verdeval);
  28.   analogWrite (rosso, 255);
  29.   bluval = map (potenzval,0,511,0,255);
  30.   analogWrite (blu, bluval);
  31. }
  32. }

come al solito non fatevi problemi a chiedere se avete dei dubbi,
e fate un +1 se avete gradito.. Grazie! =)

Segui Daniele Alberti su Google+

5 commenti:

  1. Ciao Daniele
    avrei bisogno di aiuto per un ppiccolo lavoretto con arduino, puoi contattarmi per favore?
    dolmas@libero.it
    ggrazie
    a presto

    RispondiElimina
  2. Questo commento è stato eliminato da un amministratore del blog.

    RispondiElimina
  3. ciao, blog molto interessante ma l'anodo del led rgb non dovrebbe andare collegato a gnd???

    RispondiElimina
    Risposte
    1. Ciao, dipende dal tipo di led, anche a me sembra illogico, ma i led che mi sono arrivati funzionano così!
      Buona serata!

      Elimina

Lascia un commento qui sotto, ti risponderò il prima possibile!

Related Posts Plugin for WordPress, Blogger...