Arduino - LED RGB

En este tutorial, vamos a aprender:

Hardware Requerido

1×Arduino Uno R3
1×Cable USB 2.0 tipo A/B (para PC USB-A)
1×Cable USB 2.0 tipo C/B (para PC USB-C)
1×RGB LED
1×(Alternativo) Módulo LED RGB
1×Protoboard
1×Cables Puente
1×(Recomendado) Shield de Bloque de Terminales de Tornillo para Arduino Uno
1×(Recomendado) Shield de Protoboard para Arduino Uno
1×(Recomendado) Carcasa para Arduino Uno
1×(Recomendado) Placa Base de Prototipado y Kit de Protoboard para Arduino Uno

Or you can buy the following kits:

1×DIYables STEM V3 Starter Kit (Arduino included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca de LED RGB

El LED RGB puede emitir cualquier color al mezclar los tres colores básicos: rojo, verde y azul. En realidad, consiste en tres LEDs separados (rojo, verde y azul) empaquetados juntos en una sola carcasa.

Esquema de pines

El LED RGB incluye cuatro pines:

  • Pin común (cátodo): debe conectarse a GND (0V)
  • R (rojo): el pin se usa para controlar el rojo
  • G (verde): el pin se usa para controlar el verde
  • B (azul): el pin se usa para controlar el azul
Pinout de LED RGB

Para conectar un LED RGB al Arduino, necesitamos usar resistencias limitadoras de corriente. Esto puede hacer que el cableado sea complejo. Afortunadamente, podemos usar el módulo LED RGB, que ya tiene resistencias limitadoras de corriente integradas.

El módulo LED RGB también incluye cuatro pines:

  • Pin común (cátodo): debe conectarse a GND (0 V)
  • R (rojo): el pin se usa para controlar el rojo
  • G (verde): el pin se usa para controlar el verde
  • B (azul): el pin se usa para controlar el azul
Pinout del módulo LED RGB

※ Nota:

El pin común puede ser cátodo o ánodo, dependiendo del tipo de LED RGB. Este tutorial utiliza un cátodo común.

Cómo funciona

En la naturaleza de la física, un color se compone de tres valores de color: Rojo (R), Verde (G) y Azul (B). Cada valor de color varía de 0 a 255.

La mezcla de tres valores crea un total de 256 × 256 × 256 colores.

Si proporcionamos señales PWM (con ciclo de trabajo de 0 a 255) a los pines R, G y B, podemos hacer que las pantallas LED RGB muestren cualquier color que queramos.

El ciclo de trabajo de las señales PWM para los pines R, G y B corresponde a los valores de color de Rojo (R), Verde (G) y Azul (B).

Diagrama de Cableado

  • Diagrama de cableado entre Arduino y LED RGB
Diagrama de cableado de LED RGB para Arduino

This image is created using Fritzing. Click to enlarge image

  • Diagrama de cableado entre Arduino y el módulo LED RGB
Diagrama de cableado del módulo LED RGB para Arduino

This image is created using Fritzing. Click to enlarge image

Cómo controlar un LED RGB

Aprendamos paso a paso cómo controlar el LED GRB a cualquier color, por ejemplo #00979D:

  • Determina qué color quieres mostrar y obtén su código de color. Consejos:
  • Convierte el código de color a valores R, G, B usando la herramienta de W3Schools. Toma nota de estos valores. En este caso: R = 0, G = 151, B = 157
Selector de color RGB para LED
  • Define los pines de Arduino que se conectan a los pines R, G y B. Por ejemplo:
const int PIN_RED = 5; const int PIN_GREEN = 6; const int PIN_BLUE = 9;
  • Configure estos pines de Arduino al modo de salida
pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT);
  • Controlar el LED para emitir ese color (#00979D → R = 0, G = 151, B = 157)
analogWrite(PIN_RED, 0); analogWrite(PIN_GREEN, 151); analogWrite(PIN_BLUE, 157);

Arduino - Código de ejemplo de LED RGB

El código de abajo cambia el color del LED entre los siguientes colores en secuencia:

  • #00C9CC (R = 0, G = 201, B = 204)
  • #F7788A (R = 247, G = 120, B = 138)
  • #34A853 (R = 52, G = 168, B = 83)
/* * Este código de Arduino fue desarrollado por es.newbiely.com * Este código de Arduino se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino/arduino-rgb-led */ const int PIN_RED = 5; const int PIN_GREEN = 6; const int PIN_BLUE = 9; void setup() { pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT); } void loop() { // color code #00C9CC (R = 0, G = 201, B = 204) analogWrite(PIN_RED, 0); analogWrite(PIN_GREEN, 201); analogWrite(PIN_BLUE, 204); delay(1000); // keep the color 1 second // color code #F7788A (R = 247, G = 120, B = 138) analogWrite(PIN_RED, 247); analogWrite(PIN_GREEN, 120); analogWrite(PIN_BLUE, 138); delay(1000); // keep the color 1 second // color code #34A853 (R = 52, G = 168, B = 83) analogWrite(PIN_RED, 52); analogWrite(PIN_GREEN, 168); analogWrite(PIN_BLUE, 83); delay(1000); // keep the color 1 second }

Cuando se usan muchos colores, podríamos acortar el código creando una función:

/* * Este código de Arduino fue desarrollado por es.newbiely.com * Este código de Arduino se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino/arduino-rgb-led */ const int PIN_RED = 5; const int PIN_GREEN = 6; const int PIN_BLUE = 9; void setup() { pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT); } void loop() { // color code #00C9CC (R = 0, G = 201, B = 204) setColor(0, 201, 204); delay(1000); // keep the color 1 second // color code #F7788A (R = 247, G = 120, B = 138) setColor(247, 120, 138); delay(1000); // keep the color 1 second // color code #34A853 (R = 52, G = 168, B = 83) setColor(52, 168, 83); delay(1000); // keep the color 1 second } void setColor(int R, int G, int B) { analogWrite(PIN_RED, R); analogWrite(PIN_GREEN, G); analogWrite(PIN_BLUE, B); }

Conocimiento adicional

  • Para LED RGB con ánodo común, necesitas:
    • Conecta el pin común a 3.3V del Arduino.
    • Cambia los valores de R, G y B en la función analogWrite() a 255 - R, 255 - G y 255 - B, respectivamente.
  • Una secuencia de LEDs RCB conectados juntos crea la tira de LED RGB.
  • La tira de LEDs puede clasificarse en la tira de LEDs direccionables y la tira de LEDs no direccionables. Vamos a hacer tutoriales para cada tipo de tira de LEDs.

※ Nota:

Evite usar una sola resistencia en el pin común del LED RGB en lugar de tres resistencias en los otros pines. Como sabemos, los tres LEDs en un solo paquete RGB están en paralelo. En condiciones ideales, está bien usar una sola resistencia en el pin común. Sin embargo, en la práctica, no lo haga. Eso se debe a que los LEDs reales no tienen las mismas características. Tres LEDs en el paquete RGB no son idénticos; las resistencias de los LEDs son diferentes; la corriente se reparte de forma desigual entre cada LED; el brillo no es el mismo y esto puede destruir un LED, y luego destruir los otros LEDs.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!