Arduino Nano ESP32 - LED RGB

Este tutorial proporciona instrucciones sobre cómo controlar un LED RGB para emitir cualquier color utilizando Arduino Nano ESP32.

Hardware Requerido

1×Arduino Nano ESP32
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×RGB LED
1×(Alternativo) Módulo LED RGB
1×Protoboard
1×Cables Puente
1×(Opcional) Conector de Alimentación DC
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para Arduino Nano
1×(Recomendado) Placa de Expansión Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentación para Arduino Nano ESP32

Or you can buy the following kits:

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 mezclando los tres colores básicos: rojo, verde y azul. Un LED RGB individual está compuesto por tres LEDs: rojo, verde y azul. Estos tres LEDs están empaquetados en una sola carcasa para que parezca un solo LED.

Pinout del LED RGB

El LED RGB incluye cuatro pines:

  • Pin R (rojo): sirve para controlar el elemento de color rojo
  • Pin G (verde): sirve para controlar el elemento de color verde
  • Pin B (azul): sirve para controlar el elemento de color azul
  • Pin común (cátodo): conecta este pin a GND (0 V)
Diagrama de pines de LED RGB

Para conectar un LED RGB a ESP32, hay que añadir resistencias limitadoras de corriente. Esto puede complicar el cableado. Por suerte, podemos usar un módulo de LED RGB que viene con resistencias limitadoras de corriente ya instaladas.

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 utiliza para controlar el rojo
  • G (verde): el pin se utiliza para controlar el verde
  • B (azul): el pin se utiliza para controlar el azul
Diagrama de pines del módulo LED RGB

※ Nota:

Según el pin común, existen dos tipos de LED: de ánodo común y de cátodo común. Este tutorial utiliza un LED de cátodo común.

Cómo funciona un LED RGB

En términos de física, un color es una combinación de tres elementos de color: Rojo (R), Verde (G) y Azul (B). Cada componente de color tiene un rango de valores de 0 a 255. La combinación de los valores de los tres componentes de color crea un total de 256 x 256 x 256 colores.

Si generamos señales PWM en los pines R, G y B, el LED RGB muestra un color que corresponde a los valores de ciclo de trabajo de PWM. Al cambiar el ciclo de trabajo de las señales PWM (de 0 a 255), el LED RGB puede mostrar cualquier color. Los valores de color de Rojo (R), Verde (G) y Azul (B) corresponden al ciclo de trabajo de PWM en los pines R, G y B, respectivamente.

Diagrama de cableado entre LED RGB y Arduino Nano ESP32

  • Esquema de cableado entre Arduino Nano ESP32 y LED RGB
Diagrama de cableado de Arduino Nano ESP32 para LED RGB

This image is created using Fritzing. Click to enlarge image

  • Diagrama de cableado entre Arduino Nano ESP32 y el módulo LED RGB
Diagrama de cableado del módulo LED RGB Arduino Nano ESP32.

This image is created using Fritzing. Click to enlarge image

Cómo controlar un LED RGB

Supongamos que queremos mostrar el color #00979D en un LED RGB; podemos seguir el siguiente paso:

  • Encuentra el 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 Nano ESP32 que se conectan a los pines R, G y B. Por ejemplo:
#define PIN_RED D11 // The Arduino Nano ESP32 pin connected to R pin #define PIN_GREEN D10 // The Arduino Nano ESP32 pin connected to G pin #define PIN_BLUE D9 // The Arduino Nano ESP32 pin connected to B pin
  • Configura estos pines del Arduino Nano ESP32 en modo de salida
pinMode(PIN_RED, OUTPUT); pinMode(PIN_GREEN, OUTPUT); pinMode(PIN_BLUE, OUTPUT);
  • Controla 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 Nano ESP32 - Código de ejemplo para 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 Nano ESP32 fue desarrollado por es.newbiely.com * Este código de Arduino Nano ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-led-rgb */ #define PIN_RED D11 // The Arduino Nano ESP32 pin connected to R pin #define PIN_GREEN D10 // The Arduino Nano ESP32 pin connected to G pin #define PIN_BLUE D9 // The Arduino Nano ESP32 pin connected to B pin 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 }

Al usar muchos colores, podríamos acortar el código al crear una función:

/* * Este código de Arduino Nano ESP32 fue desarrollado por es.newbiely.com * Este código de Arduino Nano ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-led-rgb */ #define PIN_RED D11 // The Arduino Nano ESP32 pin connected to R pin #define PIN_GREEN D10 // The Arduino Nano ESP32 pin connected to G pin #define PIN_BLUE D9 // The Arduino Nano ESP32 pin connected to B pin 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); }

※ 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!