Introducció al LED RGB
Un LED RGB és un tipus de LED que és capaç d'emetre llum en diversos colors barrejant les intensitats de les longituds d'ona vermella, verda i blava. El senyal PWM (modulació d'amplada de pols) es pot utilitzar per crear diversos colors ajustant el cicle de treball del senyal PWM generat per als tres colors primaris.
Mòdul LED RGB
Hi ha diferents mòduls LED RGB disponibles com HW-478, KY-016 i KY-009. Farem servir el HW-478 Mòdul RGB. Els principis de funcionament de tots aquests mòduls són els mateixos.
HW-478 RGB El mòdul té les següents especificacions:
Especificacions | Valor |
---|---|
Tensió de funcionament | 5V màx |
Vermell | 1,8 V - 2,4 V |
Verd | 2,8 V - 3,6 V |
Blau | 2,8 V - 3,6 V |
Corrent endavant | 20mA - 30mA |
Temperatura de funcionament | -25 °C a 85 °C [-13 °F - 185 °F] |
Dimensions del tauler | 18,5 mm x 15 mm [0,728 polzades x 0,591 polzades] |
Pinout LED RGB HW-478
A continuació es mostren els 4 pins del mòdul RGB:
Funcionament del LED RGB
Un LED RGB és un tipus de LED que pot emetre tres colors diferents de llum: vermell, verd i blau. El principi de funcionament d'un LED RGB amb Arduino consisteix a utilitzar la modulació d'amplada de pols (PWM) per controlar la intensitat de cada color.
En ajustar el cicle de treball del senyal PWM, l'Arduino pot canviar la quantitat de corrent que flueix per cada LED, fent que el LED emeti un color de llum diferent. Per exemple, si el cicle de treball del LED vermell s'estableix en un valor alt, el LED emetrà una llum vermella brillant. Si el cicle de treball del LED verd s'estableix en un valor baix, el LED emetrà una llum verda tènue. Combinant les intensitats dels tres colors, l'Arduino pot crear una àmplia gamma de colors diferents.
El valor del cicle de treball PWM d'Arduino varia entre 0 i 255. En assignar un valor PWM a qualsevol color, podem configurar-lo com a brillant o desactivar-lo completament. 0 correspon al LED apagat i 255 correspon a la brillantor total.
Com mostrar diversos colors en LED RGB
Per mostrar diversos colors, hem de definir els valors PWM per a tres colors primaris (RGB). Per mostrar qualsevol color primer hem de trobar el codi de color. A continuació es mostra la llista de codis de colors per a alguns dels colors principals:
Per trobar el codi de color es pot utilitzar Selector de colors de Google . Amb aquesta eina, també podem obtenir el valor HEX RGB per al color respectiu.
Ara avançarem cap a la interfície de LED RGB amb Arduino Nano.
Interfície LED RGB amb Arduino Nano
Per connectar el mòdul LED RGB amb Arduino Nano es necessiten els següents components:
- Arduino Nano
- Resistència de 3×220 Ohm (Ω).
- Mòdul LED RGB HW-478
- Cables de pont
- Tauler
- Arduino IDE
Esquemàtic
La imatge donada representa l'esquema d'Arduino Nano amb LED RGB.
Maquinari
El següent maquinari està dissenyat en una placa de prova. Es connecta una resistència a cada pin per protegir el circuit LED.
Codi
Obriu l'entorn integrat Arduino i pengeu el codi donat a la placa Arduino Nano:
configuració de buit ( ) {
mode pin ( redPin, SORTIDA ) ; /* Pin vermell definit com sortida */
mode pin ( greenPin, SORTIDA ) ; /* Pin verd definit com sortida */
mode pin ( bluePin, SORTIDA ) ; /* Pin blau definit com sortida */
}
bucle buit ( ) {
Sortida_RGB ( 255 , 0 , 0 ) ; // Estableix el color RGB a Vermell
retard ( 1000 ) ;
Sortida_RGB ( 0 , 255 , 0 ) ; // Estableix el color RGB a llima
retard ( 1000 ) ;
Sortida_RGB ( 0 , 0 , 255 ) ; // Estableix el color RGB en blau
retard ( 1000 ) ;
Sortida_RGB ( 255 , 255 , 255 ) ; // Estableix el color RGB en blanc
retard ( 1000 ) ;
Sortida_RGB ( 128 , 0 , 0 ) ; // Estableix el color RGB a granat
retard ( 1000 ) ;
Sortida_RGB ( 0 , 128 , 0 ) ; // Estableix el color RGB en verd
retard ( 1000 ) ;
Sortida_RGB ( 128 , 128 , 0 ) ; // Estableix el color RGB en oliva
retard ( 1000 ) ;
Sortida_RGB ( 0 , 0 , 0 ) ; // Estableix el color RGB en negre
retard ( 1000 ) ;
}
void RGB_output ( int llum vermella, int llum verda, int llum blava )
{
analogWrite ( pin vermell, llum vermella ) ; // escriure valors analògics a RGB
analogWrite ( greenPin, greenlight ) ;
analogWrite ( pin blau, llum blava ) ;
}
Els primers pins RGB s'inicien per enviar el senyal PWM. El pin digital 2 s'inicialitza per al color verd i, de la mateixa manera, D2 i D3 s'inicialitzen per a color vermell i blau.
A la part del bucle del codi es defineixen diferents colors utilitzant el seu valor HEX RGB. Cadascun d'aquests valors descriu un senyal PWM.
A continuació a la void RGB_output() funció vam passar 3 nombres enters que estableixen diferents colors a la llum RGB. Per exemple, per al color blanc hem de passar 255 en cadascun dels tres paràmetres. Cada color primari vermell, blau i verd serà brillant al màxim, com a resultat, ens donarà color blanc a la sortida.
Sortida
Després de carregar el codi, veurem diferents colors al LED RGB. La imatge de sota ens mostra el color VERMELL.
Aquesta imatge representa el color verd.
Hem connectat el mòdul LED RGB amb l'Arduino Nano.
Conclusió
Arduino Nano és una placa compacta que es pot integrar amb diferents sensors. Aquí hem utilitzat un LED RGB amb Arduino Nano i l'hem programat per mostrar diversos colors mitjançant un senyal PWM d'un pin digital Arduino Nano. Per obtenir més descripció de RGB llegiu l'article.