Come configurare smartphone e PC. Portale informativo
  • casa
  • Recensioni
  • Leggere i codici del telecomando Arduino. Telecomando universale su Arduino

Leggere i codici del telecomando Arduino. Telecomando universale su Arduino

Ricevitore IR e telecomando a infrarossi: il modo più comune e semplice per controllare equipaggiamento elettronico. Lo spettro della radiazione infrarossa non è visibile all'occhio umano, ma viene perfettamente ricevuto dai ricevitori IR integrati nei dispositivi elettronici. Moduli Arduino il telecomando IR viene utilizzato per il controllo varie tecniche in linea di vista.

L'uso diffuso degli emettitori IR è diventato possibile grazie al loro basso costo, semplicità e facilità d'uso. La radiazione IR è compresa tra 750 e 1000 micron: questa è la parte dello spettro più vicina alla luce visibile. Nella regione della radiazione infrarossa, le proprietà ottiche possono cambiare vari materiali. Alcuni vetri, ad esempio, diventano opachi ai raggi IR, mentre la paraffina, al contrario, risulta trasparente nello spettro IR.

La radiazione viene registrata utilizzando speciali materiali fotografici, sulla base dei quali vengono realizzati i ricevitori. Oltre ai corpi riscaldati (sole, lampade a incandescenza o candele), la fonte di radiazione infrarossa può essere costituita da dispositivi a stato solido: LED IR, laser. Le radiazioni nella gamma degli infrarossi hanno una serie di caratteristiche che le rendono comode da usare nei telecomandi:

  • Gli emettitori a stato solido (LED IR) sono economici e compatti.
  • I raggi infrarossi non vengono percepiti o rilevati dall'occhio umano.
  • Anche i ricevitori IR sono economici e di piccole dimensioni.
  • Bassa interferenza poiché il trasmettitore e il ricevitore sono sintonizzati sulla stessa frequenza.
  • Assente Influenza negativa sulla salute umana.
  • Alta riflettanza dalla maggior parte dei materiali.
  • Gli emettitori IR non influenzano il funzionamento di altri dispositivi.

Il telecomando funziona come segue. Quando si preme il pulsante, il segnale viene codificato in luce infrarossa, il ricevitore lo riceve ed esegue l'azione richiesta. Le informazioni sono codificate come una sequenza logica di pacchetti di impulsi con una determinata frequenza. Il ricevitore riceve questa sequenza e demodula i dati. Per ricevere un segnale viene utilizzato un microcircuito che contiene un fotorilevatore (fotodiodo), amplificatori, un filtro passa banda, un demodulatore (un rilevatore che consente di isolare l'inviluppo del segnale) e un transistor di uscita. Dispone anche di filtri: elettrici e ottici. Tali dispositivi funzionano a una distanza massima di 40 metri. Il metodo IR di trasmissione dei dati esiste in molti dispositivi: elettrodomestici, in apparecchiature industriali, computer, linee in fibra ottica.

Ricevitore IR Arduino

Per leggere il segnale IR avrai bisogno della scheda Arduino stessa, di una breadboard, di un ricevitore di segnale IR e di ponticelli. Esiste un'enorme varietà di ricevitori diversi, ma è meglio usare TSOP312 o altri adatti ad Arduino. I dati dal telecomando al ricevitore possono essere trasmessi tramite il protocollo RC5 o NEC.

Per determinare quale gamba appartiene a cosa, è necessario guardare il sensore dal lato del ricevitore. Quindi sul ricevitore il contatto centrale è a massa, a sinistra c'è l'uscita al microcontrollore, a destra c'è l'alimentazione.

Per comodità, è possibile utilizzare moduli ricevitori IR già pronti.

Collegare il ricevitore IR ad Arduino

Le uscite del ricevitore IR sono collegate ad Arduino a GND, 5V e input digitale. Di seguito è mostrato lo schema per collegare il sensore all'undicesimo pin digitale.

Questo è l'aspetto del diagramma con il modulo ricevitore a infrarossi:


Librerie per lavorare con IR

Per lavorare con i dispositivi IR, è possibile utilizzare la libreria IRremote, che semplifica la costruzione dei sistemi di controllo. È possibile scaricare la libreria. Dopo il download, copia i file nella cartella \arduino\libraries. Per connetterti al tuo schizzo, devi aggiungere librerie file di intestazione#includere .

Per leggere le informazioni, utilizzare l'esempio IRrecvDumpV2 dalla libreria. Se il telecomando esiste già nell'elenco di quelli riconosciuti, non è necessaria la scansione. Per leggere i codici è necessario eseguire Ambiente Arduino IDE e apri l'esempio IRrecvDemo da IRremote.

Esiste una seconda libreria per lavorare con i segnali IR: IRLib. È simile nella funzionalità al precedente. Rispetto a IRremote, IRLib ha un esempio per determinare la frequenza di un sensore IR. Ma la prima libreria è più semplice e comoda da usare.

Dopo aver caricato la libreria, puoi iniziare a leggere i segnali ricevuti. A questo scopo viene utilizzato il seguente codice.

L'operatore decode_results è necessario per assegnare il nome della variabile results al segnale ricevuto.

Nel codice è necessario riscrivere "HEX" in "DEC".

Quindi, dopo aver caricato il programma, è necessario aprire il monitor seriale e premere i pulsanti sul telecomando. apparirà sullo schermo vari codici. È necessario prendere nota indicando a quale pulsante corrisponde il codice ricevuto. È più conveniente registrare i dati ottenuti in una tabella. Questo codice può quindi essere scritto nel programma in modo che il dispositivo possa essere controllato. I codici vengono scritti nella memoria della scheda EEPROM di Arduino stessa, il che è molto comodo poiché non è necessario programmare i pulsanti ogni volta che si accende il telecomando.

Succede che durante il caricamento di un programma venga visualizzato l'errore "TDK2 non è stato dichiarato nel suo ambito". Per risolverlo, devi andare su Explorer, andare nella cartella in cui è installata l'applicazione IDE di Arduino ed eliminare i file IRremoteTools.cpp e IRremoteTools.h. Successivamente è necessario ricaricare il programma sul microcontrollore.

Conclusione

L'uso del telecomando IR di Arduino semplifica la vita all'utente. Può fungere da telecomando cellulare, tablet o computer: tutto ciò di cui hai bisogno è software speciale. Usando Arduino puoi centralizzare tutto il controllo. Con un pulsante sul telecomando puoi eseguire più azioni contemporaneamente, ad esempio accendere la TV e il Blu-Ray contemporaneamente.

Quando si creano dispositivi per lavorare con telecomandi IR, è molto necessario uno strumento con cui è possibile registrare e analizzare i segnali IR. Uno strumento del genere, idealmente, potrebbe essere un oscilloscopio digitale o un analizzatore logico, ma non tutti possiedono questi dispositivi e acquistarli appositamente è costoso. Come essere? Esiste una soluzione molto semplice: una scheda audio per computer! Registreremo il segnale utilizzandolo.

Oltre alla scheda audio (che, spero, sia nel tuo computer), avremo bisogno di un ricevitore di segnale IR. Sarebbe più corretto assemblare un circuito ricevitore a tutti gli effetti con TSOP, ma lo faremo nel modo più semplice possibile: prenderemo il LED IR più comune (lo stesso che si trova nel telecomando) come ricevitore IR. Ovviamente puoi prendere un fotodiodo IR, ma un LED IR è più facile da ottenere. Il LED IR deve essere collegato direttamente all'ingresso del microfono della scheda audio. Per fare ciò è necessaria una spina da 3,5 mm e un pezzo di filo schermato (ho tagliato il cavo con il connettore da un vecchio microfono non funzionante).

Il LED è collegato come segue:

Di conseguenza, otteniamo il seguente dispositivo:

Inserire lo spinotto nell'ingresso del microfono (it Colore rosa). Nelle impostazioni della scheda audio, seleziona il microfono come dispositivo di input, imposta il controllo del guadagno al massimo e seleziona la casella del guadagno aggiuntivo. Per verificare, puntare il telecomando verso il ricevitore LED (è necessario avvicinarlo il più vicino possibile al telecomando), premere il tasto: negli altoparlanti si dovrebbero sentire dei clic.

Se per qualche motivo non disponi di un ingresso per microfono (ad esempio su un laptop), collega il ricevitore a ingresso di linea scheda audio: tutto funzionerà allo stesso modo, solo l'ampiezza del segnale registrato diventerà molto più piccola.


Ora abbiamo bisogno di un programma per registrare l'audio.
Qualsiasi programma di cui disponi sarà adatto a questi scopi. Se non hai un programma preferito per lavorare con il suono, ti suggerisco un piccolo e programma gratuito— Wavosaur (http://www.wavosaur.com/) Il programma funziona senza installazione e dispone di taglia piccola- quanto amo:).

Un programma per lavorare con il suono.

Dopo aver avviato il programma, accendere l'indicatore di livello (il righello sul lato destro della finestra) e controllare la risposta ai segnali del telecomando. Per impostazione predefinita, tutto dovrebbe funzionare: il righello andrà fuori scala a causa dei segnali ricevuti (se non c'è reazione, vai alle impostazioni Configurazione audio/ingresso audio). Successivamente, premi l'icona di registrazione, avvicina il telecomando il più vicino possibile al LED di ricezione, premi il pulsante del telecomando e tienilo premuto per un paio di secondi. Disattiva la registrazione: fatto! Nella finestra vedremo una scansione del segnale IR ricevuto. La cosa interessante è che il segnale verrà già rilevato: non vedremo la frequenza portante, ma solo il segnale utile. Ciò accade perché le capacità di ingresso dell'ingresso del microfono non hanno il tempo di ricaricarsi.

Il segnale ricevuto può essere scalato in termini di tempo, ampiezza e, cosa molto comoda, evidenziando un determinato periodo, se ne vede subito la durata. Il segnale ricevuto può essere salvato (preferibilmente in formato wav - non ci sarà distorsione) o esportato in MP3, testo, file binario(cosa utile!).

Per esempio, segnale dal telecomando del televisore (formato NEC):

Tutti gli intervalli di tempo sono visibili dall'immagine, puoi persino calcolare l'indirizzo del telecomando e il codice di comando dei pulsanti: tutto è chiaro e comprensibile.

PS
Grande richiesta! Se assembli un ricevitore di questo tipo, salva i pacchetti dei tuoi telecomandi e inviameli via e-mail (nella scheda "Informazioni sul progetto"): questo aiuterà molto a migliorare l'algoritmo del ricevitore universale. Nel nome del file indicare di che provenienza è il telecomando e il produttore (ad esempio: tv-sony.wav).


Maggiori informazioni su come lavorare con i telecomandi IR!
Ho proposto l'opzione più semplice per “sentire” il segnale del telecomando IR, ma ci sono molte soluzioni che possono fare molto di più! Ricevi un segnale IR, analizza, salva, riproduci, programma i tuoi telecomandi, controlla il tuo computer... Questa sezione conterrà i collegamenti a tali soluzioni.

1. DvzRcEditor
Il programma inizierà per primo DvzRcEditor, che ho buttato via mobi. Il programma è stato realizzato da qualcuno Dvz2010(purtroppo non ci sono coordinate per lui, forse qualcuno lo sa?).


- Un programma per analizzare e ripetere i segnali IR.
Il programma consente sia di registrare che di riprodurre messaggi IR utilizzando un ingresso microfono e un'uscita audio. Esistono strumenti per analizzare i messaggi IR e creare un database di messaggi di controllo remoto (esiste un piccolo database per vari telecomandi). Soluzione interessanteè il supporto per il tuo telecomando realizzato su ATtiny2313.


Il telecomando ha 7 tasti con i quali è possibile impostare qualsiasi comando tra quelli analizzati, e il programma stesso può registrare i segnali per questi pulsanti nel microcontrollore (a condizione che si flash lì il bootloader per la prima volta).

Tutto è semplice e chiaro: mi è piaciuto!


2. Controllo astuto.
http://slydiman.narod.ru/scr/index.htm
Non è nemmeno un programma, lo è tutta Internet risorsa dedicata ai telecomandi IR. Contiene molto informazioni utili, hardware e soluzioni software per tutte le occasioni. Ecco cosa scrivono gli autori su SlyControl:
- Questo programma universale per controllare qualsiasi cosa utilizzando un computer.

Per cosa può essere utilizzato:
— controllo di qualsiasi programma da qualsiasi telecomando (telecomando), da una tastiera multimediale tramite tasti o joystick
— emulazione di tastiera e mouse da qualsiasi telecomando
— scheduler (non solo esegue il programma in base all'orario, ma esegue anche alcune azioni con esso)
- spegnere il computer tramite timer o evento
— puoi accendere le luci dell'appartamento anche dal telecomando, basta aggiungere l'apposito plugin 😉

C'è anche un programma sulla risorsa RCExplorer 2.1— un database di telecomandi IR (il database contiene più di 200 voci).


Il programma ti consente di:
— Ricevere segnali dai telecomandi utilizzando scheda audio, porta COM, IgorPlug-USB o IgorPlug2
- Analizzare il segnale in dettaglio - (sono supportati la modulazione, le caratteristiche temporali, le caratteristiche di codifica, i codici di ripetizione, ecc., tutti a me noti) questo momento protocolli, il programma può funzionare anche con protocolli sconosciuti.
— Visualizza graficamente il segnale in tempo reale e in base ai dati del database
— Cercare un telecomando simile nel database
— Riprodurre il comando di controllo remoto utilizzando i dati del database tramite la porta COM

In generale, assicurati di visitare la risorsa: sarà interessante.

(Visitato 20.417 volte, 9 visite oggi)

Il telecomando a infrarossi è uno dei più modi semplici interazione con dispositivi elettronici. Quindi, in quasi tutte le case ci sono diversi dispositivi di questo tipo: TV, Centro musicale, lettore video, aria condizionata. Ma soprattutto applicazione interessante telecomando a infrarossi— controllo remoto del robot. In realtà, in questa lezione proveremo a implementare questo metodo di controllo utilizzando il famoso controller Arduino Uno.

1. Telecomando IR

Cosa serve per insegnare a un robot a obbedire a un telecomando a infrarossi (IR)? Innanzitutto, abbiamo bisogno del telecomando stesso. Puoi utilizzare un normale telecomando TV oppure acquistare un telecomando in miniatura per l'autoradio. Questi tipi di telecomandi vengono spesso utilizzati per controllare i robot.

Questo telecomando ne ha 10 pulsanti digitali e 11 pulsanti per manipolare la musica: volume, riavvolgimento, riproduzione, arresto, ecc. Più che sufficiente per i nostri scopi.

2. Sensore IR

In secondo luogo, per ricevere un segnale dal telecomando abbiamo bisogno di uno speciale sensore IR. In generale, possiamo rilevare la radiazione infrarossa con un fotodiodo/fototransistor convenzionale, ma a differenza di esso, il nostro sensore IR percepisce il segnale infrarosso solo ad una frequenza di 38 kHz (a volte 40 kHz). È questa proprietà che consente al sensore di ignorare molti rumori luminosi estranei provenienti dalle lampade di illuminazione e dal sole.

Per questo tutorial utilizzeremo il popolare sensore IR VS1838B, che ha le seguenti caratteristiche:

  • frequenza portante: 38 kHz;
  • tensione di alimentazione: 2,7 - 5,5 V;
  • consumo di corrente: 50 µA.

È possibile utilizzare altri sensori, ad esempio: TSOP4838, TSOP1736, SFH506.

3. Connessione

Il sensore ha tre cavi (tre gambe). Se si osserva il sensore dal lato ricevitore del segnale IR, come mostrato in figura,

  • poi a sinistra ci sarà un'uscita per il controller,
  • al centro - contatto di potenza negativo (terra),
  • e a destra - il contatto di alimentazione positivo (2,7 - 5,5 V).

Diagramma schematico di connessione

Aspetto del layout

4. Programma

Dopo aver collegato il sensore IR, scriveremo un programma per Arduino Uno. Per fare ciò, utilizzeremo la libreria standard IRremoto, progettato specificamente per semplificare il lavoro con la ricezione e la trasmissione di segnali IR. Utilizzando questa libreria accetteremo i comandi dal telecomando e, per cominciare, li visualizzeremo semplicemente nella finestra del monitor porta seriale. Questo programma ci sarà utile per capire quale codice dà ciascun pulsante.

#include "IRremote.h" IRrecv irrecv(2); // indica il pin a cui è collegato il ricevitore decode_results results; void setup() ( Serial.begin(9600); // imposta la velocità della porta COM irrecv.enableIRIn(); // inizia a ricevere ) void loop() ( if (irrecv.decode(&results)) ( // if dati arrivati ​​Serial .println(results.value, HEX); // stampa i dati irrecv.resume(); // accetta il comando successivo))

Carica il programma su Arduino. Successivamente, proviamo a ricevere comandi dal telecomando. Apri il monitor della porta seriale (Ctrl+Shift+M), prendi il telecomando e puntalo verso il sensore. Premendo diversi pulsanti, osserviamo i codici corrispondenti a questi pulsanti nella finestra del monitor.

Problema durante il caricamento del programma

In alcuni casi, quando si tenta di caricare un programma nel controller, potrebbe apparire un errore:

TDK2 non è stato dichiarato nel suo ambito

Per risolverlo, basta eliminare due file dalla cartella della libreria. Andiamo all'esploratore. Vai alla cartella in cui è installata l'applicazione IDE Arduino (molto probabilmente “C:\Program Files (x86)\Arduino”). Quindi nella cartella della libreria:

…\Arduino\librerie\RobotIRremote

Ed elimina i file: IRremoteTools.cpp E IRremoteTools.h. Quindi riavviamo l'IDE di Arduino e proviamo a caricare nuovamente il programma sul controller.

5. Controlla il LED utilizzando il telecomando IR

Ora che sappiamo quali codici corrispondono ai pulsanti del telecomando, proviamo a programmare il controller in modo che si accenda e spenga il LED quando vengono premuti i pulsanti del volume. Per fare questo abbiamo bisogno dei codici (possono variare a seconda del telecomando):

  • FFA857 - aumenta il volume;
  • FFE01F - diminuzione del volume.

Come LED utilizziamo il LED integrato sul pin n. 13, quindi lo schema di collegamento rimarrà lo stesso. Quindi, il programma:

#include "IRremote.h" IRrecv irrecv(2); // indica il pin a cui è collegato il ricevitore decode_results results; void setup() ( irrecv.enableIRIn(); // inizia a ricevere ) void loop() ( if (irrecv.decode(&results)) ( // se i dati sono arrivati ​​switch (results.value) ( ​​case 0xFFA857: digitalWrite( 13, HIGH); break; case 0xFFE01F: digitalWrite(13, LOW); break; ) irrecv.resume(); // accetta il comando successivo ) )

Lo carichiamo su Arduino e lo testiamo. Clic vol+— il LED si accende. Clic vol-- esce. Ora, sapendo come funziona, puoi controllare i motori dei robot o altri dispositivi microelettronici fatti in casa invece del LED!

Ci sono molti articoli su Internet su come realizzare il telecomando della TV utilizzando Arduino, ma io avevo bisogno di un telecomando universale per controllare la TV e il lettore multimediale. Il vantaggio principale del mio telecomando universale è che i pulsanti nell'applicazione del telefono Android hanno un duplice scopo, ma guarda il video.



Il telecomando è molto comodo in quanto quasi gli stessi pulsanti sullo schermo vengono utilizzati per controllare la TV e il lettore. Una differenza è che " AV"nella modalità di controllo TV diventa un pulsante" " (stop) quando si passa alla modalità di controllo del lettore. Le immagini mostrano due modalità, a sinistra c'è la modalità di controllo TV, a destra c'è la modalità di controllo del lettore.

Bene, ora ti parlerò un po 'della creazione di un telecomando del genere. Per il dispositivo ho utilizzato il telecomando per la TV ERGO e il telecomando per il lettore multimediale DUNE HD TV101W.

Per ricevere i dati dai telecomandi che ho utilizzato sensore a infrarossi TSOP1138 (analogo di TSOP4838) ad una frequenza operativa di 38 kHz e collegato alla scheda Arduino secondo lo schema:

Questo schizzo non sarà necessario per determinare la codifica della trasmissione dei dati e leggere il codice dei pulsanti del telecomando.

Nello schizzo nella riga int RECV_PIN = 11; indicare il nostro pin numero 4

Dopo aver caricato lo schizzo, aprire il “port monitor” e, premendo i pulsanti del telecomando, osservare i dati ricevuti.

L'immagine mostra un esempio di scansione del pulsante di accensione dal telecomando della TV e dal telecomando del lettore. Ora creiamo una tabella per i codici dei pulsanti.

L'ho preso come nella foto sopra. Sotto l'iscrizione tv Codici dei pulsanti del telecomando del televisore; sotto l'iscrizione Giocatore- codici dal telecomando del lettore multimediale.

Ora scolleghiamo il nostro ricevitore di segnali a infrarossi dalla scheda Arduino e lo colleghiamo ad essa Modulo Bluetooth HC-05 e LED infrarosso secondo lo schema in foto.

Successivamente, passiamo direttamente allo schizzo.

Schizzo

#includere IRsend irsend; int y = 1; void setup() ( Serial.begin(9600); ) void loop() ( if (Serial.available() > 0) ( int x = Serial.read(); if (x == 49) ( y = 1; ) if (x == 50) ( y = 2; ) if (y == 1) ( // codici dei pulsanti per il telecomando del televisore if (x == 97) ( irsend.sendNEC(0x807F08F7, 32); ritardo(40 ); ) se (x == 98) ( irsend.sendNEC(0x807FA857, 32); ritardo(40); ) se (x == 99) ( irsend.sendNEC(0x807F708F, 32); ritardo(40); ) se (x == 100) ( irsend.sendNEC(0x807FF00F, 32); ritardo(40); ) if (x == 101) ( irsend.sendNEC(0x807F30CF, 32); ritardo(40); ) if (x == 102) ( irsend.sendNEC(0x807FB04F, 32); ritardo(40); ) if (x == 103) ( irsend.sendNEC(0x807F9867, 32); ritardo(40); ) if (x == 104) ( irsend .sendNEC(0x807F58A7, 32); ritardo(40); ) if (x == 105) ( irsend.sendNEC(0x807FD827, 32); ritardo(40); ) if (x == 106) ( irsend.sendNEC(0x807F38C7 , 32); ritardo(40); ) if (x == 107) ( irsend.sendNEC(0x807F48B7, 32); ritardo(40); ) if (x == 108) ( irsend.sendNEC(0x807FB847, 32); ritardo(40); ) if (x == 109) ( irsend.sendNEC(0x807F6897, 32); ritardo(40); ) ) if (y == 2) ( //codici dei pulsanti del telecomando del lettore multimediale if (x == 97) ( irsend.sendNEC(0xFDC23D, 32); ritardo(40); ) if (x == 98) ( irsend. sendNEC(0xFDE01F, 32); ritardo(40); ) if (x == 99) ( irsend.sendNEC(0xFD18E7, 32); ritardo(40); ) if (x == 100) ( irsend.sendNEC (0xFDE817, 32); ritardo(40); ) if (x == 101) ( irsend.sendNEC(0xFDA857, 32); ritardo(40); ) if (x == 102) ( irsend.sendNEC(0xFD6897, 32 ); ritardo (40); ) if (x == 103) ( irsend.sendNEC(0xFDA857, 32); ritardo(40); ) if (x == 104) ( irsend.sendNEC(0xFD6897, 32); ritardo( 40); ) if (x == 105) ( irsend.sendNEC(0xFDE817, 32); ritardo(40); ) if (x == 106) ( irsend.sendNEC(0xFD18E7, 32); ritardo(40); ) if (x == 107) ( irsend.sendNEC(0xFD9867, 32); ritardo(40); ) if (x == 108) ( irsend.sendNEC(0xFD28D7, 32); ritardo(40); ) if (x = = 109) ( irsend.sendNEC(0xFD20DF, 32); ritardo(40); ) ) ) )


Nello schizzo dovrai modificare i codici dei pulsanti, vale a dire nelle righe:

Se (x == 97) ( irsend.sendNEC(0x807F08F7, 32); ritardo(40);
Modificare il valore 807F08F7 in:

If (y == 1) ( //codici dei pulsanti per il telecomando del televisore if (x == 97) ( irsend.sendNEC(0x12345678, 32); ritardo(40); )
Dove 12345678 è il codice del tuo pulsante.

Dopo aver modificato lo schizzo utilizzando i codici dei pulsanti, carica lo schizzo su Scheda Arduino e procedi con l'installazione dell'applicazione sul tuo telefono.

Attiviamo il Bluetooth nel telefono, cerchiamo il nostro dispositivo, creiamo una coppia, quindi avviamo l'applicazione Pult al telefono.

All'avvio avremo una schermata rossa icona bluetooth nell'angolo in basso a destra, che segnala che non siamo connessi al nostro dispositivo.

Successivamente, fai clic su questa icona. Dovremmo vedere una finestra con un elenco di tutti quelli disponibili dispositivi bluetooth, dove selezioniamo il nostro dispositivo per connetterci.

Ora siamo di nuovo indietro schermo principale e possiamo già controllare la TV:

Per passare alla modalità di controllo dobbiamo premere il pulsante etichettato "Giocatore". Come ho detto prima, il nostro pulsante etichettato "AV" cambierà in un pulsante " ":

Per disconnetterci dal nostro dispositivo è sufficiente tenere premuto il pulsante “Power” per alcuni secondi.

Bene, alcune foto del mio dispositivo finito.

È andata abbastanza bene, a quanto pare. Aspetto commenti sull'articolo.

In questa lezione vedremo come collegare un ricevitore IR ad Arduino. Ti diremo quale libreria dovrebbe essere utilizzata per un ricevitore IR, mostreremo uno schizzo per testare il funzionamento di un ricevitore a infrarossi da un telecomando e analizzeremo i comandi in C++ per ricevere un segnale. Notiamo subito che il sensore IR Arduino non è adatto a tutti i telecomandi; la frequenza del segnale può differire.

Dispositivo ricevitore IR. Principio di funzionamento

I ricevitori di radiazioni infrarosse sono ora ampiamente utilizzati in elettrodomestici, grazie a prezzo abbordabile, semplicità e facilità d'uso. Questi dispositivi consentono di controllare i dispositivi utilizzando un telecomando e possono essere trovati in quasi tutti i tipi di apparecchiature. Ma nonostante ciò, il modulo Bluetooth sta gradualmente guadagnando sempre più popolarità.

Il principio di funzionamento di un ricevitore IR. Elaborazione del segnale dal telecomando

Il ricevitore IR di Arduino è in grado di ricevere ed elaborare un segnale infrarosso sotto forma di impulsi di una determinata durata e frequenza. Utilizzato nella produzione di sensori di ostacoli e telemetri per Arduino. In genere il ricevitore IR ha tre gambe ed è composto da i seguenti elementi: Fotodiodo PIN, amplificatore, filtro passa banda, rilevatore di ampiezza, filtro integratore e transistor di uscita.

Sotto l'influenza della radiazione infrarossa in un fotodiodo, che ha tra P E N regioni hanno creato un'ulteriore regione di semiconduttore ( io-regione), la corrente inizia a fluire. Il segnale va ad un amplificatore e poi ad un filtro passa banda, che è sintonizzato su una frequenza fissa: 30; 33; 36; 38; 40 e 56 kilohertz e protegge il ricevitore dalle interferenze. Qualsiasi elettrodomestico può causare interferenze.

Affinché il segnale del telecomando possa essere ricevuto dal ricevitore IR Arduino, il telecomando deve avere la stessa frequenza su cui è impostato il filtro nel ricevitore IR. Pertanto, non tutti i telecomandi funzioneranno. Dovresti selezionare un ricevitore IR e un trasmettitore IR con la stessa frequenza. Dopo il filtro, il segnale va a un rilevatore di ampiezza che integra il filtro e il transistor di uscita.

Come collegare un ricevitore IR ad Arduino

Gli alloggiamenti dei ricevitori a infrarossi contengono un filtro ottico per proteggere il dispositivo dai campi elettromagnetici esterni; sono realizzati con una forma speciale per focalizzare la radiazione ricevuta su un fotodiodo. Per collegare il ricevitore IR ad Arduino UNO vengono utilizzati tre piedini collegati a GND, 5 V e A0. Si consiglia di utilizzare inizialmente 3,3 Volt per non bruciare il sensore IR durante la configurazione.

Per questa lezione avremo bisogno dei seguenti dettagli:

  • Scheda Arduino Uno / Arduino Nano / Arduino Mega;
  • tagliere per il pane;
  • Ricevitore IR;
  • telecomando;
  • 1 LED e resistenza da 220 Ohm;
  • cavi maschio-maschio e maschio-femmina.

Schema di collegamento del ricevitore IR alla porta analogica di Arduino

Collegare il ricevitore IR secondo lo schema sopra riportato e collegare i LED ai pin 12 e 13. Prima di scaricare il programma sarà necessario installare la libreria IRremote.h, se non è già installata. Questa biblioteca non si applica a librerie standard ambiente Programmazione Arduino IDE. È possibile scaricare la libreria IRremote.h e lo schizzo finito in un archivio da Google Drive collegamento .

Schizzo per il ricevitore IR Arduino:

#includere // collega la libreria per il ricevitore IR IRrecv irricv(A0); // indica il pin a cui è collegato il ricevitore IR risultati decode_results; void setup () // configurazione della procedura ( irrecv.enableIRIn (); // inizia a ricevere segnale infrarosso pinModalità(13, USCITA); // il pin 13 sarà l'output pinModalità(12, USCITA); // il pin 12 sarà l'output modalità pin(A0, INPUT); // il pin A0 sarà l'ingresso (eng. "intput") Serial.begin(9600); // collega il monitor della porta) void loop () // procedura loop ( if (irrecv.decode (&risultati)) // se i dati sono arrivati, esegue i comandi( Seriale .println(risultati.valore); // invia i dati ricevuti alla porta // accende e spegne i LED, a seconda del segnale ricevuto if (valore.risultati == 16754775) ( digitalWrite (13, ALTO); ) if (valore.risultati == 16769055) ( digitalWrite (13, BASSO); ) if (valore.risultati == 16718055) ( digitalWrite (12, ALTO); ) if (risultati.valore == 16724175) ( digitalWrite (12, BASSO); ) irrecv.resume (); // accetta segnale successivo sul ricevitore IR } }

Spiegazioni per il codice:

  1. La libreria IRremote.h contiene una serie di comandi e permette di semplificare lo sketch;
  2. L'istruzione decode_results assegna il nome della variabile results ai segnali ricevuti dal telecomando.

Il sensore IR può essere utilizzato in molti dispositivi sul microcontrollore Arduino, incluso il controllo remoto di un servoazionamento su Arduino da un ricevitore IR. Durante la configurazione, dovresti accendere il monitor della porta IDE di Arduino e scoprire quale segnale viene inviato da questo o quel pulsante sul telecomando. I codici risultanti dovrebbero essere utilizzati nello schizzo dopo il doppio segno di uguale nelle condizioni if().

Inoltre leggi spesso:

I migliori articoli sull'argomento