Paso 2: Registrar los comandos IR a controlar el aire acondicionado
El ESP8266 simula el mando a distancia para activar/desactivar el aire acondicionado y seleccionar diferentes funciones. Para poder hacerlo debemos grabar el IR diferentes señales envían desde el control remoto.
En primer lugar se necesita un dispositivo para grabar las señales de infrarrojos. Tengo un Arduino Uno que siempre uso para hacer pruebas rápidas. Conecté el receptor IR a Arduino como se muestra en el dibujo esquemático y protoboard. Os adjunto los archivos de Fritzing (DumpIR.fzz). Tenía un panel de control de un viejo receptor de TV por cable tendido alrededor. He utilizado el receptor de IR montado en este panel de control para la grabación. (Más adelante compartiré un instructivo sobre el uso de este panel de control también).
Para grabar utilicé Multiprotocolo biblioteca remoto infrarrojo para Arduino. Esta biblioteca incluye un programa de ejemplo (IRrecvDumpV2.ino) para grabar señales de infrarrojos. Utilicé IRrecvDumpV2 para obtener una primera idea de cómo los comandos IR por igual. Se parece a la salida del programa:
Esta salida es un poco críptica, así que decidí "mejorar" la producción y uso de este programa para mis grabaciones personales. El nuevo programa se llama DumpIR y las mejoras son
- Se registró menor salida con información adicional que funcionan
- Comentario salida con botón de prueba y el formato de matriz de bytes por lo que podría ser utilizado directamente en la aplicación de ESP8266
- Grabar cada tecla 3 veces para asegurarse de que la grabación es correcta.
- Dile a usuario que botón pulsar para grabar
Se parece a la salida de DumpIR:
La matriz de bytes {B00001000, B11100111, B01101000, B10010111} se utilizará directamente en la aplicación de ESP8266 para enviar el comando "cambie al modo de ventilador alto" para el aire acondicionado.
El DumpIR.ino necesita algunos adaptados para controles remotos de aire acondicionado diferentes. Por ejemplo, mi FujiDenzo aire acondicionado remoto tiene 10 botones, el aire acondicionado de Carrier tiene 14 botones. Cuando usted mira en DumpIR.ino puedes encontrar la definición de 2 aircons:
Si quiero grabamos señales del mando a distancia FujiDenzo, #define FUJIDENZO se utiliza, si se registra el control remoto del Carrier utiliza #define portador .
Los diferentes comandos y número de comandos disponibles para los dos mandos se definen en [] cmdList y endCmdIndex:
Como se pueden ver las definiciones de FUJIDENZO y el portador se utilizan para seleccionar la lista correcta y el número de comandos.
Con DumpIR grabé todos los comandos para el dos aircons de FujiDenzo y compañía y había guarda los resultados en archivos de texto.
Usted tendrá que adaptarse DumpIR a trabajar con el fabricante de aire acondicionado específico.
ATENCIÓN:
Grabar cada botón (al menos) 3 veces porque durante este proyecto he aprendido que algunas unidades de control remoto no envía la misma señal de IR para un comando cada vez. Tuve que aprender por ensayo y falta que el aire acondicionado de Carrier realmente tiene 3 diferentes señales de IR por el mismo comando. Si usted repite un comando del mando a distancia (como la temperatura para arriba) el mando a distancia recorre las 3 señales de infrarrojos y envía cada vez una diferente. El ciclo se reinicia si se ha pulsado un botón diferente. Ejemplo:
- Pulse la tecla temperatura botón = > señal IR #1 para la temperatura para arriba es enviado.
- Pulse la tecla temperatura botón nuevo = > señal IR #2 para la temperatura para arriba es enviado
- Presione botón de temperatura = > señal IR #1 para la temperatura abajo es enviada
- Pulse la tecla temperatura botón nuevo = > señal IR #1 para la temperatura para arriba es enviado
Tuve que implementar este comportamiento, así en el código para el código de ESP8266, pero más sobre esto en un paso posterior.
Comentario adicional:
En las fotos adjuntadas verá que no utilizo un solo receptor de IR para registrar las señales de infrarrojos. Tenía un viejo tablero de la rociada de TV por cable tendido alrededor. Como este salpicadero tenía un receptor de IR montado, decidí utilizarlo en vez de comprar un receptor de infrarrojos. Más adelante publicaremos otro Instructable cómo conecté este tablero de la rociada para el Arduino Uno.
Todas las fuentes de software y los esquemas están disponibles en mi repositorio de Github