- Súčasti sú povinné
- Ako funguje IR komunikácia?
- Schéma zapojenia
- Programovanie pre diaľkový dekodér Arduino IR
- Uloženie údajov IR dekodéra do tabuľky Excel
IR (infračervená) komunikácia je jednoduchá, nízkonákladová a široko používaná bezdrôtová komunikačná technológia. IR svetlo je trochu podobné viditeľnému svetlu, až na to, že vlnová dĺžka je o niečo dlhšia. Táto vlastnosť infračerveného žiarenia ho robí pre ľudské oko nedetekovateľným a je ideálnym riešením pre bezdrôtovú komunikáciu.
Existuje veľa aplikácií, v ktorých musíte dekódovať infračervené signály na obsluhu niektorých zariadení pomocou infračerveného diaľkového ovládania. V tomto výučbe teda použijeme IR prijímač TSOP1838 na zostavenie IR diaľkového dekodéra pomocou Arduina. Hex kód pre každé tlačidlo sa zaznamená do tabuľky programu Microsoft Excel. Tento jednoduchý dekodér infračerveného diaľkového ovládania sa dá použiť v projektoch, ako je robot na infračervené diaľkové ovládanie, automatizácia domácnosti a ďalšie projekty s infračerveným ovládaním.
Predtým sme používali IR diaľkové ovládanie a prijímač TSOP na vytvorenie mnohých užitočných aplikácií, ako sú:
- IR diaľkovo ovládaný stmievací obvod TRIAC
- IR diaľkovo ovládaná domáca automatizácia pomocou Arduina
- IR diaľkovo ovládaná domáca automatizácia pomocou mikrokontroléra PIC
- Ovládanie pomocou mobilného telefónu pomocou Arduina a Bluetooth
Súčasti sú povinné
- Arduino Uno / Arduino Nano
- IR prijímač (TSOP1838)
- Prepojovacie drôty
- Nepál
Ako funguje IR komunikácia?
Rovnako ako iné komunikačné systémy, aj infračervená komunikácia má vysielač a prijímač. Vysielač vyzerá rovnako ako LED dióda, ale produkuje svetlo v IR spektre namiesto viditeľného. Zatiaľ čo IR prijímač je fotodióda zabudovaná s predzosilňovačom, ktorý mení infračervené svetlo na elektrický signál. Pri infračervenej komunikácii by mali byť vysielač aj prijímač smerované k sebe. Ak sa chcete dozvedieť viac informácií o obvode IR vysielača a prijímača, kliknite na odkaz.
Po stlačení tlačidla na diaľkovom ovládači vyžaruje IR LED (vysielač) infračervené svetlo. Toto svetlo prijíma prijímač, ktorým je zvyčajne fotodióda alebo fototranzistor. Ale infračervené svetlo vyžaruje aj slnko, žiarovky a čokoľvek iné, čo produkuje teplo. To môže rušiť signál vysielača, aby sa tomu zabránilo, signál vysielača sa moduluje pomocou nosnej frekvencie medzi 36 kHz až 46 kHz. Po prijatí signálu IR prijímač demoduluje signál a prevedie ho na binárny signál pred jeho odoslaním do mikrokontroléra.
Tu používame televízny diaľkový ovládač na odosielanie infračerveného signálu a TSOP1838 s Arduinom na ich príjem.
Skontrolujte tu tiež rôzne aplikácie založené na IR, vrátane obvodu diaľkového ovládania TV diaľkového ovládania a obvodu IR testera.
Schéma zapojenia
Schéma zapojenia diaľkového dekodéra IR využívajúceho Arduino je uvedená nižšie:
Pripojenia sú veľmi jednoduché, pretože snímač IR prijímača má iba tri piny, Vs, GND a Data. Pripojte Vs a GND pin IR prijímača na 3,3V GND pin Arduina a Data pin na Digital pin 2 na Arduino.
Programovanie pre diaľkový dekodér Arduino IR
Kompletný kód pre Arduino IR dekodér je uvedený na konci stránky.
Pri dekódovaní IR diaľkového ovládača si najskôr musíme stiahnuť a pridať IR knižnicu do Arduino IDE. Knižnicu IR Remote si môžete stiahnuť odtiaľto. Po stiahnutí súboru otvorte svoje Arduino IDE a choďte na Skica> Zahrnúť knižnicu> Knižnica Add.Zip . Vyberte súbor knižnice a kliknite na 'Otvoriť'.
Spustite svoj kód zahrnutím súboru IR Remote library.
#include
Potom definujte pin Arduino, kde ste pripojili dátový pin IR prijímača. V mojom prípade je pripojený k D2 pinu Arduina.
int IRPIN = 2;
Potom vytvorte inštanciu pre kolík IR prijímača.
IRrecv irrecv (IRPIN);
V ďalšom riadku definujte objekt pre triedu decode_results , IR prijímač ho použije na odoslanie dekódovaných informácií.
výsledok decode_results;
Vnútri setup () funkcie, zahájiť sériovú komunikáciu, a spustite IR prijímač volaním IRrecv funkcie enableIRIn ().
void setup () {Serial.begin (9600); Serial.println ("Povolenie IRin"); irrecv.enableIRIn (); Serial.println ("Povolené IRin"); Initialize_streamer (); }
Vo funkcii loop () irrecv.decode neustále kontroluje nový signál a ak je prijatý nový signál, kód prijatého signálu sa uloží do funkcie result.value .
void loop () {if (irrecv.decode (& result)) {Serial.print ("Value:"); Serial.println (výsledná hodnota, HEX); Write_streamer (); irrecv.resume (); } oneskorenie (500); }
Na odosielanie údajov do hárka programu Excel od spoločnosti Arduino používame program PLX-DAQ. Pomocou funkcie Write_streamer () zasielame dáta sériovo v špecifickom vzore, rovnako ako zobrazenie hodnoty na sériovom monitore. Kľúčové riadky sú vysvetlené nižšie:
void Write_streamer () {Serial.print ("DATA"); // vždy napíš „DATA“, aby sa nasledujúce označilo ako Data Serial.print (","); // Presun do nasledujúceho stĺpca pomocou „,“ Serial.print (result.value, HEX); // Uloženie dátumu na Excel Serial.print (","); // Presun do nasledujúceho stĺpca pomocou znaku „,“ Serial.println (); // Koniec riadku presun na ďalší riadok}
Keď sú hardvér a program pripravené, je čas nahrať program do vašej dosky Arduino Nano. Po nahraní kódu nasmerujte diaľkový ovládač na IR prijímač a stlačte tlačidlá diaľkového ovládača. Hex kód pre každé tlačidlo sa vytlačí na sériový monitor.
Uloženie údajov IR dekodéra do tabuľky Excel
Teraz na odoslanie údajov do hárka programu Excel použijeme program PLX-DAQ. Jedná sa o softvér Excel Plug-in, ktorý vám pomáha zapisovať hodnoty z Arduina priamo do hárku programu Excel na vašom notebooku alebo počítači. Použite odkaz na stiahnutie súboru. Po stiahnutí súbor rozbaľte a nainštalujte kliknutím na súbor.exe. Na vašej pracovnej ploche vytvorí priečinok s názvom PLX-DAQ.
Teraz otvorte súbor „ PLX-DAQ tabuľkový procesor“ z priečinka na pracovnej ploche. Ak sú vo vašom programe Excel zakázané makrá, zobrazí sa bezpečnostný blok, ako je znázornené na nasledujúcom obrázku:
Kliknutím na Možnosti-> Povoliť obsah -> Dokončiť -> OK povolíte makrá. Potom získate nasledujúcu obrazovku:
Teraz zvoľte prenosovú rýchlosť ako „9600“ a port, ku ktorému je vaše Arduino pripojené, a potom kliknutím na Pripojiť spustite streamovanie dát. Vaše hodnoty by sa mali začať zaznamenávať, ako je to znázornené na obrázku nižšie.
Takto je možné ľahko vytvoriť diaľkový dekodér Arduino IR na prevod IR diaľkových signálov na ekvivalentný HEX kód.
Kompletný Arduino kód s demo videom je uvedený nižšie.