- Potrebne komponente
- Kako deluje IR komunikacija?
- Shema vezja
- Programiranje za Arduino IR Remote Decoder
- Shranjevanje podatkov IR oddaljenega dekodirnika v Excel Sheet
IR (infrardeča) komunikacija je preprosta, poceni in široko uporabljena tehnologija brezžične komunikacije. IR svetloba je nekoliko podobna vidni svetlobi, le da je valovna dolžina nekoliko daljša. Zaradi te lastnosti IR ga človeško oko ne zazna in je popolno za brezžično komunikacijo.
Obstaja veliko aplikacij, kjer morate za upravljanje nekaterih naprav z IR daljinskim upravljalnikom dekodirati IR signale. Torej, v tej vadnici bomo uporabili IR sprejemnik TSOP1838 za izdelavo IR daljinskega dekoderja z uporabo Arduina. Šestnajstiška koda za vsak gumb bo zabeležena v Microsoft Excel Sheet. Ta preprost IR daljinski upravljalnik se lahko uporablja v projektih, kot so IR daljinski upravljalnik, Domača avtomatizacija in drugi IR nadzorovani projekti.
Prej smo IR-sprejemnik in sprejemnik TSOP uporabljali za izdelavo številnih uporabnih aplikacij, kot so:
- IR daljinski upravljalnik TRIAC Dimmer Circuit
- IR daljinsko vodena avtomatizacija doma z uporabo Arduina
- IR daljinsko vodena avtomatizacija doma z uporabo mikrokrmilnika PIC
- Mobitel je nadzorovan z uporabo Arduino in Bluetooth
Potrebne komponente
- Arduino Uno / Arduino Nano
- IR sprejemnik (TSOP1838)
- Jumper žice
- Breadboard
Kako deluje IR komunikacija?
Tako kot drugi komunikacijski sistemi ima tudi infrardeča komunikacija oddajnik in sprejemnik. Oddajnik je videti tako kot LED, toda namesto v vidnem spektru proizvaja svetlobo v IR spektru. Medtem ko je IR sprejemnik fotodioda, vgrajena s predhodnim ojačevalnikom, ki spremeni IR svetlobo v električni signal. Za IR komunikacijo morata biti oddajnik in sprejemnik usmerjena drug proti drugemu. Če želite izvedeti več o vezju IR oddajnika in sprejemnika, sledite povezavi.
Ko pritisnete gumb na daljavo, IR LED (oddajnik) oddaja infrardečo svetlobo. To svetlobo sprejme sprejemnik, ki je običajno fotodioda ali fototranzistor. Toda IR svetlobo oddajajo tudi sonce, žarnice in vse drugo, kar proizvaja toploto. To lahko moti signal oddajnika, zato se signal oddajnika modulira z nosilno frekvenco med 36 kHz in 46 kHz. Po sprejemu signala sprejemnik IR demodulira signal in ga pretvori v binarni, preden ga pošlje mikrokrmilniku.
Tu uporabljamo daljinski upravljalnik televizorja za pošiljanje IR signala in TSOP1838 z Arduinom za njihovo sprejemanje.
Tukaj preverite tudi različne aplikacije, ki temeljijo na IR, vključno z vezjem daljinskega upravljalnika televizorja in vezjem IR testerja.
Shema vezja
Diagram vezja za IR daljinski dekoder z uporabo Arduina je podan spodaj:
Povezave so zelo preproste, saj ima senzor IR sprejemnika samo tri nožice, Vs, GND in Data. Priključite Vs in GND pin IR sprejemnika na 3,3 V GND pin Arduino in Data pin na Digital pin 2 Arduino.
Programiranje za Arduino IR Remote Decoder
Popolna koda za Arduino IR Decoder je podana na koncu strani.
Za dekodiranje IR daljinskega upravljalnika moramo najprej prenesti in dodati IR knjižnico v Arduino IDE. Knjižnico IR Remote lahko prenesete od tukaj. Po prenosu datoteke odprite svoj Arduino IDE in pojdite na Skica> Vključi knjižnico> Knjižnica Add.Zip . Izberite datoteko knjižnice in kliknite »Odpri«.
Zaženite kodo tako, da vključite datoteko knjižnice IR Remote.
#include
Nato določite pin Arduino, kamor ste povezali podatkovni zatič IR sprejemnika. V mojem primeru je povezan z zatičem D2 Arduina.
int IRPIN = 2;
Po tem ustvarite primerek za pin PIN sprejemnika.
IRrecv unrecv (IRPIN);
V naslednji vrstici definirajte objekt za razred decode_results , sprejemnik IR ga bo uporabil za pošiljanje dekodiranih informacij.
rezultat decode_results;
Znotraj funkcije setup () sprožite serijsko komunikacijo in zaženite sprejemnik IR, tako da pokličete funkcijo IRrecv enableIRIn ().
void setup () {Serial.begin (9600); Serial.println ("Omogočanje IRin"); unrecv.enableIRIn (); Serial.println ("Enabled IRin"); Initialize_streamer (); }
V funkciji zanke () nerevv.decode nenehno preverja nov signal in če je prejet nov signal, bo prejeta signalna koda shranjena v funkciji result.value
void loop () {if (unrecv.decode (& result)) {Serial.print ("Value:"); Serial.println (result.value, HEX); Write_streamer (); unrecv.resume (); } zamuda (500); }
Za pošiljanje podatkov na Excelov list iz Arduina uporabljamo PLX-DAQ. S pomočjo funkcije Write_streamer () podatke pošiljamo zaporedno v določenem vzorcu, tako kot prikazujemo vrednost na serijskem monitorju. Ključne vrstice so razložene spodaj:
void Write_streamer () {Serial.print ("DATA"); // vedno napišite "DATA", da označite naslednje kot Data Serial.print (","); // Premakni se na naslednji stolpec z uporabo "," Serial.print (result.value, HEX); // Datum shranjevanja v Excelu Serial.print (","); // Premakni se na naslednji stolpec z uporabo "," Serial.println (); // konec vrstice se premakne v naslednjo vrstico}
Ko sta strojna oprema in program pripravljena, je čas, da program naložite na Arduino Nano Board. Po nalaganju kode usmerite daljinski upravljalnik proti IR sprejemniku in pritisnite gumbe na daljinskem upravljalniku. Šestnajstiška koda za vsak gumb bo natisnjena na serijski monitor.
Shranjevanje podatkov IR oddaljenega dekodirnika v Excel Sheet
Zdaj bomo za pošiljanje podatkov na Excelov list uporabili PLX-DAQ. To je vtična programska oprema Excel, ki vam pomaga zapisovati vrednosti iz Arduina neposredno v Excelov list na prenosnem računalniku ali računalniku. Uporabite povezavo za prenos datoteke. Po prenosu datoteko izvlecite in kliknite datoteko.exe, da jo namestite. Na namizju bo ustvaril mapo z imenom PLX-DAQ.
Zdaj odprite datoteko »Preglednica PLX-DAQ« v namizni mapi. Če so v vašem Excelu makri onemogočeni, boste videli varnostni blok, kot je prikazano na spodnji sliki:
Kliknite Možnosti-> Omogoči vsebino -> Dokončaj -> V redu, da omogočite makre. Po tem boste dobili naslednji zaslon:
Zdaj izberite hitrost prenosa kot "9600" in vrata, na katera je povezan vaš Arduino, in nato kliknite Poveži, da začnete pretakanje podatkov. Vaše vrednosti bi se morale začeti zapisovati, kot je prikazano na spodnji sliki.
Tako je mogoče Arduino IR Remote Decoder enostavno zgraditi za pretvorbo IR daljinskih signalov v enakovredno HEX kodo.
Popolna koda Arduino z predstavitvenim videoposnetkom je navedena spodaj.