Presentamos el demonio de la televisión, un control remoto fácil Arduino Prank
Oculta esto en tu sala de estar y ríete, ya que la caja de TiVo está aparentemente poseída por un demonio que exige ver canales de compras cursis. Ya sea que su objetivo final sea apagar todos los televisores del vecindario o construir un control remoto universal controlado por Siri, este proyecto sirve como un excelente punto de partida para aprender los conceptos básicos del control y los receptores de infrarrojos..
En esto “broma”, Haremos un dispositivo que graba, luego reproduce, una serie de comandos remotos IR. Funcionará con cualquier dispositivo que use un control remoto por infrarrojos, o incluso una combinación de dispositivos a la vez, grabando hasta 10 pulsaciones de teclas.
Componentes
Aquí hay una lista de las cosas que necesitarás para este proyecto:
- Arduino y cables de parche.
- Receptor de infrarrojos, como TSOP382, pero debería poder encontrar uno compatible en los dispositivos electrónicos antiguos. Saqué el mío de un controlador de iluminación RGB de repuesto. Por lo general, tienen 3 patas y son negras, con un lado que parece un LED que se ha cortado por la mitad y se ha pegado. Estoy seguro de que hay una palabra técnica para eso.
- El LED del transmisor de infrarrojos, como TIL38 - nuevamente, estos son bastante comunes, pero compré uno nuevo de alta potencia de Maplin; se ven idénticos a cualquier otro LED, así que asegúrese de no mezclarlos con su kit de electrónica!
- Resistencia adecuada para su LED IR: use esta calculadora LED dada la tensión de alimentación (5 V del Arduino) y la tensión y corriente directa de la hoja de datos del LED (generalmente de aproximadamente 1,2 V a 20 mA). Esto salió como 220 ohmios en mi caso.
- Pulsador, y desplegables de 10k y resistencias de 100 ohmios..
- Descargue la biblioteca remota IR de Ken Shirriff de Github y colóquela en su Arduino / Bibliotecas carpeta. También hay un código de ejemplo que usaremos que debería ser accesible desde Arduino. Abrir -> Bibliotecas menú.
Alambrado
Aborda este circuito en tres partes: el interruptor es un poco incómodo, pero todo lo demás es fácil. Recuerde que la pata corta del LED con la cara plana es el cátodo (negativo o tierra); La pierna larga es el ánodo (positivo)..
Recibiendo señales
Sigue adelante y abre el bibliotecas / IRremote / IRrecvDemo código de ejemplo Asegúrate que RECV_Pin está configurado correctamente, compile y cargue, luego abra la consola Serial a 9600 baudios. Tome cualquier control remoto que tenga a mano, apúntelo hacia su receptor y comience a presionar los botones. Diferentes botones producirán diferentes códigos; Algunos indicarán una pulsación larga con el código inicial y luego FFFFFF, mientras que diferentes mandos a distancia simplemente pueden repetir el código.
Para una vista más detallada de los datos que se reciben, eche un vistazo a la IRrecvDump ejemplo, que indicará tanto el tipo de señal recibida (NEC de 32 bits en este caso) como los valores sin procesar. Es bueno saberlo, pero en la mayoría de los casos solo querrás los valores decodificados.
Repitiendo una señal
Hoy no escribiremos nuestra broma desde cero, así que adelante, echa un vistazo a Registro IR ejemplo. La complejidad del código aumenta enormemente aquí, pero es principalmente para manejar diferentes tipos de códigos IR; fundamentalmente, esto es lo que sucede dentro del bucle:
- Compruebe si se está presionando el botón, vuelva a reproducir la señal almacenada actualmente y repítalo cada 50 ms hasta que se presione..
- Si no se presiona y se detecta una señal, registre que.
La mayor limitación de este ejemplo es que solo funciona con un código a la vez, por lo que si presiona otro botón remoto, se sobrescribirá el último. El botón simplemente reproduce la última señal que recibió. Compile y ejecute el código para que pueda probar este repetidor de señal básico. Para reproducir una única señal, funciona bien, pero es de poca utilidad práctica en una broma o no..
La broma!
Vamos a modificarlo ligeramente para grabar 10 o más señales dañinas. Puede encontrar el código modificado completo aquí, pero aquí hay un resumen de los cambios que hice en caso de que quisiera tener una programación para esto:
- Defina 3 matrices nuevas de tamaño 10 para almacenar un conjunto de señales cada vez que se detecte una, y un entero para almacenar el tamaño de esas matrices..
- Almacenar un índice de donde estamos actualmente en esa matriz. Aumente el índice cada vez que se detecta una señal, pero no aumente si la señal es un código de repetición.
- Un valor booleano que deja de ser grabado una vez que hemos alcanzado el máximo.
- Un booleano para indicar si estamos en modo de reproducción o no, en lugar de tener que mantener presionado el botón; También modificó la lógica del botón para cambiar esto.
Tenga en cuenta que el indicador LED en el Arduino (pin 13) se activará una vez que la memoria esté llena. En este momento, debe grabar 10 pulsaciones de botones, nada menos, y el modo de reproducción esperará 1 segundo entre cada repetición de botón. Aquí está en acción:
Puede jugar con hacer más bromas de IR, o considerar esto como un buen comienzo en un proyecto más épico de automatización del hogar. Guía de automatización del hogar con Raspberry Pi y Arduino. Guía de automatización del hogar con Raspberry Pi y Arduino. El mercado de automatización del hogar está inundado de costosos sistemas de consumo. Incompatible entre sí y costoso de instalar. Si tienes una Raspberry Pi y un Arduino, básicamente puedes lograr lo mismo en ... Leer más; y no olvides revisar todos los otros proyectos de Arduino. Comparte tus creaciones (o problemas) en los comentarios, y muestra tu agradecimiento por este artículo compartiéndolo en tus redes sociales favoritas.!
Crédito de la imagen: DaGoaty.
Explorar más sobre: Arduino, Televisión.