Vi presentiamo il diavolo della TV, un Arduino Prank per il controllo remoto facile

Vi presentiamo il diavolo della TV, un Arduino Prank per il controllo remoto facile / Fai da te

Nascondilo nel tuo salotto e ridi mentre la scatola di TiVo è apparentemente posseduta da un demone che chiede di guardare i canali di shopping di gusto. Se il tuo obiettivo finale è quello di spegnere tutti i televisori nelle vicinanze o costruire un telecomando universale controllato da Siri, questo progetto funge da ottimo punto di partenza per apprendere le basi del controllo e dei ricevitori IR..

In questo “scherzo”, creeremo un dispositivo che registra, quindi riproduce, una serie di comandi remoti IR. Funzionerà con qualsiasi dispositivo che utilizza un telecomando a infrarossi, o anche un mix di dispositivi contemporaneamente - registrando fino a 10 tasti premuti.

componenti

Ecco un elenco delle cose che ti serviranno per questo progetto:

  • Arduino e cavi patch
  • Ricevitore IR, come TSOP382 - ma dovresti riuscire a trovarne uno compatibile nella vecchia elettronica. Ho estratto il mio da un controller di illuminazione RGB di riserva. Di solito hanno 3 zampe e sono neri, con un lato simile a un LED che è stato tagliato a metà e bloccato. Sono sicuro che c'è una parola tecnica per questo.
  • LED del trasmettitore IR, come TIL38 - di nuovo, questi sono abbastanza comuni, ma ho comprato uno nuovo ad alta potenza da Maplin; sembrano identici a qualsiasi altro LED, quindi assicurati di non farli confondere con il kit elettronico!
  • Resistore adatto per il vostro LED IR: utilizzare questo calcolatore LED in base alla tensione di alimentazione (5 V di Arduino) e alla tensione e corrente diretta dal foglio dati LED (in genere attorno a 1,2 V @ 20 mA). Questo è venuto fuori come 220 ohm nel mio caso.
  • Pulsante, e pulldown 10k e resistori da 100 ohm.
  • Scarica la biblioteca remota IR di Ken Shirriff di Github e inseriscila nel tuo Arduino / Libraries cartella. C'è anche qualche codice di esempio che useremo che dovrebbe essere accessibile da Arduino Apri -> Librerie menu.

Cablaggio

Affronta questo circuito in tre parti: l'interruttore è un po 'complicato, ma tutto il resto è facile. Ricorda che la gamba corta del LED con la faccia piatta è il catodo (negativo o terra); la gamba lunga è l'anodo (positivo).

Ricezione di segnali

Vai avanti e apri il librerie / irRemote / IRrecvDemo codice di esempio. Assicurati che il RECV_Pin è impostato correttamente, compilare e caricare, quindi aprire la console seriale a 9600 baud. Prendi qualsiasi telecomando a portata di mano, puntalo verso il ricevitore e inizia a premere i pulsanti. Diversi pulsanti produrranno codici diversi; alcuni indicheranno una pressione lunga con il codice iniziale quindi FFFFFF, mentre i diversi telecomandi possono semplicemente ripetere nuovamente il codice.

Per una visione più dettagliata dei dati ricevuti, dai un'occhiata a IRrecvDump esempio, che indicherà sia il tipo di segnale ricevuto (NEC a 32 bit in questo caso), sia i valori non elaborati. Buono a sapersi, ma nella maggior parte dei casi vorrai solo i valori decodificati.

Ripetizione di un segnale

Non scriveremo la nostra burla oggi da zero, quindi vai avanti e controlla il IRrecord esempio. La complessità del codice aumenta enormemente qui, ma è principalmente in grado di gestire diversi tipi di codici IR - fondamentalmente, ecco cosa sta succedendo all'interno del ciclo:

  • Controllare che il pulsante sia premuto, riprodurre il segnale attualmente memorizzato, se lo è e ripetere ogni 50 ms fino a quando non viene premuto.
  • Se non viene premuto e viene rilevato un segnale, registrarlo.

Il più grande limite di questo esempio è che funziona solo con un codice alla volta, quindi se si preme un altro pulsante remoto, sovrascriverà l'ultimo. Il pulsante riproduce semplicemente l'ultimo segnale ricevuto. Compilare ed eseguire il codice in modo da poter provare questo ripetitore di segnale di base. Per la riproduzione di un singolo segnale, funziona bene, ma è poco utile in uno scherzo o altro.

Lo scherzo!

Modifichiamolo leggermente per registrare 10 o più segnali dispettosi. Puoi trovare qui il codice completo, ma ecco uno schema delle modifiche che ho apportato nel caso in cui ti piacerebbe avere una programmazione programmata per te:

  • Definire 3 nuovi array di dimensione 10 per memorizzare un insieme di segnali ogni volta che uno viene rilevato e un numero intero per memorizzare la dimensione di tali matrici.
  • Memorizza un indice di dove ci troviamo attualmente in quell'array. Aumentare l'indice ogni volta che viene rilevato un segnale - ma non aumentare se il segnale è un codice di ripetizione.
  • Un valore booleano che interrompe la registrazione quando si raggiunge il massimo.
  • Un booleano per indicare se siamo in modalità riproduzione o no, piuttosto che dover tenere premuto il pulsante; anche modificato la logica del pulsante per alternare questo.

Notare che il LED indicatore sull'Arduino (pin 13) si attiverà quando la memoria è piena. Al momento, è necessario registrare 10 pressioni di pulsanti - non meno - e la modalità di riproduzione attenderà 1 secondo tra ogni riproduzione di pulsanti. Eccolo in azione:

Puoi giocare con fare più scherzi IR, o considerare questo un buon inizio su un progetto di automazione domestica più epico Home Automation Guide Con Raspberry Pi e Arduino Home Automation Guide Con Raspberry Pi e Arduino Il mercato domotico è invaso da costosi sistemi di consumo, incompatibile tra loro e costoso da installare. Se hai un Raspberry Pi e un Arduino, puoi sostanzialmente ottenere la stessa cosa a ... Read More; e non dimenticare di dare un'occhiata a tutti gli altri progetti di Arduino. Condividi le tue creazioni (o problemi) nei commenti e mostra il tuo apprezzamento per questo articolo condividendolo sui tuoi social network preferiti!

Immagine di credito: DaGoaty

Scopri di più su: Arduino, Televisione.