- Komponente potrebne
- Kako funkcionira IR komunikacija?
- Kružni dijagram
- Programiranje za Arduino IR daljinski dekoder
- Spremanje podataka IR daljinskog dekodera u Excel list
IC (infracrvena) komunikacija jednostavna je, jeftina i široko korištena tehnologija bežične komunikacije. IR svjetlost je donekle slična vidljivoj svjetlosti, osim što je valna duljina nešto duža. Ovo svojstvo IR čini ga neotkrivenim za ljudsko oko i savršenim za bežičnu komunikaciju.
Postoji mnogo aplikacija u kojima trebate dekodirati IC signale da biste upravljali nekim uređajima s IR daljinskim upravljačem. Dakle, u ovom uputstvu koristit ćemo TSOP1838 IR prijemnik za izradu IR daljinskog dekodera pomoću Arduina. Heksadecimalni kôd za svaki gumb zapisat će se u Microsoft Excel Sheet. Ovaj jednostavan IC daljinski upravljač može se koristiti u projektima kao što su IR daljinski upravljač, kućna automatizacija i drugi IC kontrolirani projekti.
Prije smo koristili IR daljinski upravljač i TSOP prijamnik za izgradnju mnogih korisnih aplikacija poput:
- IC daljinski upravljani TRIAC krug zatamnjivanja
- IR daljinska kontrola kućne automatizacije pomoću Arduina
- IR daljinska kontrola kućne automatizacije pomoću PIC mikrokontrolera
- AC kontroliran mobitelom pomoću Arduina i Bluetootha
Komponente potrebne
- Arduino Uno / Arduino Nano
- IC prijamnik (TSOP1838)
- Jumper žice
- Breadboard
Kako funkcionira IR komunikacija?
Poput ostalih komunikacijskih sustava, infracrvena komunikacija također ima odašiljač i prijamnik. Odašiljač izgleda poput LED-a, ali umjesto u vidljivom spektru stvara svjetlost u IR spektru. Dok je IR prijemnik fotodioda ugrađena u pretpojačalo koje pretvara IR svjetlost u električni signal. Za IR komunikaciju i odašiljač i prijamnik trebaju biti usmjereni jedni na druge. Da biste saznali više o krugu IR odašiljača i prijemnika, slijedite vezu.
Kad se pritisne daljinski gumb, IR LED (odašiljač) emitira infracrvenu svjetlost. Ovo svjetlo prima prijemnik koji je obično fotodioda ili fototranzistor. Ali IR svjetlost emitiraju i sunce, žarulje i sve ostalo što proizvodi toplinu. To može ometati signal odašiljača, tako da se signal odašiljača modulira pomoću noseće frekvencije između 36 kHz i 46 kHz. Po primanju signala, IR prijamnik demodulira signal i pretvara ga u binarni prije nego što ga pošalje mikrokontroleru.
Ovdje koristimo daljinski upravljač za TV za slanje IR signala i TSOP1838 s Arduinom za njihov prijem.

Ovdje također provjerite razne IR aplikacije, uključujući krug ometača daljinskog upravljača TV-a i krug IC ispitivača.
Kružni dijagram
Dijagram sklopa za IR daljinski dekoder koji koristi Arduino dat je u nastavku:

Priključci su vrlo jednostavni jer senzor IR prijemnika ima samo tri pina, Vs, GND i Data. Spojite Vs i GND pin IR prijemnika na 3,3 V GND pin Arduina i Data pin na digitalni pin 2 Arduina.

Programiranje za Arduino IR daljinski dekoder
Kompletni kod za Arduino IR dekoder dat je na kraju stranice.
Za dekodiranje IR daljinskog upravljača prvo moramo preuzeti i dodati IR knjižnicu u Arduino IDE. Odavde možete preuzeti IR Remote knjižnicu. Nakon preuzimanja datoteke otvorite svoj Arduino IDE i idite na Skica> Uključi biblioteku> Dodaj.Zip biblioteku . Odaberite datoteku knjižnice i kliknite "Otvori".
Započnite svoj kôd tako što ćete uključiti datoteku IR Remote knjižnice.
#include
Nakon toga definirajte Arduino pin na koji ste spojili Data pin IR prijemnika. U mom slučaju povezan je s D2 pinom Arduina.
int IRPIN = 2;
Nakon toga stvorite instancu za pin IC prijemnika.
IRrecv revocv (IRPIN);
U sljedećem retku definirajte objekt za klasu decode_results , koristit će ga IC prijemnik za slanje dekodiranih podataka.
rezultat decode_results;
Unutar postava () funkcije, inicirati serijski komunikaciju i započeti IR prijemnik pozivom IRrecv funkcija enableIRIn ().
void setup () {Serial.begin (9600); Serial.println ("Omogućavanje IRin-a"); unrecv.enableIRIn (); Serial.println ("Omogućeni IRin"); Initialize_streamer (); }
U funkciji loop () , unrecv.decode neprestano provjerava ima li novog signala, a ako se primi novi signal, primljeni kod signala pohranit će se u funkciji result.value .
void loop () {if (unrecv.decode (& rezultat)) {Serial.print ("Vrijednost:"); Serial.println (result.value, HEX); Write_streamer (); unrecv.resume (); } kašnjenje (500); }
Za slanje podataka na Excel list iz Arduina koristimo PLX-DAQ. Koristeći funkciju Write_streamer () , podatke šaljemo serijski u određenom uzorku, baš kao što prikazuje vrijednost na serijskom monitoru. U nastavku su objašnjeni ključni redovi:
void Write_streamer () {Serial.print ("DATA"); // uvijek napiši "DATA" da bi sljedeće označio kao Data Serial.print (","); // Prelazak na sljedeći stupac pomoću "," Serial.print (result.value, HEX); // Datum pohrane na programu Excel Serial.print (","); // Prelazak na sljedeći stupac pomoću "," Serial.println (); // prelazak kraja retka na sljedeći redak}
Nakon što su hardver i program spremni, vrijeme je za prijenos programa na Arduino Nano ploču. Nakon prijenosa koda, usmjerite daljinski upravljač prema IC prijamniku i pritisnite tipke daljinskog upravljača. Hex kod za svaki gumb ispisat će se na serijskom monitoru.
Spremanje podataka IR daljinskog dekodera u Excel list
Sada ćemo za slanje podataka na Excel list upotrijebiti PLX-DAQ. To je program za dodatak za Excel koji vam pomaže da zapisujete vrijednosti iz Arduina izravno u Excel list na vašem prijenosnom računalu ili računalu. Upotrijebite vezu za preuzimanje datoteke. Nakon preuzimanja izdvojite datoteku i kliknite.exe datoteku da biste je instalirali. Stvorit će mapu PLX-DAQ na vašoj radnoj površini.
Sada otvorite datoteku ' PLX-DAQ proračunska tablica' iz mape radne površine. Ako su makronaredbe onemogućene u vašem Excelu, vidjet ćete sigurnosni blok kao što je prikazano na donjoj slici:

Kliknite Opcije-> Omogući sadržaj -> Završi -> U redu da biste omogućili makronaredbe. Nakon ovoga dobit ćete sljedeći zaslon:

Sada odaberite brzinu prijenosa podataka kao "9600" i priključak na koji je povezan vaš Arduino, a zatim kliknite Poveži da biste započeli strujanje podataka. Vrijednosti bi se trebale evidentirati kao što je prikazano na donjoj slici.

Na ovaj se način Arduino IR daljinski dekoder može lako izgraditi za pretvaranje IR daljinskih signala u ekvivalentni HEX kod.
Kompletni Arduino kôd s demo videom dat je u nastavku.
