- Požadované komponenty
- Jak funguje IR komunikace?
- Kruhový diagram
- Programování pro dálkový dekodér Arduino IR
- Uložení dat IR dekodéru do listu aplikace Excel
IR (infračervená) komunikace je jednoduchá, nízkonákladová a široce používaná bezdrátová komunikační technologie. IR světlo je poněkud podobné viditelnému světlu, až na to, že vlnová délka je o něco delší. Tato vlastnost IR je pro lidské oko nezjistitelná a ideální pro bezdrátovou komunikaci.
Existuje spousta aplikací, kde musíte dekódovat infračervené signály, abyste mohli ovládat některá zařízení pomocí infračerveného dálkového ovladače. Takže v tomto tutoriálu použijeme IR přijímač TSOP1838 k vytvoření IR Remote Decoder pomocí Arduina. Hex kód pro každé tlačítko bude zaznamenán do listu Microsoft Excel. Tento jednoduchý dekodér dálkového ovládání IR lze použít v projektech jako robot IR dálkového ovládání, domácí automatizace a další projekty řízené IR.
Dříve jsme pomocí IR dálkového ovladače a přijímače TSOP vytvářeli mnoho užitečných aplikací jako:
- IR dálkově ovládaný stmívací obvod TRIAC
- IR dálkově ovládaná domácí automatizace pomocí Arduina
- IR dálkově ovládaná domácí automatizace pomocí mikrokontroléru PIC
- Ovládání mobilním telefonem pomocí Arduina a Bluetooth
Požadované komponenty
- Arduino Uno / Arduino Nano
- IR přijímač (TSOP1838)
- Propojovací dráty
- Nepájivá deska
Jak funguje IR komunikace?
Stejně jako ostatní komunikační systémy má i infračervená komunikace vysílač a přijímač. Vysílač vypadá stejně jako LED, ale produkuje světlo v IR spektru namísto viditelného. Zatímco IR přijímač je fotodioda zabudovaná s předzesilovačem, který mění infračervené světlo na elektrický signál. U infračervené komunikace by měl být vysílač i přijímač namířeny proti sobě. Chcete-li se dozvědět více o obvodu IR vysílače a přijímače, postupujte podle odkazu.
Po stisknutí tlačítka na dálkovém ovladači vysílá IR LED (vysílač) infračervené světlo. Toto světlo je přijímáno přijímačem, kterým je obvykle fotodioda nebo fototranzistor. Ale infračervené světlo vyzařuje také slunce, žárovky a cokoli jiného, co produkuje teplo. To může rušit signál vysílače, aby se zabránilo, signál vysílače je modulován pomocí nosné frekvence mezi 36 kHz až 46 kHz. Po přijetí signálu IR přijímač demoduluje signál a před odesláním do mikrokontroléru jej převede na binární.
Zde používáme dálkové ovládání TV pro odesílání infračerveného signálu a TSOP1838 s Arduino pro jejich příjem.
Zkontrolujte zde také různé aplikace založené na IR, včetně obvodu dálkového ovládání TV Jammer Circuit a obvodu IR testeru.
Kruhový diagram
Schéma zapojení IR dálkového dekodéru pomocí Arduina je uvedeno níže:
Připojení je velmi jednoduché, protože senzor IR přijímače má pouze tři piny, Vs, GND a Data. Připojte kolíky Vs a GND infračerveného přijímače ke kolíku 3,3 V GND Arduina a datovému kolíku k digitálnímu kolíku 2 Arduina.
Programování pro dálkový dekodér Arduino IR
Kompletní kód pro Arduino IR dekodér je uveden na konci stránky.
Pro dekódování IR dálkového ovladače si nejprve musíme stáhnout a přidat IR knihovnu do Arduino IDE. Knihovnu IR Remote si můžete stáhnout zde. Po stažení souboru otevřete své Arduino IDE a přejděte na Skica> Zahrnout knihovnu> Knihovna Add.Zip . Vyberte soubor knihovny a klikněte na „Otevřít“.
Spusťte svůj kód zahrnutím souboru IR Remote Library.
#zahrnout
Poté definujte pin Arduino, kde jste připojili datový pin IR přijímače. V mém případě je připojen k pinu D2 Arduina.
int IRPIN = 2;
Poté vytvořte instanci pro kolík IR přijímače.
IRrecv irrecv (IRPIN);
Na dalším řádku definujte objekt pro třídu decode_results , IR přijímač jej použije k odeslání dekódovaných informací.
výsledek decode_results;
Uvnitř setup () funkce, zahájit sériovou komunikaci, a spusťte IR přijímač voláním IRrecv funkce enableIRIn ().
void setup () {Serial.begin (9600); Serial.println ("Povolení IRin"); irrecv.enableIRIn (); Serial.println ("Povoleno IRin"); Initialize_streamer (); }
V smyčky () funkci, irrecv.decode neustále kontroluje nový signál, a pokud je přijata nová signál, přijatý kód signálu být uloženy v result.value funkci.
void loop () {if (irrecv.decode (& result)) {Serial.print ("Value:"); Serial.println (result.value, HEX); Write_streamer (); irrecv.resume (); } zpoždění (500); }
Pro odesílání dat do listu aplikace Excel od společnosti Arduino používáme PLX-DAQ. Pomocí funkce Write_streamer () posíláme data sériově ve specifickém vzoru, jako je zobrazení hodnoty na sériovém monitoru. Klíčové řádky jsou vysvětleny níže:
void Write_streamer () {Serial.print ("DATA"); // vždy napište „DATA“, abyste označili následující jako Data Serial.print (","); // Přesun do dalšího sloupce pomocí "," Serial.print (result.value, HEX); // Uložení data na Excel Serial.print (","); // Přesun do dalšího sloupce pomocí "," Serial.println (); // Konec řádku přesun do dalšího řádku}
Jakmile je hardware a program připraven, je čas nahrát program do vaší desky Arduino Nano. Po nahrání kódu nasměrujte dálkový ovladač na IR přijímač a stiskněte tlačítka na dálkovém ovladači. Hex kód pro každé tlačítko bude vytištěn na sériovém monitoru.
Uložení dat IR dekodéru do listu aplikace Excel
Nyní k odeslání dat do listu aplikace Excel použijeme PLX-DAQ. Jedná se o software Excel Plug-in, který vám pomůže zapisovat hodnoty z Arduina přímo do listu aplikace Excel na vašem notebooku nebo PC. Použijte odkaz ke stažení souboru. Po stažení soubor rozbalte a nainstalujte jej kliknutím na soubor.exe. Na ploše vytvoří složku s názvem PLX-DAQ.
Nyní otevřete soubor ' PLX-DAQ spreadsheet' ze složky na ploše. Pokud jsou ve vašem Excelu deaktivována makra, zobrazí se bezpečnostní blok, jak je znázorněno na následujícím obrázku:
Kliknutím na Možnosti-> Povolit obsah -> Dokončit -> OK povolíte makra. Poté se zobrazí následující obrazovka:
Nyní vyberte přenosovou rychlost jako „9600“ a port, ke kterému je vaše Arduino připojeno, a poté kliknutím na Připojit spusťte streamování dat. Vaše hodnoty by se měly začít protokolovat, jak je znázorněno na obrázku níže.
Takto lze snadno vytvořit IR dálkový dekodér Arduino pro převod IR dálkových signálů na ekvivalentní HEX kód.
Kompletní Arduino kód s ukázkovým videem je uveden níže.