Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Replicador de infrarrojos conectado a Internet

Componentes y suministros

Particle Photon
× 1
Diodo receptor de infrarrojos Adafruit
× 1
Adafruit LED - Infrarrojos 950nm
× 1
Arduino UNO
× 1
Teensy 3.1
× 1
Tecnología de microchip ATmega328
× 1
Tecnología de microchip ATtiny85
× 1
Espressif ESP8266 ESP-01
× 1
Bluz DK
× 1
RedBear Duo
× 1

Aplicaciones y servicios en línea

portero

Acerca de este proyecto

Hace algún tiempo comencé a decodificar un control remoto de CA por infrarrojos con el propósito de controlar un aire acondicionado a través de WIFI.

Aprendí un montón de cosas en el camino y quería compartir ese conocimiento con todos ustedes en caso de que pueda ayudarlos en proyectos futuros (futuro-yo:yo también los estoy mirando). Usé un fotón de partículas, pero puede optar por usar un MCU diferente ya que la biblioteca IRremote Arduino (de Ken Shirriff) utilizada en este proyecto es compatible con muchos otros. Aquí también está su página oficial.

Hay mucho de información en esa página, asegúrese de leer parte de ella para comprender en profundidad cómo funcionan las señales de infrarrojos, pero reproduciré algunos puntos importantes en la siguiente sección.

Algunos antecedentes sobre códigos IR

La siguiente es una transcripción de la publicación original del autor:

Un control remoto por infrarrojos funciona encendiendo y apagando el LED en un patrón particular. Sin embargo, para evitar la interferencia de fuentes de infrarrojos como la luz solar o las luces, el LED no se enciende de manera constante, sino que se enciende y apaga a una frecuencia de modulación (típicamente 36, 38 o 40 KHz). El momento en que se envía una señal modulada se llamará marca y cuando el LED esté apagado se llamará espacio.

Cada tecla del control remoto tiene un código particular (normalmente de 12 a 32 bits) asociado y transmite este código cuando se presiona la tecla. Si se mantiene presionada la tecla, el control remoto generalmente transmite repetidamente el código de la tecla. Para un control remoto NEC, se envía un código de repetición especial mientras se mantiene presionada la tecla, en lugar de enviar el código repetidamente. En el caso de los controles remotos Philips RC5 o RC6, se cambia un poco del código cada vez que se presiona una tecla; el receptor usa este bit de alternancia para determinar cuándo se presiona una tecla por segunda vez.

En el extremo receptor, el detector de infrarrojos demodula esta señal y emite una señal de nivel lógico que indica si está recibiendo una señal o no. El detector de infrarrojos funcionará mejor cuando su frecuencia coincida con la frecuencia del remitente, pero en la práctica no importa mucho.

Ahora está listo para el siguiente paso ...

Construya el circuito del receptor de infrarrojos

Para decodificar señales infrarrojas, necesita un diodo receptor de infrarrojos:

Y construye el circuito del receptor como se indica en la biblioteca:

Aquí está el pinout:

Mi tablero terminó luciendo así:

Por ahora, concéntrate en conectar el diodo receptor (el negro) y olvídate del transmisor (el transparente); nos ocuparemos de ello más adelante.

Decodifica algunas señales de infrarrojos

Dado que el proyecto descargará los códigos recibidos a través de la línea serial, necesitamos conectarlo a una computadora. Encienda el Photon con un cable USB y conéctelo a un puerto USB de su computadora. Ahora será un buen momento para actualizar el firmware adjunto.

Abra una consola o terminal y use la CLI de Particle para monitorear el puerto USB.

NOTA: Si no tiene la CLI de Particle instalada, hágalo siguiendo los documentos aquí.

En Ubuntu Linux, esto es lo que tuve que escribir para monitorear el puerto serial del Photon:

  $ sudo chmod 666 / dev / ttyACM0 $ monitor de serie de partículas  

Dependiendo de su computadora y sistema operativo, es posible que el puerto tenga un nombre diferente y / o que no sea necesario ejecutar chmod.

NOTA: puede utilizar cualquier otro software para recibir datos en el puerto serie USB de su computadora.

Una vez hecho esto, puede apuntar el control remoto que desea decodificar al diodo del receptor de infrarrojos (el componente similar a un LED negro). Empiece a presionar los botones y verifique lo que está impreso en la consola.

Si todo va bien, obtendrá algo como esto:

  1FEA05F29168950,8500,4050,500,1500,550,500,550,450,550,500,500,1550,500,500,550,500,500,500,550,500,500,500,550,450,550,500,550,1500,500,500,550,500,500,500,550,500,550,500,1500,550,1500,550,450,550,550,500,500,450,550,550,550,450,550,550,500,500,450,550,550,550,550,550,500,500,450,550,550,550,550,550,500,500,1500,550,550,550,550,550,500,500,1500,550,550,550,550,550,500 , 1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 , 0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0 , 0,0,0,0,0,0, END  
  • Primera línea (1FEA05F) y tercera línea:olvídese de ellas por ahora
  • Segunda línea:esta línea imprime el comando IR enviado por el control remoto

Nuestro primer comando de infrarrojos decodificado

Hablemos del comando IR recibido:

  29168950,8500,4050,500,1500,550,500,550,450,550,500,500,1550,500,500,550,500,500,500,550,500,500,500,550,450,550,500,550,1500,500,500,550,500,500,500,550,500,500,550,500,1500,550,1500,550,450,550,550,550,500,500,1500,550,500,550,500, END 

Podemos descartar el primer valor, 29168950 en este caso, ya que la biblioteca de IR establece lo siguiente:" el búfer de recepción comienza con la duración del espacio vacío antes de la primera marca ". No nos importa esa duración, ya que es el tiempo que pasó entre nuestras pruebas, o el tiempo que te llevó presionar un botón en el control remoto.

Por lo tanto, de la salida recibida, esto es lo realmente interesante y lo que da forma al comando IR:

  8500,4050,500,1500,550,500,550,450,550,500,500,1550,500,500,550,500,500,500,550,500,500,500,550,450,550,500,550,1500,500,500,550,500,500,500,550,500,500,550,500,1500,550,1500,550,450,550,1500,550,500,500,1500,550,500,550,450,550,500, END,500. 

Esos números representan la duración de los pulsos infrarrojos en microsegundos. Si quisiéramos, podríamos enviar este comando con el siguiente código:

  función sendIt () {unsigned int ircommand [59] ={8550,4000,550,1500,550,450,550,500,500,550,500,1550,500,500,500,500,500,550,500,500,500,550,500,500,500,550,500,500,1500,550,500,500,500,550,500,500,500,550,450,550,550,550,1500,550,500,500,1500,550 , 500,500,550,500,500,500,550,450,550}; irsend.sendRaw (ircommand, 59,38); }  

Pero para eso, necesitaremos construir el circuito del transmisor. Hagámoslo a continuación.

Construya el circuito del transmisor de infrarrojos

El circuito más simple se ve así:

Sin embargo, este circuito solo le dará menos de un metro de alcance.

Si puede, conecte un circuito como este a continuación para mejorar el alcance (alrededor de 10 metros):

Este es el lado del transmisor de mi circuito:

Prueba del circuito del transmisor de infrarrojos

Agregué un par de funciones en el firmware para controlar el volumen en un televisor Samsung. Esto es para que pueda probar si su circuito transmisor está funcionando en el caso de que tenga un televisor Samsung cerca.

Simplemente apunte el LED de su transmisor a su televisor y presione las funciones sendSamsungVolumeUp () y sendSamsungVolumeDown ().

NOTA: Recuerde que puede usar la cámara de su teléfono celular para verificar si el LED IR está transmitiendo, ya que IR aparece allí:

Hacer que los comandos de infrarrojos sean más legibles

Si identificamos valores alrededor de 500 con un 0 y 1500 con un 1, siendo esta selección arbitraria, también asignando 3 a valores superiores a 5000 y 2 a valores alrededor de 4000, obtenemos la siguiente representación:

  3,3,2,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1, 0,0,0,1,0,0,0,0,0,0,0,0,0, END  

Ahora recuerde que en esta codificación totalmente arbitraria:

  • 3 significa un pulso de 8500 microsegundos
  • 2 significa un pulso de 4000 microsegundos
  • 1 significa un pulso de 1500 microsegundos
  • 0 significa un pulso de 500 microsegundos

¿Por qué codificar en números, puede preguntar?

Ayuda a visualizar y comparar comandos, espero. De esta manera, es más fácil comparar pulsos que cambian o permanecen iguales entre diferentes comandos.

Ejemplo:¿quiere comparar qué cambios entre un comando para configurar la temperatura a 18 y 19 grados en el caso de un control remoto de CA? Más fácil cuando tienes unos y ceros.

También me gusta este formato para almacenar los comandos IR en el código de firmware. Solo recuerde convertirlos en pulsos justo antes de transmitir (llamando a la función convertToPulseDuration () en el firmware).

Recursos de lectura

Leí un montón de sitios para poder entender el tema. Aquí hay una lista de algunos de ellos:

  • Ingeniería inversa de un protocolo de control remoto por infrarrojos de acondicionador de aire
  • Uso de controles remotos arbitrarios con la biblioteca arduino IRremote
  • este hilo en la comunidad de partículas
  • Comprensión del protocolo de infrarrojos de los controles remotos del aire acondicionado
  • este blog sobre adafruit

Conclusión

Con algo de trabajo, un MCU y un par de componentes, podrá decodificar y replicar muchos de los controles remotos que tiene en su casa. Con algunas limitaciones, esto puede permitirle controlar todos esos dispositivos desde su teléfono, tableta, computadora portátil, computadora e incluso crear algunas automatizaciones simples para ellos. Genial, ¿eh?

Ahora puede pensar en agregar Blynk, crear una aplicación en Ionic Framework, hablar con Google Now o Alexa, o controlarla con Porter.

Estoy pensando en aplicar este conocimiento para controlar algunos dispositivos en la casa y espero crear más artículos en el futuro. ¡Estén atentos!

Actualización del 5 de febrero de 2018:

Aquí hay una implementación de este proyecto:una chimenea de infrarrojos controlada desde Internet.

¿Necesitas ayuda?

Si necesita ayuda profesional con sus proyectos, no dude en escribirme una línea sobre sus necesidades a [email protected]. ¡Gracias!

Código

replicador de infrarrojos
el código fuentehttps://github.com/gusgonnet/infraredReplicator

Esquemas


Proceso de manufactura

  1. Cómo se conectan los vagones de mercancías a Internet
  2. Internet de las cosas y el papel de 5G en los vehículos conectados
  3. Ciberseguridad e Internet de las cosas:¿es hora de la biometría?
  4. Internet de las cosas:una red de mundo conectado
  5. ¿Cómo podemos facilitar la educación con Internet de las cosas?
  6. ¡Tanques láser Leap Motion!
  7. UnifiedWater v1
  8. Radio por Internet Pi-Arduino
  9. Cuadro de votación móvil
  10. Compresores de aire conectados, Industria 4.0 e Internet de las cosas
  11. Vlog de la A a la Z sobre aire comprimido y gas:IoT, Internet 4.0 y compresores conectados