Što je IR prijemnik? U satelitski prijemnik ugrađujemo dodatni IR prijemnik. Dijagram spajanja IR prijemnika

dijagram iz časopisa "Mladi tehničar".

Zanimljiv smjer u radioelektronici, koji je ovu elektroniku nadopunio novim prednostima “nevidljivog” svjetla (infracrveno svjetlo). Stoga predlažem sklop jednostavnog (na primjer) prijemnika i odašiljača koji se temelji na infracrvenim zrakama. Osnova: operacijsko pojačalo k140ud7 (ovdje imam ud708), emitirajuće i primajuće IR fotodiode, ULF (k548un1a (b,c - indeksi) - za dva kanala) (iako gdje "uključiti" drugi kanal pojačala ovisi o vi odlučite - krug odašiljača je dizajniran za jedan kanal, tj. mono). Napajanje za uređaj: općenito ga preporučujem s pristojnom stabilizacijom struje (inače "dandy" adapter iritira pozadinu "mreže"). Metoda: amplitudno modulirani signal odašiljača prijemnik pojačava 1000 puta.

Kako uređaj radi. Predlažem da pogledate kratki video testiranja IR daljinskog upravljača “na sluh”. Zvukom možete brzo provjeriti funkcionalnost i jačinu signala.

Krug IC prijemnika i IC odašiljača

Prilikom sastavljanja, kondenzatori C1 i C2 trebaju biti što bliže pojačalu! Na izlaz možete spojiti slušalice visoke impedancije (za one niske impedancije potreban je zaseban ULF). Fotodioda FD7 (imam FD263: "tablet" s objektivom za fokusiranje); Otpornici od 0,125 W: R1 i R4 postavljaju faktor pojačanja signala za 1000 puta. Prijemnik je postavljen jednostavno: fotodioda je usmjerena na izvor IR zračenja, na primjer, 220V-50Hz lampa: žarna nit će biti fonit s frekvencijom od 50Hz ili daljinski upravljač s TV-a (video, itd.) Osjetljivost prijemnika je visoka: normalno prima signale reflektirane od zidova.

Odašiljač ima AL107a IR LED diode: bilo koji će poslužiti. R2 2 kOhm, C1 1000μFx25V, C2 200μFx25V, bilo koji transformator također. Iako je sasvim moguće bez transformatora - napajajte pojačani audio signal na kondenzator C2.

Dijagram uređaja

Krug IR prijemnika s ULF

Nedavno sam iz nužde sastavio IC prijemnik za testiranje IC daljinskih upravljača (TV i DVD). Nakon finaliziranja kruga, instalirao sam mono ULF TDA7056. Ovo pojačalo ima dobre karakteristike pojačanja od oko 42 dB; radi u rasponu napona od 3V do 18V, što je omogućilo rad IR prijemnika čak i na naponu od 3V; TDA raspon pojačanja od 20 Hz do 20 kHz (UD708 prolazi do 800 kHz) sasvim je dovoljan za korištenje prijemnika kao audio pratnje; ima zaštitu od kratkog spoja na svim "nogama"; zaštita od "pregrijavanja"; slab koeficijent samosmetnje. Sve u svemu, svidio mi se ovaj kompaktni i pouzdani ULF (naša cijena je 90 rubalja).
Za to postoji detaljan opis. Slika 1 prikazuje primjer korištenja pojačala.


Fotografija TDA7056


Sl. 1. Krug pojačala s TDA7056

Rezultat je bio IC prijemnik, slika 2, koji radi u rasponu napona od 3V do 12V. Preporučam korištenje baterija ili punjivih baterija za napajanje prijemnika. Pri korištenju napajanja potreban je stabilizirani izvor, inače će se čuti pozadina mreže od 50Hz koja pojačava UD708. Ako se uređaj nalazi blizu izvora mrežnog napona ili radio emisija, može doći do smetnji. Kako bi se smanjile smetnje, potrebno je uključiti kondenzator C5 u krug. TDA7056 je dizajniran za izlazni zvučnik od 16 Ohma, nažalost nemam ga. Morao sam koristiti zvučnik od 4 ohma od 3 vata, koji je bio spojen preko otpornika od 50 ohma od jednog vata. Prenizak otpor zavojnice zvučnika uzrokuje prekomjernu snagu i pregrijavanje pojačala. Općenito, zbog dodatnog otpornika, ULF se ne zagrijava, ali daje sasvim prihvatljivo pojačanje.

IR prijemnik daljinskih upravljača za upravljanje kućanskim aparatima može se jednostavno izraditi pomoću CD4017 decimalnog brojača, NE555 timera i TSOP1738 infracrvenog prijamnika.

Pomoću ovog kruga IR prijamnika možete jednostavno upravljati svojim kućanskim aparatima pomoću daljinskog upravljača TV-a, DVD playera ili pomoću kruga daljinskog upravljača opisanog na kraju članka.

Krug IR prijemnika za daljinsko upravljanje

Pinovi 1 i 2 IR prijemnika TSOP1738 koriste se za napajanje. Otpornik R1 i kondenzator C1 dizajnirani su za stabilan rad i suzbijanje raznih šuma u krugu napajanja.

Kada IC zrake frekvencije 38 kHz padnu na IR prijemnik TSOP1738, na njegovom izlazu 3 javlja se niska razina napona, a kada IC zrake nestanu, ponovno se javlja visoka razina. Ovaj negativni impuls pojačava tranzistor Q1, koji prosljeđuje signal pojačane frekvencije na ulaz decimalnog brojača CD4017. Brojački pinovi 16 i 8 namijenjeni su za njegovo napajanje. Pin 13 je spojen na masu, čime je omogućen njegov rad.

Izlaz Q2 (pin 4) spojen je na reset pin (pin 15) kako bi CD4017 radio u bistabilnom multivibratorskom načinu rada. Tijekom prvog impulsa, log1 se pojavljuje na Q0, drugi taktni signal uzrokuje da se log1 pojavi na Q1 (Q0 pada na nisku razinu), a na trećem signalu ponovno daje log1 na Q0 (Q2 je spojen na MR, pa se treći taktni signal resetira brojač).

Pretpostavimo da se brojač resetirao (Q0 je visok, a ostali su niski). Kada pritisnete tipku daljinskog upravljača, signal sata utječe na brojač, što dovodi do visoke razine na Q1. Dakle, LED D1 svijetli, tranzistor Q2 se uključuje i relej se aktivira.

Kada se tipka daljinskog upravljača ponovno pritisne, log 1 se pojavljuje na pinu Q0, relej se isključuje i LED D2 svijetli. LED D1 pokazuje kada je uređaj uključen, a LED D2 kada je uređaj isključen.

Za upravljanje možete koristiti daljinski upravljač za TV ili sastaviti zasebni prema donjem dijagramu.

  • Ulazni napon: 2,7 ... 5,5 V
  • Potrošnja struje: 0,65 ... 1,05 mA (pri Vcc = 5V) nominalno 0,9 mA
  • Frekvencija nosača: 38 kHz
  • Valna duljina svjetlosti: 850 ... 1050 nm (filter prolazi više od 80%)
  • Osjetljivost: 0,17… 30000 mW/m2 (na snagu svjetlosnog toka)
  • Prijemna udaljenost: do 45 m
  • Radna temperatura: -25 … 85 °C
  • Kut usmjerenja: ±45°

Svi moduli linije "Trema" izrađeni su u istom formatu

veza:

Modul se spaja na bilo koji digitalni pin arduina. Komplet uključuje kabel za brzo i jednostavno spajanje na Trema Shield.

Prikladno je spojiti modul na 3 načina, ovisno o situaciji:

Metoda - 1: Korištenje žičanog kabela i Piranha UNO


Knjižnica koristi drugi hardverski mjerač vremena,

NEMOJTE IZLAZITI PWM SIGNALE NA 3 ILI 11 IZLAZA!

Pročitajte više o instaliranju knjižnice u našem...

Dodatne informacije o radu s modulom:

Paketi: Gotovo svi daljinski upravljači šalju ne samo informacijski paket (koji označava vrstu uređaja i kod pritisnute tipke), već i ponavljajuće pakete, obavještavajući uređaj da je tipka pritisnuta. Tako prijemni uređaj može reagirati na jednokratni pritisak na tipku ili na cijelo vrijeme držanja.

Na primjer: pritiskom i držanjem tipke s brojem TV kanala, TV će se samo jednom prebaciti na taj kanal. Dok pritišćete i držite tipku za povećanje glasnoće, TV će je povećati za cijelo vrijeme dok držite tipku.

Broj informacijskih paketa Većina daljinskih upravljača ima jedan, ali neki uređaji, poput klima uređaja, koriste 2, 3 ili više paketa informacija.

Sadržaj paketa: Informacijski paket sadrži podatke o kodu proizvođača, tipu uređaja, kodu pritisnute tipke itd. Ponovljeni paketi mogu se djelomično ili potpuno podudarati s informacijskim paketom, kopirati njegove bitove s inverzijom ili ne nositi nikakvu informaciju, predstavljajući niz od nekoliko identičnih bitova za svaki ponovljeni paket.

Trajanje pauza između paketa: obično ne prelazi 200 ms.

Protokoli za prijenos podataka: odrediti sljedeće osnovne parametre:

  • nosiva frekvencija;
  • način kodiranja informacija, trajanje impulsa i pauze odaslanih bitova;
  • broj informativnih paketa:
  • sastav informativnog paketa i paketa za ponavljanje;
  • trajanje pauza između paketa;
  • prisutnost i oblik signala Start, Stop i Toggle;

Frekvencija nosača: za većinu daljinskih upravljača to je 38 kHz; to je frekvencija na koju je podešen Trema IR prijemnik.

Kodiranje informacija: Ovo je princip prijenosa podatkovnih bitova. Istaknimo tri glavne vrste kodiranja, u kojima se svaki bit prenosi u nizu od jednog impulsa i jedne pauze:

  • kodiranje duljine impulsa - prvo se odašilje impuls čija duljina ovisi o vrijednosti poslanog bita, zatim slijedi stanka čija duljina ne ovisi o vrijednosti bita. Na primjer: u SIRC protokolu (Sony), duljina impulsa za bit “1” = 1200 µs, a za bit “0” = 600 µs, duljina pauze je uvijek 600 µs. Na ovaj način možete razlikovati "1" od "0" prema duljini impulsa.
  • kodiranje dugih pauza - prvo se odašilje impuls čija duljina ne ovisi o vrijednosti odaslanog bita, zatim slijedi pauza čija duljina ovisi o vrijednosti bita. Na primjer: u NEC protokolu duljina pauze za bit “1” = 1687,5 µs, a za bit “0” = 562,5 µs, duljina impulsa je uvijek 562,5 µs. Dakle, možete razlikovati "1" od "0" prema duljini pauze.
  • bifazno kodiranje - duljina impulsa jednaka je duljini pauze, a njihov slijed određuje vrstu odaslanog bita. Na primjer: u RS5 protokolu (Philips), za bit "1" impuls slijedi nakon pauze, a za bit "0" pauza slijedi nakon impulsa. Za NRC protokol (Nokia), naprotiv, za bit “1” pauza slijedi nakon impulsa, a za bit “0” impuls slijedi nakon pauze.

Signali za pokretanje, zaustavljanje i prebacivanje: prema nazivu nalaze se na početku, kraju ili sredini paketa.

Stop: Kod kodiranja duge pauze nemoguće je odrediti vrijednost zadnjeg bita u paketu, jer nakon paketa slijedi duga pauza, a zadnji bit će uvijek biti definiran kao “1”, pa se dodaje Stop signal paketu, koji je impuls koji ne nosi nikakvu informaciju.

Početak: S dvofaznim kodiranjem potreban je signal Start, budući da je nemoguće započeti slanje paketa iz pauze.

Prebaci: Ovo je bit koji mijenja svoju vrijednost sa svakim novim pritiskom na gumb, koristi se u RS5, RS5X, RS6 (Philips) protokolima, gdje paketi ponavljanja u potpunosti ponavljaju podatke paketa informacija. Na taj način prijemni uređaj može razlikovati između držanja gumba i ponovnog pritiska.

Primjeri:

Provjera dostupnosti podataka primljenih s IR daljinskog upravljača provodi se funkcijom check(). Ova funkcija reagira na pritiskanje gumba na IR daljinskom upravljaču, ali ako se pozove s pravim parametrom, reagirat će i na držanje gumba.

Čitajući podatke s bilo kojeg daljinskog upravljača, reagiramo samo na pritiske gumba:

#uključi // Povežite knjižnicu za rad s IR prijemnikom iarduino_IR_RX IR(7); // Deklarirajte IR objekt, naznačujući pin na koji je spojen IR prijemnik void setup())( Serial.begin(9600); // Pokrenite prijenos podataka na monitor serijskog porta, brzinom od 9600 bps IR.begin (); / / Započnite rad s IR prijemnikom) void loop())( if(IR.check())( // Ako međuspremnik sadrži podatke primljene s daljinskog upravljača (gumb je pritisnut) Serial.println(IR .data, HEX); // Izlaz koda pritisnute tipke Serial.println(IR.length); // Izlaz broja bitova u kodu ) )

U ovoj se skici funkcija check() poziva bez argumenata, što znači da reagira samo na pritiske gumba na IR daljinskom upravljaču.

Čitajući podatke s bilo kojeg daljinskog upravljača, odgovaramo pritiskom na tipke:

#uključi // Povežite knjižnicu za rad s IR prijemnikom iarduino_IR_RX IR(6); // Deklarirajte IR objekt, naznačujući pin na koji je spojen IR prijemnik void setup())( Serial.begin(9600); // Pokrenite prijenos podataka na monitor serijskog porta, brzinom od 9600 bps IR.begin (); / / Započnite rad s IR prijemnikom) void loop())( if(IR.check(true))( // Ako međuspremnik sadrži podatke primljene s daljinskog upravljača (gumb se drži pritisnut) Serial.println (IR.data, HEX); // Izlaz koda pritisnute tipke Serial.println(IR.length); // Izlaz broja bitova u kodu ) )

U ovoj se skici funkcija check() poziva s pravim parametrom, što znači da reagira i na pritiskanje i držanje gumba IR daljinskog upravljača.

Čitanje podataka s bilo kojeg daljinskog upravljača, pokazujući kako reagirati na koje tipke.

#uključi // Povežite knjižnicu za rad s IR prijemnikom iarduino_IR_RX IR(6); // Deklarirajte IR objekt, naznačujući pin na koji je spojen IR prijemnik // bool flgKey1 = false; uint32_t codKey1 = 0xFF30CF; // Definirajte oznaku klika i kod gumba 1 bool flgKey2 = false; uint32_t codKey2 = 0xFF18E7; // Definirajte oznaku klika i kod gumba 2 bool flgKey3 = false; uint32_t codKey3 = 0xFF7A85; // Definirajte oznaku klika i kod gumba 3 bool flgKey = false; uint32_t tmrKey = 0; // Definirajte oznaku koja dopušta izlaz podataka na monitor i vrijeme zadnjeg pritiska tipke. // void setup())( // Serial.begin(9600); // Pokretanje prijenosa podataka na monitor serijskog porta, brzinom od 9600 bps IR.begin(); // Pokretanje rada s IR prijemnikom) / / / / void loop())( // if(IR.check(true))( // Ako međuspremnik sadrži podatke primljene s daljinskog upravljača (gumb je pritisnut), tada... if(millis() -200 > tmrKey)( / / Ako je prošlo više od 200 ms od posljednje primljene naredbe, tada je flgKey1=false; // Smatramo da gumb 1 nije zadržan flgKey2=false; // Smatramo da gumb 2 nije zadržan flgKey3=false; // Smatramo da gumb 3 nije zadržan) tmrKey = millis(); flgKey=true; // Spremi vrijeme zadnje reakcije na daljinski upravljač i dopusti izlaz podataka if(IR.data==codKey1 )( if(flgKey1)(flgKey=false;) flgKey1=true; )else(flgKey1= false;) // Zabranjujemo izlaz podataka gumba 1 kada se drži pritisnut if(IR.data==codKey2)( if (flgKey2)(flgKey=false;) flgKey2=true; )else(flgKey2=false;) // Zabranjujemo izlaz podatkovnog gumba 2 dok ga držimo if(IR.data==codKey3)( if(flgKey3)(flgKey =false;) flgKey3=true; )else(flgKey3=false;) // Zabrani izlaz podataka gumba 3 kada se drži pritisnut if(flgKey)( // Ako je izlaz podataka dopušten, onda... Serial.println(IR.data, HEX); // Izlaz koda pritisnutih gumba Serial.println(IR.length); // Izlaz broja bitova u kodu ) // ) // ) //

U ovoj skici, funkcija check() se poziva s pravim parametrom, što znači da reagira na pritiskanje i držanje gumba IR daljinskog upravljača. Ali podaci se šalju monitoru serijskog porta samo kada je postavljena zastavica flgKey, koja se resetira kada se gumbi s kodovima 0xFF30CF, 0xFF18E7 i 0xFF7A85 drže pritisnuti. Ispada da skica reagira na 3 tipke samo kada se pritisne, a na preostale tipke i kada se pritisne i drži.

Čitanje podataka samo s onih daljinskih upravljača koji rade prema navedenom protokolu:

#uključi // Povežite knjižnicu za rad s IR prijemnikom iarduino_IR_RX IR(5); // Deklarirajte IR objekt, naznačujući pin na koji je spojen IR prijemnik void setup())( Serial.begin(9600); // Pokrenite prijenos podataka na monitor serijskog porta, brzinom od 9600 bps IR.begin (); // Pokretanje rada s IR prijemnikom IR.protocol("Ae`` `|LJ` @@@@BPBp"); // Navedite protokol prijenosa podataka na koji treba odgovoriti ) void loop())( ako (IR.check( true))( // Ako međuspremnik sadrži podatke primljene s daljinskog upravljača (gumb je pritisnut) Serial.println(IR.data, HEX); // Izlaz koda pritisnutog gumba Serial. println(IR.length); // Ispis broja bitova u kodu) )

Na ovoj skici, u setup() kodu, naznačen je protokol prijenosa podataka, koji se rijetko podudara kod različitih proizvođača IR daljinskih upravljača. To znači da će funkcija check() u kodu loop() reagirati samo na one IR daljinske upravljače koji podržavaju navedeni protokol.

Dohvaćanje protokola prijenosa podataka i vrste kodiranja:

#uključi // Povežite knjižnicu za rad s IR prijemnikom iarduino_IR_RX IR(4); // Deklarirajte IR objekt, naznačujući pin na koji je spojen IR prijemnik void setup())( Serial.begin(9600); // Pokrenite prijenos podataka na monitor serijskog porta, brzinom od 9600 bps IR.begin (); // Pokreni rad s IR prijemnikom) void loop())( if(IR.check())( // Ako međuspremnik sadrži podatke primljene s daljinskog upravljača (gumb je pritisnut) Serial.println(IR .protocol()); // Izlaz niza protokola prijenosa podataka ) )

Ovaj primjer opisuje kako dobiti protokol za prijenos podataka za IR daljinske upravljače. Članak opisuje kako prenijeti kodove gumba pomoću navedenog protokola.

Na ovaj način možete izraditi skicu IR odašiljača za simulaciju signala raznih IR daljinskih upravljača. Kao rezultat toga, uređaji će reagirati na IC odašiljač kao da reagiraju na vlastiti IC daljinski upravljač.

Opis glavnih funkcija knjižnice:

Povezivanje knjižnice:

#uključi // Povežite knjižnicu za rad s IR prijemnikom. iarduino_IR_RX IR(PIN_NO[, INVERTIRANJE]); // Deklarirajte IR objekt, navodeći broj pina na koji je spojen IR prijemnik. // Drugi parametar, tipa bool, može indicirati da su podaci iz primatelja invertirani.

Funkcija početak();

  • Namjena: inicijalizacija rada s IC prijemnikom
  • Sintaksa: početak();
  • Mogućnosti: Ne.
  • Povratne vrijednosti: Nema.
  • Napomena: Poziva se jednom u kodu za postavljanje.
  • Primjer:
IR.početak(); // Započnite rad s IR prijemnikom

Provjera funkcije();

  • Svrha: Provjera dostupnosti podataka primljenih s daljinskog upravljača.
  • Sintaksa: provjeri([ HOLD ]);
  • Mogućnosti:
    • HOLD - izborni parametar tipa bool - označava da je potrebno reagirati na držanje gumba daljinskog upravljača.
  • Povratne vrijednosti: bool - jesu li podaci s daljinskog upravljača prihvaćeni ili ne.
  • Napomena: Ako je funkcija pozvana bez parametra ili je false, tada će funkcija reagirati samo na signale s daljinskog upravljača kada se pritisnu njegovi gumbi, a ako navedete true, funkcija će reagirati i na pritisak i držanje tipke daljinskog upravljača.
  • Primjer:
if(IR.check())( ... ;) // Ako su podaci primljeni s daljinskog upravljača, kada pritisnete njegovu tipku if(IR.check(true))( ... ;) // Ako su podaci primljen s daljinskog upravljača, kada držite gumb

Protokol funkcije();

  • Svrha: Primanje, postavljanje ili resetiranje protokola prijenosa podataka.
  • Sintaksa: protokol([ PARAMETAR ]);
  • Dobivanje protokola: Ako se funkcija pozove bez parametra, vratit će niz od 25 znakova + znak za kraj retka. Bitovi ove linije nose informacije o vrsti protokola prijenosa podataka daljinskog upravljača čiji su podaci zadnji primljeni. Ova linija se može koristiti za postavljanje protokola za IR odašiljač ili IR prijemnik (vidi dolje).
  • Postavljanje protokola: Ako se funkcija pozove s parametrom u obliku niza od 25 znakova protokola + znak za kraj retka, tada će nakon toga funkcija chek() odgovoriti samo na daljinske upravljače koji su u skladu s navedenim podacima prijenosni protokol.
  • Resetiranje protokola: Ako se funkcija pozove s parametrom IR_CLEAN, tada će funkcija chek() ponovno odgovoriti na signale s bilo kojeg daljinskog upravljača.
  • Parametri protokola primanja: Ako se funkcija pozove s parametrom int, od 0 do 17, tada neće vratiti niz protokola, već vrijednost int s jednim od parametara protokola prijenosa podataka konzole čiji su podaci posljednji primljeni. :
    • 0 - vrsta kodiranja:
      • IR_UNDEFINED - vrsta kodiranja je nedefinirana;
      • IR_PAUSE_LENGTH - duga pauza kodiranja;
      • IR_PULSE_LENGTH - kodiranje dugim (širinskim) impulsom (PWM);
      • IR_BIPHASIC - dvofazno kodiranje;
      • IR_BIPHASIC_INV - bifazno kodiranje s invertiranim bitovima;
      • IR_NRC - ponovljeni paketi su identični, ali su prvi i zadnji paket posebni;
      • IR_RS5 - PHILIPS kodiranje s preklopnim bitom;
      • IR_RS5X - PHILIPS kodiranje s preklopnim bitom;
      • IR_RS6 - PHILIPS kodiranje s preklopnim bitom.
    • 1 - noseća frekvencija prijenosa podataka (u kHz);
    • 2 - deklarirani broj informacijskih bitova u 1 paketu;
    • 3 - deklarirani broj informacijskih bitova u ponovljenom paketu;
    • 4 - trajanje pauze između paketa (u ms);
    • 5 - trajanje impulsa u početnom bitu (u μs);
    • 6 - trajanje pauze u početnom bitu (u μs);
    • 7 - trajanje impulsa u zaustavnom bitu (u μs);
    • 8 - trajanje pauze u zaustavnom bitu (u μs);
    • 9 - trajanje impulsa u bitu ponovnog pokretanja ili prebacivanja (u μs);
    • 10 - trajanje pauze u bitu ponovnog pokretanja ili prebacivanja (u μs);
    • 11 - položaj ponovnog pokretanja ili preklopnog bita u paketu (bit br.);
    • 12 - maksimalno trajanje impulsa u informacijskim bitovima (u μs);
    • 13 - minimalno trajanje impulsa u informacijskim bitovima (u μs);
    • 14 - maksimalno trajanje pauze u informacijskim bitovima (u μs);
    • 15 - minimalno trajanje pauze u informacijskim bitovima (u μs);
    • 16 - zastavica prisutnosti početnog bita (true/false);
    • 17 - zastavica prisutnosti stop bita (true/false);
    • 18 - zastavica za prisutnost ponovnog pokretanja ili preklopnog bita (true/false);
    • 19 - ponovljeni tip paketa (0-nema, 1-s invertiranim bitovima, 2-identičan informacijskom, 3-jedinstven);
  • Povratne vrijednosti: Ovisi o prisutnosti i vrsti parametra.
  • Napomena: Ako je protokol prethodno postavljen, tada će pokušaj dohvaćanja protokola ili parametara protokola vratiti vrijednosti prethodno postavljenog protokola, a ne protokola prijenosa podataka konzole čiji su podaci zadnji primljeni.
  • Primjer:
IR.protocol("AeQQV~zK]Kp^KJp[@@@@@@@@Bp"); // Postavi protokol. Sada će prijemnik primati podatke samo s daljinskih upravljača ELENBERG TV-a. IR.protocol(IR_CLEAN); // Resetiranje prethodno instaliranog protokola. Sada će prijemnik ponovno reagirati na bilo koji daljinski upravljač. if(IR.check())( Serial.println(IR.protocol()); ) // Dobivanje protokola. Čim prijamnik primi podatke, niz od 25 znakova protokola bit će prikazan na monitoru. if(IR.check())( Serial.println(IR.protokol(12)); ) // Dobivanje jednog od parametara protokola. Čim prijamnik primi podatke, monitor će prikazati maksimalno trajanje impulsa informacijskog bita u mikrosekundama.

Varijabla podataka

  • Vrijednost: Vraća kod gumba primljen s daljinskog upravljača;
  • Tip podataka: uint32_t.
if(IR.check())( Serial.println(IR.data); ) // Ispis koda pritisnutog gumba ako je prihvaćen

varijabla duljine

  • Vrijednost: vraća veličinu koda gumba, u bitovima;
  • Tip podataka: uint8_t.
if(IR.check())( Serial.println(IR.length); ) // Ispis veličine koda pritisnutog gumba, ako je prihvaćen

key_press varijabla

  • Značenje: Vraća oznaku koja pokazuje da je gumb daljinskog upravljača pritisnut, a ne držan;
  • Tip podataka: bool.
if(IR.check(true))( if(IR.key_press)(Serial.println("PRESS");) // Tekst će se ispisati 1 put kada se gumb pritisne else (Serial.println("HOLD " );) // Tekst će se kontinuirano prikazivati ​​dok se tipka drži pritisnutom)

Primjena:

  • upravljanje robotima, pokretnim, letećim i plutajućim modelima, kućanskom i specijaliziranom opremom.
  • paljenje/gašenje rasvjete, grijanja, ventilacije, zalijevanja itd.
  • otvaranje/zatvaranje vrata, sjenila, krovnih prozora, ventilacijskih otvora itd.

IR prijemnik je standardni uređaj koji se spaja na COM (RS-232) port i služi za daljinsko upravljanje robotom.

Jedan od mogućih krugova IR prijemnika. Bilo koji infracrveni prijemnik od 5 volti koji se koristi u kućanskoj opremi (TV) bit će prikladan za IR prijemnik. Na primjer: TSOP1836, IS1U60L, GP1U52X, SFH506-36 ili naš domaći TK1833. Stabilizator napona KREN5A neophodan je za napajanje IR prijemnika naponom od 5 V, jer 12 volti se napaja sa 7. pina COM porta. Otpornik se može odabrati iz raspona od 3-5 kOhm, kondenzator 4,7-10 μF. Bilo koja dioda male snage.

U gornjem dijagramu, izlazni signal se dovodi na 1 pin COM porta (DCD). Ovaj kontakt ne koristi standardni miš za COM port, pa ako nemate dovoljno slobodnog COM porta, ovaj sklop se može koristiti paralelno s mišem (ali ne s modemom)! Izlazni signal se može poslati ne samo na DCD, već i na druge pinove, kao što su CTS ili DSR. Sve te parametre moguće je namjestiti u programu koji radi u IC prijemniku. Postoji nekoliko opcija programa, a najčešća je WinLIRC. Također mogu preporučiti korištenje programa Girder.

Pinout i izgled glavnih elemenata kruga

S lijeva na desno - dvije vrste 5-voltnih IR prijemnika i čip stabilizatora napona KREN5A.

Pinout COM porta

Pinout i opis kontakata COM porta (25 pin).

IR prijemnik igra važnu ulogu u našem svakodnevnom životu. Uz pomoć ovog mikro kruga možemo kontrolirati moderne kućanske aparate, TV, stereo sustav, auto radio i klima uređaj. To nam omogućuje da to učinimo, daljinski upravljač (RC), pogledajmo pobliže njegov rad, krug, svrhu i ispitivanje. U članku, kako sami provjeriti IR prijemnik.

Što je IC prijemnik i kako radi?

Ovo je integrirani krug, njegova izravna i glavna zadaća je primanje i obrada infracrvenog signala, što je ono što daljinski upravljač emitira. Ovaj signal se koristi za upravljanje opremom.

Ovaj mikro krug temelji se na pin fotodiodi, posebnom elementu, s p-n spojem i i regijom između njih, analognoj bazi tranzistora, kao u sendviču, pa je ovdje kratica pin, jedinstveni element u svojoj vlastiti put.

Uključen je unazad i ne dopušta prolaz električne struje. IR signal ulazi u područje i i provodi struju pretvarajući je u napon.


Sljedeće faze su integrirajući filtar, detektor amplitude, a na cilju ih čekaju izlazni tranzistori.

U pravilu nema posebne svrhe kupovati novi IR prijemnik u trgovini, jer se lako može odvojiti od raznih elektroničkih ploča. Ako sastavljate uređaj za provjeru daljinskog upravljača od otpadnog materijala, bez poznavanja točne oznake uređaja, tada možete sami odrediti pinout.


Trebat će nam multimetar, napajanje ili nekoliko baterija, spojne žice, instalacija se može obaviti visi.

Ima tri izlaza, jedan je GND, plus 5 volti se dovodi na drugi, a izlazni signal izlazi iz trećeg. Spojimo napajanje na prvu i drugu nogu, odnosno uklanjamo napon s treće.


U stanju je čekanja signala s daljinskog upravljača, a na multimetru vidimo pet volti. Počinjemo mijenjati kanale ili pritiskati druge gumbe usmjeravajući daljinski upravljač prema njemu.

Ako radi, tada će napon pasti za oko 0,5-1 volt. Ako se sve dogodi kao što je ovdje napisano, uređaj radi, inače je element neispravan.

Kako odrediti pinout infracrvenog prijemnika

Na primjer, uzeo sam mikro krug koji mi je bio potpuno nepoznat, a koji je ležao u kutiji s elementima, "minus" je određen točkom koja se nalazi na stražnjoj strani elementa, "plus" je eksperimentalno određen pomoću otpornika. Nisam ništa riskirao, pošto je on u početku bio radnik, nije bilo nade.

Da biste odredili pinout IR prijemnika, ako je zalemljen u ploču, pogledajte ga, možda postoje oznake pinova. Ako tamo ništa nije napisano, pregledajte sam element, potražite njegovo ime, a zatim potražite karakteristike i podatke na Internetu, ovo je vrlo kompetentan način za obavljanje stvari. Slijedeći upute, kako sami provjeriti IC prijemnik.

dijagram iz časopisa "Mladi tehničar".

Zanimljiv smjer u radioelektronici, koji je ovu elektroniku nadopunio novim prednostima “nevidljivog” svjetla (infracrveno svjetlo). Stoga predlažem sklop jednostavnog (na primjer) prijemnika i odašiljača koji se temelji na infracrvenim zrakama. Osnova: operacijsko pojačalo k140ud7 (ovdje imam ud708), emitirajuće i primajuće IR fotodiode, ULF (k548un1a (b,c - indeksi) - za dva kanala) (iako gdje "uključiti" drugi kanal pojačala ovisi o vi odlučite - krug odašiljača je dizajniran za jedan kanal, tj. mono). Napajanje za uređaj: općenito ga preporučujem s pristojnom stabilizacijom struje (inače "dandy" adapter iritira pozadinu "mreže"). Metoda: amplitudno modulirani signal odašiljača prijemnik pojačava 1000 puta.

Kako uređaj radi. Predlažem da pogledate kratki video testiranja IR daljinskog upravljača “na sluh”. Zvukom možete brzo provjeriti funkcionalnost i jačinu signala.

Krug IC prijemnika i IC odašiljača

Prilikom sastavljanja, kondenzatori C1 i C2 trebaju biti što bliže pojačalu! Na izlaz možete spojiti slušalice visoke impedancije (za one niske impedancije potreban je zaseban ULF). Fotodioda FD7 (imam FD5.. neka vrsta "tableta" s objektivom za fokusiranje - ne sjećam se točnog naziva); Otpornici od 0,125 W: R1 i R4 postavljaju faktor pojačanja signala za 1000 puta. Prijemnik je postavljen jednostavno: fotodioda je usmjerena na izvor IR zračenja, na primjer, 220V-50Hz lampa: žarna nit će biti fonit s frekvencijom od 50Hz ili daljinski upravljač s TV-a (video, itd.) Osjetljivost prijemnika je visoka: normalno prima signale reflektirane od zidova.

Odašiljač ima AL107a IR LED diode: bilo koji će poslužiti. R2 2 kOhm, C1 1000μFx25V, C2 200μFx25V, bilo koji transformator također. Iako je sasvim moguće bez transformatora - napajajte pojačani audio signal na kondenzator C2.

Dijagram uređaja

Nedavno sam iz nužde sastavio IC prijemnik za testiranje IC daljinskih upravljača (TV i DVD). Nakon finaliziranja kruga, instalirao sam mono ULF TDA7056. Ovo pojačalo ima dobre karakteristike pojačanja od oko 42 dB; radi u rasponu napona od 3V do 18V, što je omogućilo rad IR prijemnika čak i na naponu od 3V; TDA raspon pojačanja od 20 Hz do 20 kHz (UD708 prolazi do 800 kHz) sasvim je dovoljan za korištenje prijemnika kao audio pratnje; ima zaštitu od kratkog spoja na svim "nogama"; zaštita od "pregrijavanja"; slab koeficijent samosmetnje. Sve u svemu, svidio mi se ovaj kompaktni i pouzdani ULF (naša cijena je 90 rubalja).
Postoji do njega sa. Slika 1 prikazuje primjer korištenja pojačala.


Fotografija TDA7056



Sl. 1. Krug pojačala s TDA7056

Rezultat je bio IC prijemnik, slika 2, koji radi u rasponu napona od 3V do 12V. Preporučam korištenje baterija ili punjivih baterija za napajanje prijemnika. Pri korištenju napajanja potreban je stabilizirani izvor, inače će se čuti pozadina mreže od 50Hz koja pojačava UD708. Ako se uređaj nalazi blizu izvora mrežnog napona ili radio emisija, može doći do smetnji. Kako bi se smanjile smetnje, potrebno je uključiti kondenzator C5 u krug. TDA7056 je dizajniran za izlazni zvučnik od 16 Ohma, nažalost nemam ga. Morao sam koristiti zvučnik od 4 ohma od 3 vata, koji je bio spojen preko otpornika od 50 ohma od jednog vata. Prenizak otpor zavojnice zvučnika uzrokuje prekomjernu snagu i pregrijavanje pojačala. Općenito, zbog dodatnog otpornika, ULF se ne zagrijava, ali daje sasvim prihvatljivo pojačanje.



sl.2. Krug IR prijemnika s ULF



Fotografija IR prijemnika

U ovoj lekciji ćemo pogledati spajanje IR prijemnika na Arduino. Reći ćemo vam koju biblioteku treba koristiti za IC prijemnik, demonstrirati skicu za testiranje rada infracrvenog prijemnika s daljinskog upravljača i analizirati naredbe u C++ za primanje upravljačkog signala.

IR prijamnik. Princip rada

Prijemnici infracrvenog zračenja imaju široku primjenu u elektroničkoj tehnici zbog pristupačne cijene, jednostavnosti i lakoće korištenja. Ovi uređaji omogućuju upravljanje uređajima pomoću daljinskog upravljača i mogu se naći u gotovo svim vrstama opreme.

Princip rada IC prijemnika. Obrada signala s daljinskog upravljača

IR prijemnik na Arduinu sposoban je primiti i obraditi infracrveni signal u obliku impulsa zadanog trajanja i frekvencije. Tipično, IR prijemnik ima tri noge i sastoji se od sljedećih elemenata: PIN fotodioda, pojačalo, pojasni filtar, detektor amplitude, integrirajući filtar i izlazni tranzistor.

Pod utjecajem infracrvenog zračenja u fotodiodi, koja ima između str I n regije stvorile su dodatnu regiju poluvodiča ( ja-regija), počinje teći struja. Signal ide u pojačalo, a zatim u pojasni filtar, koji štiti prijemnik od smetnji. Smetnje mogu biti uzrokovane bilo kojim kućanskim aparatom.

Pojasni filtar postavljen je na fiksnu frekvenciju: 30; 33; 36; 38; 40 i 56 kiloherca. Kako bi signal s daljinskog upravljača mogao primiti Arduino IR prijemnik, daljinski upravljač mora biti na istoj frekvenciji na koju je postavljen filter u IR prijemniku. Nakon filtra, signal ide u detektor amplitude koji integrira filtar i izlazni tranzistor.

Kako spojiti IR prijemnik na Arduino

Kućišta infracrvenih prijamnika sadrže optički filtar za zaštitu uređaja od vanjskih elektromagnetskih polja, izrađena su posebnog oblika za fokusiranje primljenog zračenja na fotodiodu. Za spajanje IR prijemnika na Arduino UNO koriste se tri noge koje se spajaju na portove - GND, 5V i A0.

Za ovu lekciju trebat će nam sljedeći detalji:

  • Arduino Uno ploča;
  • Daska za kruh;
  • USB kabl;
  • IR prijemnik;
  • Daljinski upravljač;
  • 1 LED;
  • 1 otpornik 220 Ohma;
  • Žice "mapa-mapa" i "mapa-ženski".

Dijagram spajanja IR prijemnika na Arduino analogni port

Spojite IR prijemnik prema dijagramu i LED diode na pinove 12 i 13 i prenesite skicu.

#uključi // spojite knjižnicu za IR prijemnik IRrecv irrecv(A0); // označava pin na koji je spojen IR prijemnik decode_results rezultati; void setup () // procedure setup ( irrecv.enableIRIn (); // početi primati infracrveni signal pinMode(13, IZLAZ); // pin 13 će biti izlaz pinMode(12, IZLAZ); // pin 12 će biti izlaz pinMode(A0,ULAZ); // pin A0 će biti ulaz (eng. “intput”) Serial.begin(9600); // spojite monitor porta) void petlja () // petlja procedure ( if (irrecv.decode (&results)) // ako su podaci stigli, izvršiti naredbe( Serijski .println(rezultati.vrijednost); // poslati primljene podatke na port // paljenje i gašenje LED dioda, ovisno o primljenom signalu if (results.value == 16754775) ( digitalWrite (13, HIGH); ) if (results.value == 16769055) ( digitalWrite (13, LOW); ) if (results.value == 16718055) ( digitalWrite (12, HIGH); ) if (results.value == 16724175) ( digitalWrite (12, LOW); ) irrecv.resume (); // primiti sljedeći signal na IC prijemniku } }

Objašnjenja koda:

  1. Knjižnica IRremote.h sadrži skup naredbi i omogućuje vam da pojednostavite skicu;
  2. Naredba decode_results dodjeljuje naziv varijable results primljenim signalima s daljinskog upravljača.

Na što obratiti pozornost:

  1. Da biste mogli kontrolirati uključivanje LED-a, morate uključiti monitor porta i saznati koji signal šalje ovaj ili onaj gumb na daljinskom upravljaču;
  2. Dobivene podatke unijeti u skicu. Promijenite osmoznamenkasti kod u skici iza dvostrukog znaka jednakosti if (results.value == 16769055) u svoj.

Uređaj IC prijamnika, rad i ispitivanje

IR prijemnici infracrvenog zračenja postali su rašireni u televiziji, kućanstvu, medicinskoj opremi i drugoj opremi. Mogu se vidjeti u gotovo svim vrstama elektroničke opreme; njima se upravlja pomoću daljinskog upravljača.


rad i blok shema IC prijemnika

Tipično, mikrosklop IR prijemnika ima tri ili više pinova. Jedan je zajednički i spojen je na minus napajanja GND, drugi u plus V s, a treći je izlaz primljenog signala Van.

Za razliku od standardne IR fotodiode, IR prijemnik može ne samo primati, već i obrađivati ​​infracrveni signal u obliku impulsa fiksne frekvencije i zadanog trajanja. Ovo štiti uređaj od lažnih alarma, pozadinskog zračenja i smetnji drugih kućanskih aparata koji emitiraju u IR rasponu. Fluorescentne štedne žarulje s elektroničkim balastnim krugom mogu stvoriti prilično jake smetnje za prijemnik.

Mikrosklop tipičnog prijemnika IR zračenja uključuje: PIN fotodiodu, varijabilno pojačalo, pojasni filtar, detektor amplitude, integrirajući filtar, uređaj za podešavanje praga, izlazni tranzistor

PIN fotodioda je iz obitelji fotodioda, u kojoj se između n i p područja stvara još jedna regija vlastitog poluvodiča (i-regija) - to je u biti sloj čistog poluvodiča bez nečistoća. To je ono što PIN diodi daje posebna svojstva. U normalnom stanju, kroz PIN fotodiodu ne teče struja, budući da je spojena na krug u suprotnom smjeru. Kada se pod utjecajem vanjskog IR zračenja u i-području generiraju parovi elektron-šupljina, kroz diodu počinje teći struja. Što onda ide u varijabilno pojačalo.

Zatim signal iz pojačala ide na pojasni filtar koji štiti od smetnji u IR rasponu. Pojasni filtar postavljen je na strogo fiksnu frekvenciju. Tipično se koriste filtri koji su postavljeni na frekvenciju od 30; 33; 36; 36.7; 38; 40; 56 i 455 kiloherca. Kako bi signal koji emitira daljinski upravljač mogao primiti IR prijemnik, on mora biti moduliran istom frekvencijom na koju je konfiguriran filter.

Nakon filtra, signal ide u detektor amplitude i integrirajući filtar. Potonji je neophodan za blokiranje kratkih pojedinačnih izboja signala koji se mogu pojaviti zbog smetnji. Zatim, signal ide do uređaja praga i izlaznog tranzistora. Za stabilan rad, pojačanje pojačala podešava se sustavom automatske kontrole pojačanja (AGC).

Kućišta IR modula izrađena su posebnog oblika koji olakšava fokusiranje primljenog zračenja na osjetljivu površinu fotoćelije. Materijal kućišta propušta zračenje sa strogo definiranom valnom duljinom od 830 do 1100 nm. Dakle, uređaj koristi optički filter. Za zaštitu unutarnjih elemenata od vanjskih utjecaja. polja koristi se elektrostatički zaslon.

Provjera IR prijemnika

Budući da je prijemnik IR signala specijalizirani mikrosklop, kako bi se osigurao njegov rad, potrebno je primijeniti napon napajanja na mikro krug, obično 5 volti. Trenutna potrošnja bit će oko 0,4 - 1,5 mA.

Ako prijemnik ne prima signal, tada u pauzama između nizova impulsa napon na njegovom izlazu praktički odgovara naponu napajanja. To je između GND a izlazni signal se može izmjeriti bilo kojim digitalnim multimetrom. Također se preporučuje mjerenje struje koju troši mikrokrug. Ako premašuje standardni (vidi referentnu knjigu), tada je najvjerojatnije mikro krug neispravan.

Dakle, prije početka testiranja modula, svakako odredite pinout njegovih izlaza. Obično je ove informacije lako pronaći u našem mega-imeniku tablica podataka o elektronici. Možete ga preuzeti klikom na sliku desno.

Provjerimo to na čipu TSOP31236; njegov pinout odgovara gornjoj slici. Spojimo pozitivni terminal iz domaćeg napajanja na pozitivni terminal IR modula (Vs), a negativni terminal na GND terminal. I spojimo treći OUT pin na pozitivnu sondu multimetra. Spojimo negativnu sondu na zajedničku GND žicu. Prebacite multimetar u način rada istosmjernog napona na 20 V.

Čim paketi infracrvenih impulsa počnu pristizati na fotodiodu IR mikrosklopa, napon na njenom izlazu će pasti za nekoliko stotina milivolti. U ovom slučaju bit će jasno vidljivo kako se vrijednost na zaslonu multimetra smanjuje s 5,03 volta na 4,57. Ako otpustimo tipku daljinskog upravljača, ekran će ponovno prikazati 5 volti.

Kao što vidite, prijemnik IR zračenja ispravno reagira na signal s daljinskog upravljača. To znači da je modul u redu. Na sličan način možete provjeriti sve module u integriranom dizajnu.

Infracrveni daljinski upravljač jedan je od najlakših načina za interakciju s elektroničkim uređajima. Dakle, gotovo svaki dom ima nekoliko takvih uređaja: TV, stereo sustav, video player, klima uređaj. Ali najzanimljivija upotreba infracrvenog daljinskog upravljača je daljinsko upravljanje robotom. Zapravo, u ovoj lekciji pokušat ćemo implementirati ovu metodu upravljanja pomoću popularnog Arduino Uno kontrolera.

1. IR daljinski upravljač

Što je potrebno za učenje robota da sluša infracrveni (IR) daljinski upravljač? Prvo, trebamo sam daljinski upravljač. Možete koristiti obični daljinski upravljač za televizor ili možete kupiti minijaturni daljinski upravljač za vaš auto radio. Ove vrste daljinskih upravljača često se koriste za upravljanje robotima. Ovaj daljinski upravljač ima 10 digitalnih tipki i 11 tipki za upravljanje glazbom: glasnoća, premotavanje unatrag, reprodukcija, zaustavljanje itd. Više nego dovoljno za naše potrebe.

2. IR senzor

Drugo, za primanje signala s daljinskog upravljača potreban nam je poseban IR senzor. Općenito, infracrveno zračenje možemo detektirati konvencionalnom fotodiodom/fototranzistorom, ali za razliku od njega, naš IR senzor percipira infracrveni signal samo na frekvenciji od 38 kHz (ponekad 40 kHz). To je svojstvo koje omogućuje senzoru da zanemari mnogo vanjske svjetlosne buke od rasvjetnih lampi i sunca. Za ovaj vodič koristit ćemo popularni IR senzor VS1838B, koji ima sljedeće karakteristike:
  • noseća frekvencija: 38 kHz;
  • napon napajanja: 2,7 - 5,5 V;
  • potrošnja struje: 50 µA.
Mogu se koristiti i drugi senzori, na primjer: TSOP4838, TSOP1736, SFH506.

3. Povezivanje

Senzor ima tri izvoda (tri noge). Ako pogledate senzor sa strane prijemnika IR signala, kao što je prikazano na slici,
  • tada će s lijeve strane biti izlaz za kontroler,
  • u sredini - negativni kontakt napajanja (zemlja),
  • a desno - pozitivni kontakt napajanja (2,7 - 5,5 V).
Shematski dijagram veze Izgled rasporeda

4. Program

Nakon povezivanja IR senzora, napisat ćemo program za Arduino Uno. Da bismo to učinili, koristit ćemo standardnu ​​biblioteku IRdaljinski, koji je dizajniran posebno za pojednostavljenje rada s primanjem i odašiljanjem IC signala. Pomoću ove biblioteke primat ćemo naredbe s daljinskog upravljača, a za početak ih jednostavno prikazati u prozoru monitora serijskog porta. Ovaj program će nam biti koristan kako bismo razumjeli koji kod daje svaki gumb. #include "IRremote.h" IRrecv irrecv(2); // označava pin na koji je prijamnik spojen decode_results results; void setup() ( Serial.begin(9600); // postavljanje brzine COM porta irrecv.enableIRIn(); // početak primanja ) void loop() ( if (irrecv.decode(&results)) ( // if podaci su stigli Serial .println(results.value, HEX); // ispis podataka irrecv.resume(); // prihvatite sljedeću naredbu ) ) Učitajte program na Arduino. Nakon toga pokušavamo primati naredbe s daljinskog upravljača. Otvorite monitor serijskog porta (Ctrl+Shift+M), podignite daljinski upravljač i usmjerite ga prema senzoru. Pritiskom na različite gumbe promatramo kodove koji odgovaraju tim gumbima u prozoru monitora. Problem s učitavanjem programa U nekim slučajevima, prilikom pokušaja učitavanja programa u kontroler, može se pojaviti pogreška: TDK2 nije deklariran u svom djelokrugu Da biste to popravili, samo izbrišite dvije datoteke iz mape knjižnice. Idemo do istraživača. Idite u mapu u kojoj je instalirana Arduino IDE aplikacija (najvjerojatnije “C:\Program Files (x86)\Arduino”). Zatim u mapu knjižnice: …\Arduino\libraries\RobotIRremote, i izbrišite datoteke: IRremoteTools.cpp I IRremoteTools.h. Zatim ponovno pokrećemo Arduino IDE i ponovno pokušavamo učitati program na kontroler.

5. Upravljajte LED-om pomoću IR daljinskog upravljača

Sada kada znamo koji kodovi odgovaraju tipkama na daljinskom upravljaču, pokušavamo programirati upravljač da pali i gasi LED kada se pritisnu tipke za glasnoću. Za to su nam potrebni kodovi (mogu varirati ovisno o daljinskom upravljaču):
  • FFA857 - povećanje volumena;
  • FFE01F - smanjenje glasnoće.
Kao LED diodu koristimo ugrađenu LED diodu na pinu br. 13, tako da će shema spajanja ostati ista. Dakle, program: #include "IRremote.h" IRrecv irrecv(2); // označava pin na koji je prijamnik spojen decode_results results; void setup() ( irrecv.enableIRIn(); // početak primanja ) void loop() ( if (irrecv.decode(&results)) ( // ako su podaci stigli prebacivanje (results.value) ( ​​​​case 0xFFA857: digitalWrite( 13, HIGH); break; case 0xFFE01F: digitalWrite(13, LOW); break; ) irrecv.resume(); // prihvatite sljedeću naredbu ) ) Učitajte na Arduino i testirajte. Klik volumen+— LED svijetli. Klik vol-- izlazi van. Sada, znajući kako sve to radi, možete upravljati motorima robota ili drugim kućnim mikroelektroničkim uređajima umjesto LED-a!