Presentamos el Diablo de TV, un control remoto fácil Broma de Arduino

Anuncio

Anuncio
Anuncio

Esconda esto en tu sala de estar y ríe mientras la caja de TiVo está aparentemente poseída por un demonio que exige ver canales de compras cursis. Si su objetivo final es 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 de IR y los receptores.

En esta "broma", haremos un dispositivo que graba, y luego reproduce, una serie de comandos remotos de infrarrojos. Funcionará con cualquier dispositivo que use un control remoto IR, o incluso una combinación de dispositivos a la vez, registrando hasta 10 pulsaciones de tecla.

Componentes

Aquí hay una lista de las cosas que necesitará para este proyecto:

  • Arduino y cables de parche
  • Receptor IR, 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 ha sido cortado a la mitad y atascado. Estoy seguro de que hay una palabra técnica para eso.
  • El LED del transmisor IR, como TIL38 - de nuevo, 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 en su kit electrónico!
  • Resistencia adecuada para su LED IR: utilice 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 LED (por lo general, alrededor de 1, 2 V a 20 mA). Esto salió como 220 ohmios en mi caso.
  • Pulsador, y 10k de bajada y resistencias de 100 ohm.
  • Descargue la biblioteca remota IR de Ken Shirriff de Github y colóquela en su carpeta Arduino / Libraries . También hay un código de ejemplo que usaremos y que luego debería ser accesible desde el menú Arduino Open -> Libraries .

componentes

Alambrado

Aborde este circuito en tres partes: el interruptor es un poco complicado, 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 rectificado); la pierna larga es el ánodo (positivo).

circuito-diagrama-ir-broma

Recepción de señales

Continúe y abra el código de ejemplo de bibliotecas / IRremote / IRrecvDemo . Asegúrese de que RECV_Pin esté configurado correctamente, compile y cargue, luego abra la consola serie a 9600 baudios. Tome cualquier control remoto que tenga a mano, apúntelo a 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 controles remotos pueden simplemente repetir el código nuevamente.

irrecv

Para una vista más detallada de los datos recibidos, eche un vistazo al ejemplo IRrecvDump, que indicará tanto el tipo de señal recibida (NEC de 32 bits en este caso), como los valores brutos. Es bueno saberlo, pero en la mayoría de los casos solo querrá los valores decodificados.

irdump

Repetir una señal

No escribiremos nuestra broma hoy desde cero, así que ve y mira el ejemplo de IRrecord . La complejidad del código aumenta mucho aquí, pero es principalmente todo para manejar distintos tipos de códigos IR: fundamentalmente, esto es lo que sucede dentro del ciclo:

  • Verifique que se haya presionado el botón, reproduzca la señal actualmente almacenada si es y repita cada 50 ms hasta que se presione.
  • Si no se presiona y se detecta una señal, regístrela.

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, sobrescribirá el último. El botón simplemente reproduce la última señal que recibió. Compila y ejecuta el código para que puedas utilizar este repetidor de señal básico. Para reproducir una sola señal, funciona bien, pero eso es de poca utilidad práctica en una broma o de lo contrario.

La broma!

Modifiquémoslo ligeramente para registrar 10 o más señales maliciosas. Aquí puede encontrar el código completo modificado, pero aquí hay un resumen de los cambios que hice en caso de que quiera programarlo para usted:

  • Defina 3 nuevas matrices de tamaño 10 para almacenar un conjunto de señales cada vez que se detecte una, y un número entero para almacenar el tamaño de esas matrices.
  • Almacene un índice de dónde estamos actualmente en esa matriz. Aumenta el índice cada vez que se detecta una señal, pero no aumenta si la señal es un código de repetición.
  • Un valor booleano que detiene más la grabación 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 alternar esto.

Tenga en cuenta que el LED indicador en el Arduino (pin 13) se activará una vez que la memoria esté llena. En este momento, debe grabar 10 pulsaciones de botón, nada menos, y el modo de reproducción esperará 1 segundo entre cada reproducción de botón. Aquí está en acción:

Puedes jugar haciendo más bromas IR, o considerar esto como un buen comienzo en un proyecto de domótica más épico. 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 la domótica está inundado con costosos sistemas de consumo. incompatible entre sí y costoso de instalar. Si tienes un Raspberry Pi y un Arduino, básicamente puedes lograr lo mismo en ... Leer más; y no olvides echarle un vistazo a todos los demás proyectos de Arduino. Comparta sus creaciones (o problemas) en los comentarios, y por favor, muestre su aprecio por este artículo al compartirlo en sus redes sociales favoritas.

Crédito de la imagen: DaGoaty

In this article