- Componente necesare
- Cum funcționează comunicarea IR?
- Diagrama circuitului
- Programare pentru Arduino IR Remote Decoder
- Salvarea datelor decodorului la distanță IR în foaia Excel
Comunicația IR (infraroșu) este o tehnologie de comunicație fără fir simplă, ieftină și utilizată pe scară largă. Lumina IR este oarecum similară cu lumina vizibilă, cu excepția faptului că lungimea de undă este puțin mai lungă. Această proprietate a IR o face nedetectabilă pentru ochiul uman și perfectă pentru comunicațiile fără fir.
Există multe aplicații în care trebuie să decodificați semnalele IR pentru a opera unele dispozitive cu telecomandă IR. Deci, în acest tutorial, vom folosi receptorul IR TSOP1838 pentru a construi un decodor IR la distanță folosind Arduino. Codul hexagonal pentru fiecare buton va fi conectat la foaia Microsoft Excel. Acest decodor simplu de control la distanță IR poate fi utilizat în proiecte precum robotul de telecomandă IR, automatizarea casei și alte proiecte controlate de IR.
Anterior am folosit telecomanda IR și receptorul TSOP pentru a construi multe aplicații utile, cum ar fi:
- Circuit de reglare TRIAC controlat de la distanță IR
- Domotică IR controlată la distanță folosind Arduino
- Automatizare la domiciliu controlată de la distanță IR folosind microcontrolerul PIC
- Telefon mobil controlat AC folosind Arduino și Bluetooth
Componente necesare
- Arduino Uno / Arduino Nano
- Receptor IR (TSOP1838)
- Sârme jumper
- Breadboard
Cum funcționează comunicarea IR?
La fel ca alte sisteme de comunicații, comunicarea cu infraroșu are, de asemenea, un emițător și un receptor. Transmițătorul arată exact ca un LED, dar produce lumină în spectrul IR în loc de spectrul vizibil. În timp ce receptorul IR este o fotodiodă încorporată cu un pre-amplificator care schimbă lumina IR într-un semnal electric. Pentru comunicațiile IR, atât emițătorul, cât și receptorul ar trebui să fie îndreptate unul către celălalt. Pentru a afla mai multe despre circuitul transmițătorului și receptorului IR, urmați linkul.
Când este apăsat un buton de la distanță, LED-ul IR (Transmițător) emite lumină infraroșie. Această lumină este recepționată de receptor, care este de obicei o fotodiodă sau fototranzistor. Dar lumina IR este emisă și de soare, becuri și orice altceva care produce căldură. Acest lucru poate interfera semnalul emițătorului, astfel încât pentru a preveni, semnalul emițătorului este modulat utilizând o frecvență purtătoare între 36 kHz și 46 kHz. La primirea semnalului, receptorul IR demodulează semnalul și îl convertește în binar înainte de al trimite la microcontroler.
Aici folosim o telecomandă TV pentru trimiterea semnalului IR și TSOP1838 cu Arduino pentru primirea acestora.
De asemenea, verificați aici diverse aplicații bazate pe IR, inclusiv circuitul Jammer pentru telecomandă TV și circuitul de testare IR.
Diagrama circuitului
Diagrama circuitului pentru decodor IR de la distanță care utilizează Arduino este prezentată mai jos:
Conexiunile sunt foarte simple, deoarece senzorul receptorului IR are doar trei pini, Vs, GND și Data. Conectați pinul Vs și GND al receptorului IR la pinul GND de 3,3V al Arduino și pinul de date la pinul digital 2 al Arduino.
Programare pentru Arduino IR Remote Decoder
Codul complet pentru decodificatorul IR Arduino este dat la sfârșitul paginii.
Pentru decodarea telecomenzii IR, mai întâi, trebuie să descărcăm și să adăugăm o bibliotecă IR la Arduino IDE. Puteți descărca biblioteca de la distanță IR de aici. După descărcarea fișierului, deschideți ID-ul Arduino și accesați Sketch> Include library> Add.Zip library . Selectați fișierul bibliotecii și faceți clic pe „Deschidere”.
Porniți codul prin includerea fișierului bibliotecă IR Remote.
#include
După aceea, definiți pinul Arduino unde ați conectat pinul de date al receptorului IR. În cazul meu, este conectat la pinul D2 al Arduino.
int IRPIN = 2;
După aceea, creați o instanță pentru pinul receptorului IR.
IRrecv irrecv (IRPIN);
În următoarea linie, definiți un obiect pentru clasa decode_results , acesta va fi utilizat de receptorul IR pentru a trimite informațiile decodate.
rezultatul decode_results;
În interiorul configurare () funcția, inițiază comunicația serială, și începe receptorul IR prin apelarea IRrecv funcția enableIRIn ().
void setup () {Serial.begin (9600); Serial.println („Activarea IRin”); irrecv.enableIRIn (); Serial.println („Enabled IRin”); Initialize_streamer (); }
În funcția loop () , irrecv.decode verifică în permanență semnalul nou și dacă este primit un nou semnal, codul semnalului primit va fi stocat într-o funcție result.value .
bucla void () {if (irrecv.decode (& result)) {Serial.print ("Valoare:"); Serial.println (result.value, HEX); Write_streamer (); irrecv.resume (); } întârziere (500); }
Pentru a trimite date către o foaie Excel de la Arduino, folosim PLX-DAQ. Folosind funcția Write_streamer () , trimitem datele în serie într-un model specific la fel ca afișarea valorii pe monitorul serial. Liniile cheie sunt explicate mai jos:
void Write_streamer () {Serial.print ("DATA"); // scrieți întotdeauna „DATA” pentru a indica următoarele ca Date Serial.print („,„); // Treceți la coloana următoare folosind un "," Serial.print (result.value, HEX); // Stocați data pe Excel Serial.print (","); // Treceți la următoarea coloană folosind un "," Serial.println (); // Trecerea la sfârșitul rândului la rândul următor}
Odată ce hardware-ul și programul sunt gata, este timpul să încărcați programul pe placa dvs. Arduino Nano. După încărcarea codului, îndreptați telecomanda către receptorul IR și apăsați butoanele telecomenzii. Codul hexagonal pentru fiecare buton va fi tipărit pe monitorul serial.
Salvarea datelor decodorului la distanță IR în foaia Excel
Acum, pentru a trimite date către o foaie Excel, vom folosi PLX-DAQ. Este un software Excel Plug-in care vă ajută să scrieți valori de la Arduino direct într-o foaie Excel de pe laptop sau computer. Utilizați linkul pentru a descărca fișierul. După descărcare, extrageți fișierul și faceți clic pe fișierul.exe pentru al instala. Acesta va crea un folder numit PLX-DAQ pe desktop.
Acum deschideți fișierul „Foaie de calcul PLX-DAQ” din folderul desktop. Dacă macrocomenzile sunt dezactivate pe Excel, atunci veți vedea un bloc de securitate așa cum se arată în imaginea de mai jos:
Faceți clic pe Opțiuni-> Activați conținutul -> Finalizare -> OK pentru a activa macrocomenzile. După aceasta, veți obține următorul ecran:
Acum selectați rata de transmisie ca „9600” și portul la care este conectat Arduino și apoi faceți clic pe Conectare pentru a începe transmisia de date. Valorile dvs. ar trebui să înceapă să fie înregistrate așa cum se arată în imaginea de mai jos.
Acesta este modul în care un decodor IR Arduino poate fi construit cu ușurință pentru a converti semnalele de la distanță IR în cod HEX echivalent.
Codul Arduino complet cu un videoclip demonstrativ este prezentat mai jos.