Algunas partes de este sitio web aún no están disponibles en su idioma. Estamos trabajando para solucionar esto y nos disculpamos por cualquier inconveniente.
Tutorial ESP32 38/55 - Controlando LED RGB desde tu teléfono móvil | Kit de aprendizaje IoT ESP32 de SunFounder
En este tutorial, exploraremos cómo controlar un LED RGB utilizando un módulo ESP32 del kit de aprendizaje SunFounder ESP32. Al enviar comandos desde tu dispositivo móvil, puedes cambiar el color del LED o apagarlo por completo. Este proyecto aprovecha las capacidades del ESP32, aprovechando las funciones de Wi-Fi y Bluetooth integradas para una conectividad y control sin interrupciones.
ESP32_cable_led_RGBESP32_pin_rgb
El LED RGB consta de tres LED individuales: rojo, verde y azul, que se pueden mezclar para crear varios colores. En este proyecto, aprenderás a cablear correctamente el LED RGB y programar el ESP32 para que responda a comandos Bluetooth. El tutorial también te guiará a través de los componentes de código necesarios para lograr esta funcionalidad (en el video a las 02:15).
Hardware Explicado
Los componentes principales para este proyecto incluyen el microcontrolador ESP32 y el LED RGB. El ESP32 es un módulo potente con Wi-Fi y Bluetooth integrados, lo que lo hace ideal para aplicaciones IoT. En este proyecto, actuará como un servidor para recibir comandos de un dispositivo móvil y controlar el LED RGB en consecuencia.
El LED RGB tiene cuatro pines: un pin común (ya sea ánodo o cátodo) y tres pines para los colores individuales. El pin común se conecta a la fuente de alimentación o a tierra, mientras que los otros tres pines se conectan a los pines GPIO del ESP32 a través de resistencias para limitar la corriente y proteger los LEDs. Esta configuración permite un control preciso del brillo de cada color, creando una amplia gama de colores.
Detalles de la hoja de datos
Fabricante
SunFounder
Número de parte
LED RGB
Tipo de clavija común
Ánodo común / Cátodo común
Tensión de avance (V)
2.0 - 3.2 V
Corriente máxima de avance (A)
20 mA
Corriente típica (A)
15 mA
Resolución de color
8 bits (0-255)
Paquete
Agujero pasante / SMD
Asegúrate de utilizar valores de resistores adecuados (típicamente 220 Ohm) para limitar la corriente a través de cada canal de LED.
Verifica la configuración común de pines (ánodo o cátodo) antes de cablear.
Utiliza PWM para atenuar y mezclar colores ajustando la señal enviada a cada LED.
Ten cuidado con el cableado para evitar cortocircuitos; conecta un pin a la vez.
Prueba cada color individualmente después de la configuración para confirmar el correcto cableado.
Instrucciones de cableado
ES32-38_RGB_LED-wiring
Para conectar el LED RGB al ESP32, comienza colocando el LED RGB en una placa de pruebas. El pin más largo es el pin común, que deberás conectar ya sea al voltaje positivo (para ánodo común) o a tierra (para cátodo común). Si estás utilizando ánodo común, conecta el pin largo al pin de 3.3V en el ESP32. Para cátodo común, conéctalo al pin GND.
A continuación, toma tres resistores de 220 Ohmios y conecta un extremo de cada resistor a los pines RGB correspondientes del LED. Conecta los otros extremos de los resistores a los pines GPIO del ESP32: conecta el pin rojo del LED al GPIO 27, el pin verde al GPIO 26 y el pin azul al GPIO 25. Finalmente, asegúrate de que el pin común esté correctamente conectado según tu configuración (ánodo o cátodo).
Ejemplos de código y recorrido
El código para este proyecto comienza definiendo los pines conectados al LED RGB. El siguiente fragmento muestra cómo se declaran los pines:
const int redPin = 27;
const int greenPin = 26;
const int bluePin = 25;
Aquí,redPin,greenPin, ybluePinse asignan números GPIO específicos en el ESP32 para cada canal de color del LED RGB.
En la función de configuración, se inicializa el Bluetooth y se aplican los ajustes de PWM. Este extracto demuestra esta inicialización:
void setup() {
Serial.begin(115200); // Initialize the serial port
setupBLE(); // Initialize the Bluetooth BLE
ledcAttach(redPin, freq, resolution);
ledcAttach(greenPin, freq, resolution);
ledcAttach(bluePin, freq, resolution);
}
Este código inicializa la comunicación serie y configura la funcionalidad Bluetooth mientras conecta los pines del LED RGB a los canales PWM para el control.
Finalmente, la función de bucle verifica los mensajes Bluetooth recibidos y ajusta el color del LED en consecuencia:
if (value == "red") {
setColor(255, 0, 0); // Red
Serial.println("red");
}
En esta sección, si el valor recibido es "rojo", el LED se ajustará a un brillo rojo completo utilizando elsetColorfunción.
Para una comprensión completa del código, se recomienda ver el tutorial en video donde se carga el código completo debajo del artículo.
Demostración / Qué Esperar
Una vez que todo esté cableado y el código esté cargado, deberías poder controlar el LED RGB desde tu dispositivo móvil a través de Bluetooth. Al enviar comandos como "rojo", "verde", "azul", etc., verás que el LED cambia de color en consecuencia. Si envías "LED_apagar", el LED RGB se apagará. Asegúrate de revisar el monitor serie para cualquier mensaje de depuración que confirme que los comandos se están recibiendo correctamente (en el video a las 10:45).
Marcas de tiempo del video
00:00 Comenzar
1:59 ¿Qué es un LED RGB?
6:01 Explicación del color RGB
10:01 Página de documentación
11:19 Explicación del cableado
13:34 Seleccionando la placa ESP32 y el puerto COM en Arduino IDE
15:15 Código de Arduino
18:02 Demostración de control de un LED RGB usando tu teléfono
Imágenes
ESP32_rgb_pin
ESP32_RGB_led_wires
ES32-38_RGB_LED-wiring
ESP32_rgb_pin
ESP32_RGB_led_wires
ES32-38_RGB_LED-wiring
839-ESP32 Tutorial 38/55- Arduino code for controlling RGB LED using bluetooth app