Annuncio pubblicitario
Nascondi questo nel tuo salotto e ridi mentre la scatola TiVo è apparentemente posseduta da un demone che richiede di guardare canali di shopping di cattivo gusto. Se il tuo obiettivo finale è quello di spegnere tutte le TV del quartiere o costruire un universale Telecomando controllato da Siri, questo progetto serve da ottimo punto di partenza per apprendere le basi del controllo IR e ricevitori.
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 con 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 gambe e sono nere, con un lato che sembra un LED che è stato tagliato a metà e bloccato. Sono sicuro che ci sia una parola tecnica per questo.
- LED del trasmettitore IR, come TIL38 - ancora una volta, questi sono abbastanza comuni, ma ho comprato un nuovo ad alta potenza da Maplin; sembrano identici a qualsiasi altro LED, quindi assicurati di non confonderli nel tuo kit elettronico!
- Resistore adatto per il tuo LED IR: usa questo Calcolatrice a LED data la tensione di alimentazione (5 V dall'Arduino) e la tensione diretta e la corrente dalla scheda tecnica LED (di solito intorno a 1,2 V @ 20 mA). Questo è emerso come 220 ohm nel mio caso.
- Pulsante, 10k pulldown e resistenze da 100 ohm.
- Scarica il Libreria remota IR di Ken Shirriff di Github e posto nel tuo Arduino / Libraries cartella. C'è anche un codice di esempio che useremo che dovrebbe essere accessibile da Arduino Apri -> Librerie menù.
Cablaggio
Gestisci 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 macinato); la gamba lunga è l'anodo (positivo).
Ricezione dei segnali
Vai avanti e apri il librerie / irRemote / IRrecvDemo codice di esempio. Assicurati che RECV_Pin è impostato correttamente, compilare e caricare, quindi aprire la console seriale a 9600 baud. Prendi qualsiasi telecomando che hai a portata di mano, puntalo sul ricevitore e inizia a premere i pulsanti. Pulsanti diversi producono codici diversi; alcuni indicheranno quindi una pressione prolungata con il codice iniziale FFFFFF, mentre telecomandi diversi possono semplicemente ripetere nuovamente il codice.
Per una visione più dettagliata dei dati ricevuti, dai un'occhiata a IRrecvDump esempio invece, 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
Oggi non scriveremo il nostro scherzo da zero, quindi vai avanti e dai un'occhiata a IRrecord esempio. La complessità del codice aumenta notevolmente qui, ma è principalmente tutto da gestire con diversi tipi di codici IR - fondamentalmente, ecco cosa sta succedendo all'interno del ciclo:
- Verificare la pressione del pulsante, riprodurre nuovamente il segnale attualmente memorizzato e ripetere ogni 50 ms fino a quando non viene premuto.
- Se non viene premuto e viene rilevato un segnale, registrarlo.
La più grande limitazione di questo esempio è che funziona solo con un codice alla volta, quindi se premi un altro pulsante remoto, sovrascriverà l'ultimo. Il pulsante riproduce semplicemente l'ultimo segnale ricevuto. Compila ed esegui il codice in modo da poter provare con questo ripetitore di segnale di base. Per riprodurre un singolo segnale, funziona benissimo, ma è di scarsa utilità in uno scherzo o altro.
The Prank!
Modifichiamolo leggermente per registrare 10 o più segnali maliziosi. Puoi trovare il codice completamente modificato qui, ma ecco uno schema delle modifiche che ho apportato nel caso in cui desideri provare a programmarlo tu stesso:
- Definire 3 nuovi array di dimensione 10 per memorizzare un set di segnali ogni volta che viene rilevato uno e un numero intero per memorizzare la dimensione di tali array.
- Memorizza un indice di dove siamo attualmente in quell'array. Aumenta 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 di più una volta raggiunto il massimo.
- Un valore booleano per indicare se siamo in modalità riproduzione o meno, piuttosto che dover tenere premuto il pulsante; modificato anche la logica dei pulsanti per attivare questa opzione.
Si noti che il LED indicatore sull'Arduino (pin 13) si attiverà quando la memoria è piena. In questo 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 considerarlo un buon inizio per un epico progetto domotico Guida alla domotica con Raspberry Pi e ArduinoIl mercato dell'automazione domestica è invaso da costosi sistemi di consumo, incompatibili tra loro e costosi da installare. Se hai un Raspberry Pi e un Arduino, puoi praticamente ottenere la stessa cosa a ... Leggi di più ; e non dimenticare di dare un'occhiata a tutti gli altri Progetti Arduino. Condividi le tue creazioni (o problemi) nei commenti e mostra il tuo apprezzamento per questo articolo condividendolo sui tuoi social network preferiti!
Credito immagine: DaGoaty
James ha una laurea in intelligenza artificiale ed è certificato CompTIA A + e Network +. È lo sviluppatore principale di MakeUseOf e trascorre il suo tempo libero giocando a paintball e giochi da tavolo VR. Costruisce PC da quando era un bambino.