ESP32 - Control remoto IR
Probablemente te hayas encontrado con el control remoto infrarrojo, también llamado el control remoto IR, al usar dispositivos como televisores y aires acondicionados en casa... En esta guía, aprenderemos a usar el control remoto infrarrojo (IR) y un receptor infrarrojo para controlar el ESP32. En detalle, aprenderemos:
- Cómo conectar un receptor IR a una placa ESP32
- Cómo programar el ESP32 para leer el comando desde un mando a distancia IR a través de un receptor IR

Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del control remoto IR
Un sistema de control por infrarrojos tiene dos componentes: un mando a distancia por infrarrojos y un receptor infrarrojo.
- El control remoto IR se utiliza para enviar comandos mediante señales infrarrojas.
- El receptor infrarrojo captura e interpreta estas señales para controlar el dispositivo.
Un kit de infrarrojos suele consistir en los dos componentes mencionados anteriormente: un control remoto IR y un receptor IR.
Control remoto IR
El control remoto de infrarrojos es un dispositivo portátil que emite señales infrarrojas. Está diseñado con un teclado que cuenta con múltiples botones:
- Cada botón del control remoto está asignado a una función o comando específica.
- Cuando se pulsa un botón, el control remoto emite una señal infrarroja que contiene un código o patrón único vinculado al botón pulsado.
- Estas señales infrarrojas se encuentran dentro del espectro infrarrojo y no son visibles para el ojo humano.

Receptor de infrarrojos
El módulo receptor IR es un sensor que detecta y recibe las señales infrarrojas emitidas por el control remoto.
El receptor infrarrojo detecta las señales infrarrojas entrantes y las convierte en el código (comando) que representa el botón presionado en el control remoto.
El receptor IR puede ser un sensor o un módulo. Puedes usar las siguientes opciones:
- Solo módulo receptor IR
- Solo sensor receptor IR
- Sensor receptor IR + adaptador


Pinout del receptor IR
El módulo o sensor receptor IR tiene tres pines:
- Pin VCC: Conecta este pin al pin de 3.3V o 5V del ESP32 o a una fuente de alimentación externa.
- Pin GND: Conecta este pin al pin GND del ESP32 o a una fuente de alimentación externa.
- Pin OUT (Salida): Este pin es la salida del módulo receptor IR. Conéctalo a un pin de entrada digital en el ESP32.
Cómo funciona
Cuando el usuario pulsa un botón en el control remoto IR.
- El mando a distancia IR codifica la señal infrarroja con el comando correspondiente al botón mediante un protocolo específico
- El mando a distancia IR emite la señal infrarroja codificada
- El receptor IR recibe la señal infrarroja codificada
- El receptor IR decodificó la señal infrarroja codificada en el comando
- El ESP32 lee el comando del receptor IR
- El ESP32 mapea el comando a la tecla pulsada
Cuando se pulsa un botón en el control remoto por infrarrojos, ocurre la siguiente secuencia de eventos:
- El control remoto IR codifica el comando del botón en una señal infrarroja utilizando un protocolo específico.
- La señal infrarroja codificada es emitida por el control remoto IR.
- El receptor IR captura y recibe la señal infrarroja codificada.
- El receptor IR decodifica la señal infrarroja, convirtiéndola de nuevo en el comando original.
- El ESP32 lee y recupera el comando desde el receptor IR.
- El ESP32 mapea el comando recibido al botón correspondiente que fue presionado en el control remoto IR.
En esencia, estos pasos describen cómo la pulsación de un botón del control remoto IR se transforma en un comando reconocible que puede ser entendido y procesado por el ESP32.
Regenerar respuesta
Puede parecer complicado, pero no te preocupes. Gracias a la librería DIYables_IRcontroller, que es fácil de usar, resulta increíblemente fácil de lograr.
Diagrama de Cableado
Diagrama de cableado entre ESP32 y el módulo receptor IR

This image is created using Fritzing. Click to enlarge image
Si no sabe c\u00f3mo alimentar ESP32 y otros componentes, encuentre instrucciones en el siguiente tutorial: C\u00f3mo alimentar ESP32.
Diagrama de cableado entre ESP32 y el sensor receptor de infrarrojos

This image is created using Fritzing. Click to enlarge image
Diagrama de cableado entre ESP32 y el sensor receptor IR y el adaptador
Antes de conectar el sensor receptor de infrarrojos al ESP32, tienes la opción de conectarlo al adaptador. Esto facilita la integración y la configuración del sensor receptor de infrarrojos con el ESP32.

Cómo programar para un control remoto infrarrojo
- Incluir la biblioteca:
- Declara un objeto DIYables_IRcontroller_17 o DIYables_IRcontroller_21 que corresponda a los mandos a distancia IR de 17 teclas o 21 teclas:
- Inicializar el controlador IR.
- En el bucle, verifica si se presiona una tecla o no. Si es así, obtén la tecla
- Al detectar una pulsación de tecla, puedes realizar acciones en función de cada tecla.
Código ESP32
- Código ESP32 para control remoto IR de 17 teclas de DIYables
- Código ESP32 para control remoto IR de 21 teclas de DIYables
Pasos R\u00e1pidos
- Si esta es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en el IDE de Arduino.
- Haz clic en el icono de Bibliotecas en la barra izquierda del IDE de Arduino.
- Busca "DIYables_IRcontroller", luego encuentra la biblioteca DIYables_IRcontroller de DIYables
- Haz clic en el botón Instalar para instalar la biblioteca DIYables_IRcontroller.

- Se le pedirá instalar la dependencia de la biblioteca como se muestra en la imagen a continuación:

- Haz clic en el botón Instalar todo para instalar la dependencia
- Copia el código anterior y ábrelo con Arduino IDE
- Haz clic en el botón Subir en Arduino IDE para subir el código al ESP32
- Presiona las teclas del control remoto una por una
- Observa el resultado en el Monitor Serial.
- Cuando presiones las teclas de un control remoto IR de 21 teclas una por una, se muestra el siguiente resultado:
Ahora tienes la capacidad de personalizar el código y controlar diferentes dispositivos como LEDs, ventiladores, bombas, actuadores y más mediante mandos a distancia por infrarrojos. Esto significa que puedes realizar cambios en el código para hacer que estos dispositivos respondan a tus comandos enviados a través del control remoto.
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.