Usar un control remoto IR es una forma bárbara de tener control inalámbrico en tus proyectos de forma simple. En este tutorial vamos a conectar el receptor al ESP32 sin usar librerías externas, programando nosotros mismos el parseo de las señales para entender cómo se interpretan los comandos del control remoto.
Descripción general
En nuestro programa vamos a incluir todos los códigos hexadecimales disponibles en el control remoto para detectar qué tecla se presionó. El código se encarga de validar los tiempos de las señales para asegurar que la decodificación sea exacta y reconozca cada botón correctamente.
Componentes necesarios
Para este proyecto vas a necesitar: (1) Elegoo ESP32, (2) Protoboards de 400 puntos, (1) Módulo receptor IR, (1) Control remoto IR y (3) Cables Dupont macho-macho (M-M).
Introducción al componente
El sensor receptor IR es un microchip con una fotocélula sintonizada para detectar luz infrarroja. Son los mismos que encontrás en el frente de cualquier televisor o reproductor de DVD. El control remoto tiene un LED IR que emite pulsos invisibles para el ojo humano, por lo que probar el circuito requiere un poco más de atención.
A diferencia de una fotocélula común, estos detectores tienen un filtro especial y un demodulador interno que busca señales moduladas a 38 KHz. Esto significa que no detectan luz IR continua, sino que necesitan que el LED parpadee a esa frecuencia específica (usando PWM). Además, son de salida digital: devuelven 0V cuando detectan la señal y 5V cuando no hay nada.
Esquema de conexión y cableado
El receptor IR tiene tres conexiones fundamentales: Señal, Voltaje y Tierra (GND). En el módulo, vas a ver las marcas "G" para Tierra, "Y" para la señal y "R" para el voltaje de 3.3V.
Código y funcionamiento
Podés descargar el archivo ir_receiver_module.zip y abrirlo con el IDE de Arduino. Asegurate de tener instalados los componentes de la placa ESP32 antes de empezar. El programa usa la función readPulse() para medir la duración de los niveles lógicos en microsegundos con micros(), lo que permite decodificar el protocolo NEC manualmente sin depender de librerías externas.
Una vez que cargues el código, abrí el Monitor Serie a 9600 baudios para ver qué código hexadecimal corresponde a cada tecla que presiones en el control remoto. El pin de datos del receptor debe ir conectado al GPIO 19 del ESP32.
Fuente: Adaptado al español desde el wiki oficial Elegoo (licencia CC BY-SA). Revisión técnica por equipo Breva.