Šta je IR prijemnik? U satelitski prijemnik ugrađujemo dodatni IR prijemnik. Šema povezivanja IR prijemnika

dijagram iz časopisa "Mladi tehničar".

Zanimljiv pravac u radio elektronici, koji je ovu elektroniku dopunio novim prednostima "nevidljive" svjetlosti (infracrveno svjetlo). Stoga predlažem sklop jednostavnog (na primjer) prijemnika i odašiljača na bazi infracrvenih zraka. Osnova: operaciono pojačalo k140ud7 (imam ud708 ovde), emituju i primaju IC fotodiode, ULF (k548un1a (b,c - indeksi) - za dva kanala) (mada gde da se "uključuje" drugi kanal pojačala zavisi od Vi odlučujete - sklop predajnika je dizajniran za jedan kanal, tj. mono). Napajanje za uređaj: generalno ga preporučujem uz pristojnu stabilizaciju struje (inače "dandy" adapter iritira pozadinu "mreže"). Metoda: amplitudno modulirani signal predajnika se pojačava prijemnikom 1000 puta.

Kako uređaj radi. Predlažem da pogledate kratak video o testiranju IR daljinskog upravljača “na uho”. Funkcionalnost i jačinu signala možete brzo provjeriti zvukom.

Krug IR prijemnika i IR predajnika

Prilikom sklapanja, kondenzatori C1 i C2 trebaju biti što bliže pojačalu! Na izlaz možete spojiti slušalice visoke impedancije (oni sa niskom impedancijom zahtijevaju poseban ULF). Fotodioda FD7 (imam FD263: "tablet" sa sočivom za fokusiranje); Otpornici od 0,125 W: R1 i R4 postavljaju faktor pojačanja signala za 1000 puta. Prijemnik je jednostavan za postavljanje: fotodioda se usmjerava na izvor IR zračenja, na primjer, lampu od 220V-50Hz: nit će biti fonit sa frekvencijom od 50Hz ili daljinski upravljač za TV (video, itd.). Osetljivost prijemnika je visoka: normalno prima signale reflektovane od zidova.

Odašiljač ima AL107a IR LED diode: bilo koja će odgovarati. R2 2 kOhm, C1 1000μFx25V, C2 200μFx25V, bilo koji transformator. Iako je sasvim moguće bez transformatora - dovedite pojačani audio signal na kondenzator C2.

Dijagram uređaja

Krug IR prijemnika sa ULF

Nedavno sam iz nužde sastavio IR prijemnik za testiranje IR daljinskih upravljača (TV i DVD). Nakon finalizacije kola, 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 IR prijemniku da radi čak i na naponu od 3V; TDA opseg pojačanja od 20 Hz do 20 kHz (UD708 prolazi do 800 kHz) je sasvim dovoljan da se prijemnik koristi kao audio pratnja; ima zaštitu od kratkog spoja na svim "nogama"; zaštita od "pregrijavanja"; slab koeficijent samosmetnje. Sve u svemu, svidio mi se ovaj kompaktan i pouzdan ULF (naša cijena je 90 rubalja).
Za to postoji detaljan opis. Na slici 1 prikazan je primjer korištenja pojačala.


Fotografija TDA7056


Fig.1. Krug pojačala sa TDA7056

Rezultat je bio IR prijemnik, slika 2, koji radi u opsegu napona od 3V do 12V. Preporučujem korištenje baterija ili punjivih baterija za napajanje prijemnika. Kada koristite napajanje, potreban je stabilizirani izvor, inače će se čuti pozadina mreže od 50Hz, koja pojačava UD708. Ako se uređaj nalazi u blizini izvora mrežnog napona ili radio emisija, može doći do smetnji. Da bi se smanjile smetnje, potrebno je u krug uključiti kondenzator C5. TDA7056 je dizajniran za izlazni zvučnik od 16 Ohma, nažalost ja ga nemam. Morao sam koristiti zvučnik od 4 oma i 3 vata, koji je bio povezan preko otpornika od 50 oma od jednog vata. Prenizak otpor zavojnice zvučnika uzrokuje višak snage i pregrijava pojačalo. Općenito, zbog dodatnog otpornika, ULF se ne zagrijava, ali pruža sasvim prihvatljivo pojačanje.

Komandni prijemnik IR daljinskog upravljača za upravljanje kućnim aparatima može se lako napraviti pomoću decimalnog brojača CD4017, NE555 tajmera i TSOP1738 infracrvenog prijemnika.

Koristeći ovaj sklop IR prijemnika, možete lako upravljati svojim kućanskim aparatima pomoću daljinskog upravljača za TV, DVD playera ili pomoću kruga daljinskog upravljača opisanog na kraju članka.

Krug IR prijemnika za daljinsko upravljanje

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

Kada IR zraci na frekvenciji od 38 kHz padnu na TSOP1738 IR prijemnik, na njegovom izlazu 3 pojavljuje se nizak nivo napona, a kada IR zraci nestanu, ponovo se pojavljuje visoki nivo. Ovaj negativni impuls se pojačava tranzistorom Q1, koji propušta pojačani frekvencijski signal na ulaz decimalnog brojača CD4017. Kontra igle 16 i 8 su namijenjene za napajanje. Pin 13 je spojen na masu, čime je omogućen njegov rad.

Izlaz Q2 (pin 4) je povezan na pin za resetovanje (pin 15) kako bi CD4017 radio u bistabilnom multivibratorskom modu. Tokom prvog impulsa, log1 se pojavljuje na Q0, drugi signal takta uzrokuje da se log1 pojavi na Q1 (Q0 pada na nisko), a na trećem signalu ponovo daje log1 na Q0 (Q2 je povezan na MR, tako da se treći signal takta resetuje brojač).

Pretpostavimo da je brojač resetovan (Q0 je visok, a ostali su niski). Kada pritisnete dugme na daljinskom upravljaču, signal sata utiče na brojač, što dovodi do visokog nivoa na Q1. Tako LED D1 svijetli, tranzistor Q2 se uključuje i relej se aktivira.

Kada se dugme daljinskog upravljača ponovo pritisne, na pin Q0 se pojavljuje dnevnik 1, relej se isključuje i LED D2 svetli. LED D1 pokazuje kada je uređaj uključen, a LED D2 kada je uređaj isključen.

Možete koristiti daljinski upravljač za TV za upravljanje ili sastaviti poseban prema dijagramu ispod.

  • Ulazni napon: 2,7 ... 5,5 V
  • Potrošnja struje: 0,65 ... 1,05 mA (pri Vcc = 5V) nominalno 0,9 mA
  • Noseća frekvencija: 38 kHz
  • Talasna dužina svjetlosti: 850 ... 1050 nm (prođe kroz filter više od 80%)
  • Osetljivost: 0,17…30000 mW/m2 (na snagu svetlosnog toka)
  • Udaljenost prijema: do 45 m
  • Radna temperatura: -25 … 85 °C
  • Ugao usmjerenja: ±45°

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

Veza:

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

Pogodno je povezati modul na 3 načina, ovisno o situaciji:

Metoda - 1: Koristeći žičani kabel i Piranha UNO


Biblioteka koristi drugi hardverski tajmer,

NEMOJTE IZLAZITI PWM SIGNALE NA 3 ILI 11 IZLAZ!

Više o instaliranju biblioteke pročitajte u našem...

Dodatne informacije o radu sa modulom:

Paketi: Gotovo svi daljinski upravljači šalju ne samo informacijski paket (koji ukazuje na tip uređaja i kod pritisnutog dugmeta), već i ponavljaju pakete, obavještavajući uređaj da se dugme drži pritisnuto. Na taj način prijemni uređaj može odgovoriti na jednokratno ili cijelo vrijeme pritiska na dugme.

Na primjer: pritiskom i držanjem dugmeta sa brojem TV kanala, TV će se prebaciti na taj kanal samo jednom. Dok pritiskate i držite dugme za pojačavanje zvuka, TV će ga pojačavati sve vreme dok držite dugme.

Broj informativnih paketa Većina daljinskih upravljača ima jedan, ali neki uređaji, kao što su klima uređaji, koriste 2, 3 ili više paketa informacija.

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

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

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

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

Frekvencija nosioca: za većinu daljinskih upravljača je 38 kHz; na tu frekvenciju je podešen Trema IR prijemnik.

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

  • Kodiranje dužine impulsa - prvo se prenosi impuls čija dužina zavisi od vrijednosti prenesenog bita, nakon čega slijedi pauza čija dužina ne ovisi o vrijednosti bita. Na primjer: u SIRC protokolu (Sony), dužina impulsa za bit “1” = 1200 µs, a za bit “0” = 600 µs, dužina pauze je uvijek 600 µs. Na ovaj način možete razlikovati “1” od “0” po dužini impulsa.
  • kodiranje dugih pauza - prvo se prenosi impuls čija dužina ne zavisi od vrednosti prenetog bita, zatim sledi pauza čija dužina zavisi od vrednosti bita. Na primjer: u NEC protokolu, dužina pauze za bit “1” = 1687,5 µs, a za bit “0” = 562,5 µs, dužina impulsa je uvijek 562,5 µs. Dakle, možete razlikovati “1” od “0” po dužini pauze.
  • dvofazno kodiranje - dužina impulsa je jednaka dužini pauze, a njihov redoslijed određuje tip bita koji se prenosi. Na primjer: u RS5 protokolu (Philips), za bit "1" impuls slijedi pauzu, 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.

Start, Stop i Prebaci signali: prema svom nazivu, nalaze se na početku, kraju ili sredini pakovanja.

zaustaviti: Prilikom kodiranja duge pauze nemoguće je odrediti vrijednost posljednjeg bita u paketu, jer nakon paketa slijedi duga pauza, a posljednji bit će uvijek biti definiran kao "1", pa se dodaje Stop signal paketu, što je impuls koji ne nosi nikakvu informaciju.

Početak: Kod dvofaznog kodiranja potreban je signal Start, jer je nemoguće započeti prijenos paketa iz pauze.

Uključi/isključi: Ovo je bit koji mijenja svoju vrijednost svakim novim pritiskom na dugme, a koristi se u RS5, RS5X, RS6 (Philips) protokolima, gdje ponovljeni paketi u potpunosti ponavljaju podatke informacijskog paketa. Na ovaj način prijemni uređaj može razlikovati između držanja dugmeta i njegovog ponovnog pritiska.

primjeri:

Provjera dostupnosti podataka primljenih od IR daljinskog upravljača vrši se funkcijom check(). Ova funkcija reaguje na pritiskanje tastera na IC daljinskom upravljaču, ali ako se pozove sa parametrom true, takođe će reagovati na držanje dugmadi.

Čitajući podatke sa bilo kog daljinskog upravljača, reagujemo samo na pritiske tastera:

#include // Povezivanje biblioteke za rad sa IR prijemnikom iarduino_IR_RX IR(7); // Deklarirajte IR objekt, naznačujući pin na koji je povezan IR prijemnik void setup())( Serial.begin(9600); // Pokreni prijenos podataka na monitor serijskog porta, brzinom od 9600 bps IR.begin (); / / Pokreni rad sa IR prijemnikom) void loop())( if(IR.check())( // Ako bafer sadrži podatke primljene sa daljinskog upravljača (pritisnuto je dugme) Serial.println(IR .data, HEX); / / Iznesite kod pritisnute tipke Serial.println(IR.length); // Iznesite broj bitova u kodu ) )

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

Čitajući podatke sa bilo kog daljinskog upravljača, odgovaramo na pritiskanje dugmadi:

#include // Povezivanje biblioteke za rad sa IR prijemnikom iarduino_IR_RX IR(6); // Deklarirajte IR objekt, naznačujući pin na koji je povezan IR prijemnik void setup())( Serial.begin(9600); // Pokreni prijenos podataka na monitor serijskog porta, brzinom od 9600 bps IR.begin (); / / Pokreni rad sa IR prijemnikom) void loop())( if(IR.check(true))( // Ako bafer sadrži podatke primljene sa daljinskog upravljača (dugme se drži pritisnuto) Serial.println (IR.data, HEX); / / Iznesite kod pritisnute tipke Serial.println(IR.length); // Iznesite broj bitova u kodu ) )

U ovoj skici, funkcija check() se poziva sa parametrom true, što znači da reaguje i na pritiskanje i držanje dugmadi IR daljinskog upravljača.

Čitanje podataka sa bilo kog daljinskog upravljača, koji pokazuje kako treba reagovati na koje tipke.

#include // Povezivanje biblioteke za rad sa IR prijemnikom iarduino_IR_RX IR(6); // Deklarišite IR objekat, ukazujući na pin na koji je povezan IR prijemnik // bool flgKey1 = false; uint32_t codKey1 = 0xFF30CF; // Definirajte zastavicu klika i kod dugmeta 1 bool flgKey2 = false; uint32_t codKey2 = 0xFF18E7; // Definiraj zastavicu klika i kod dugmeta 2 bool flgKey3 = false; uint32_t codKey3 = 0xFF7A85; // Definiraj zastavicu klika i kod dugmeta 3 bool flgKey = false; uint32_t tmrKey = 0; // Definirajte zastavicu koja omogućava izlaz podataka na monitor i vrijeme posljednjeg pritiska na tipku. // void setup())( // Serial.begin(9600); // Pokreni prijenos podataka na monitor serijskog porta, brzinom od 9600 bps IR.begin(); // Pokreni rad sa IR prijemnikom) / / / / void loop())( // if(IR.check(true))( // Ako bafer sadrži podatke primljene od daljinskog upravljača (dugme se drži pritisnuto), onda... if(millis() -200 > tmrKey)( / / Ako je prošlo više od 200 ms od posljednje primljene naredbe, tada flgKey1=false; // Smatramo da se dugme 1 ne drži flgKey2=false; // Smatramo da dugme 2 nije zadržano flgKey3=false; // Smatramo da dugme 3 nije zadržano) tmrKey = millis(); flgKey=true; // Sačuvajte vreme poslednje reakcije na daljinski upravljač i dozvolite izlaz podataka if(IR.data==codKey1 )( if(flgKey1)(flgKey=false;) flgKey1=true; )else(flgKey1= false;) // Zabranjujemo izlaz podataka tipke 1 kada se drži pritisnuto if(IR.data==codKey2)( if (flgKey2)(flgKey=false;) flgKey2=true; )else(flgKey2=false;) // Zabranjujemo izlaz dugmeta podataka 2 dok ga držimo if(IR.data==codKey3)( if(flgKey3)(flgKey =false;) flgKey3=true; )else(flgKey3=false;) // Zabrana izlaza podataka tipke 3 kada se drži pritisnuto if(flgKey)( // Ako je izlaz podataka dozvoljen, onda... Serial.println(IR.data, HEX); // Izlaz kod pritisnutog dugmeta Serial.println(IR.length); // Izlaz broja bitova u kodu ) // ) // ) //

U ovoj skici, funkcija check() se poziva sa parametrom true, što znači da reaguje na pritiskanje i držanje dugmadi IR daljinskog upravljača. Ali podaci se izlaze na monitor serijskog porta samo kada je postavljena zastavica flgKey, koja se resetuje kada se tasteri sa kodovima 0xFF30CF, 0xFF18E7 i 0xFF7A85 drže pritisnuti. Ispostavilo se da skica reaguje na 3 dugmeta samo kada se pritisne, a na preostala dugmeta i kada se pritisne i zadrži.

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

#include // Povezivanje biblioteke za rad sa IR prijemnikom iarduino_IR_RX IR(5); // Deklarirajte IR objekt, naznačujući pin na koji je povezan IR prijemnik void setup())( Serial.begin(9600); // Pokreni prijenos podataka na monitor serijskog porta, brzinom od 9600 bps IR.begin (); / / Pokreni rad sa IR prijemnikom IR.protocol("Ae`` `|LJ` @@@@BPBp"); // Odredi protokol za prijenos podataka na koji treba odgovoriti ) void loop())( if (IR.check( true))( // Ako bafer sadrži podatke primljene od daljinskog upravljača (dugme se drži pritisnuto) Serial.println(IR.data, HEX); // Izlazi kod pritisnute tipke Serial. println(IR.length); // Iznesite broj bitova u kodu) )

U ovoj skici, u kodu setup(), naznačen je protokol za prijenos podataka, koji se rijetko poklapa između različitih proizvođača IR daljinskih upravljača. To znači da će funkcija check() u kodu petlje() odgovoriti samo na one IR daljinske upravljače koji podržavaju navedeni protokol.

Dobivanje protokola za prijenos podataka i tipa kodiranja:

#include // Povezivanje biblioteke za rad sa IR prijemnikom iarduino_IR_RX IR(4); // Deklarirajte IR objekt, naznačujući pin na koji je povezan IR prijemnik void setup())( Serial.begin(9600); // Pokreni prijenos podataka na monitor serijskog porta, brzinom od 9600 bps IR.begin (); / / Pokreni rad sa IR prijemnikom) void loop())( if(IR.check())( // Ako bafer sadrži podatke primljene sa daljinskog upravljača (pritisnuto je dugme) Serial.println(IR .protocol()); / / Izlaz niza protokola za prijenos podataka ) )

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

Na ovaj način možete kreirati skicu IR predajnika za simulaciju signala različitih IR daljinskih upravljača. Kao rezultat toga, uređaji će reagirati na IC predajnik kao da reaguju na vlastiti IR daljinski upravljač.

Opis glavnih funkcija biblioteke:

Povezivanje biblioteke:

#include // Povežite biblioteku za rad sa IR prijemnikom. iarduino_IR_RX IR(PIN_NO[, INVERT]); // Deklarirajte IR objekat, naznačujući pin broj na koji je IR prijemnik povezan. // Drugi parametar, tipa bool, može naznačiti da su podaci iz prijemnika invertirani.

Funkcija begin();

  • Svrha: inicijalizacija rada sa IC prijemnikom
  • Sintaksa: begin();
  • Opcije: Ne.
  • Povratne vrijednosti: Nema.
  • Napomena: Poziva se jednom u kodu za podešavanje.
  • primjer:
IR.begin(); // Pokreni rad sa IR prijemnikom

Provjera funkcije();

  • Svrha: Provjera dostupnosti podataka primljenih sa daljinskog upravljača.
  • Sintaksa: check([ HOLD]);
  • Opcije:
    • HOLD - opcioni parametar, tipa bool - koji označava da je potrebno reagovati na držanje dugmadi na daljinskom upravljaču.
  • Povratne vrijednosti: bool - da li su podaci s daljinskog upravljača prihvaćeni ili ne.
  • Napomena: Ako je funkcija pozvana bez parametra ili je lažna, tada će funkcija reagirati samo na signale daljinskog upravljača kada se pritisnu njeni gumbi, a ako navedete true, funkcija će reagirati i na pritisak i na držanje dugmad za daljinsko upravljanje.
  • primjer:
if(IR.check())( ... ;) // Ako su podaci primljeni sa daljinskog upravljača, kada pritisnete njegovo dugme if(IR.check(true))( ... ;) // Ako su podaci primljeno sa daljinskog upravljača, kada držite dugme

Funkcijski protokol();

  • Svrha: Prijem, podešavanje ili resetiranje protokola za prijenos podataka.
  • Sintaksa: protokol([ PARAMETER ]);
  • Dobivanje protokola: Ako je funkcija pozvana bez parametra, vratit će niz od 25 znakova + znak za kraj reda. Bitovi ove linije nose informaciju o tipu protokola prenosa podataka daljinskog upravljača čiji su podaci zadnji put primljeni. Ova linija se može koristiti za postavljanje protokola za IR predajnik ili IR prijemnik (vidi dolje).
  • Postavljanje protokola: Ako je funkcija pozvana s parametrom u obliku niza od 25 znakova protokola + znak za kraj reda, onda će nakon toga funkcija chek() odgovoriti samo na daljinske kontrole koje su u skladu sa navedenim podacima protokol prenosa.
  • Resetiranje protokola: Ako je funkcija pozvana s parametrom IR_CLEAN, tada će funkcija chek() ponovno odgovoriti na signale s bilo kojeg daljinskog upravljača.
  • Prijem parametara protokola: Ako je funkcija pozvana s parametrom int, od 0 do 17, tada će vratiti ne niz protokola, već vrijednost int s jednim od parametara protokola za prijenos podataka konzole čiji su podaci zadnji put primljeni. :
    • 0 - tip kodiranja:
      • IR_UNDEFINED - tip kodiranja je nedefiniran;
      • IR_PAUSE_LENGTH - duga pauza kodiranja;
      • IR_PULSE_LENGTH - kodiranje dugim (širinskim) impulsom (PWM);
      • IR_BIPHASIC - dvofazno kodiranje;
      • IR_BIPHASIC_INV - dvofazno kodiranje sa obrnutim bitovima;
      • IR_NRC - ponovljeni paketi su identični, ali su prvi i zadnji paket posebni;
      • IR_RS5 - PHILIPS kodiranje sa preklopnim bitom;
      • IR_RS5X - PHILIPS kodiranje sa preklopnim bitom;
      • IR_RS6 - PHILIPS kodiranje sa preklopnim bitom.
    • 1 - frekvencija nosioca prenosa podataka (u kHz);
    • 2 - deklarisani broj bitova informacija u 1 paketu;
    • 3 - deklarisani broj bitova informacija u paketu koji se ponavlja;
    • 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 stop bitu (u μs);
    • 8 - trajanje pauze u stop bitu (u μs);
    • 9 - trajanje impulsa u bitu za ponovno pokretanje ili prebacivanje (u μs);
    • 10 - trajanje pauze u bitu za ponovno pokretanje ili prebacivanje (u μs);
    • 11 - pozicija bita za ponovno pokretanje ili prebacivanje u paketu (br. bita);
    • 12 - maksimalno trajanje impulsa u bitovima informacija (u μs);
    • 13 - minimalno trajanje impulsa u bitovima informacija (u μs);
    • 14 - maksimalno trajanje pauze u bitovima informacija (u μs);
    • 15 - minimalno trajanje pauze u bitovima informacija (u μs);
    • 16 - oznaka prisutnosti početnog bita (tačno/netačno);
    • 17 - oznaka prisutnosti stop bita (tačno/netačno);
    • 18 - oznaka za prisustvo bita za ponovno pokretanje ili prebacivanje (tačno/netačno);
    • 19 - tip paketa ponavljanja (0-nema, 1-sa obrnutim bitovima, 2-identično informativnom, 3-jedinstveno);
  • Povratne vrijednosti: Ovisi o prisutnosti i vrsti parametra.
  • Napomena: Ako je protokol prethodno postavljen, tada će se pokušajem dohvaćanja protokola ili parametara protokola vratiti vrijednosti prethodno postavljenog protokola, a ne protokola za prijenos podataka konzole čiji su podaci zadnji put primljeni.
  • primjer:
IR.protocol("AeQQV~zK]Kp^KJp[@@@@@@@Bp"); // Postavite protokol. Sada će prijemnik primati podatke samo sa daljinskih upravljača ELENBERG TV-a. IR.protokol(IR_CLEAN); // Resetujte prethodno instalirani protokol. Sada će prijemnik ponovo reagovati na bilo koji daljinski upravljač. if(IR.check())( Serial.println(IR.protocol()); ) // Dobiti protokol. Čim prijemnik primi podatke, na monitoru će biti prikazan niz od 25 znakova protokola. if(IR.check())( Serial.println(IR.protokol(12)); ) // Dobivamo jedan od parametara protokola. Čim prijemnik primi podatke, monitor će prikazati maksimalno trajanje impulsa informacijskog bita u mikrosekundama.

Varijabla podataka

  • Vrijednost: Vraća kod gumba primljen od daljinskog upravljača;
  • Tip podataka: uint32_t.
if(IR.check())( Serial.println(IR.data); ) // Ispiši kod pritisnutog dugmeta ako je prihvaćen

varijabla dužine

  • Vrijednost: Vraća veličinu koda gumba, u bitovima;
  • Tip podataka: uint8_t.
if(IR.check())( Serial.println(IR.length); ) // Ispiši veličinu koda pritisnutog dugmeta, ako je prihvaćeno

key_press varijabla

  • Značenje: Vraća zastavicu koja označava da se dugme daljinskog upravljača pritisne, a ne drži;
  • Tip podataka: bool.
if(IR.check(true))( if(IR.key_press)(Serial.println("PRESS");) // Tekst će se ispisati 1 put kada se pritisne dugme drugačije (Serial.println("HOLD " );) // Tekst će se kontinuirano prikazivati ​​dok se dugme drži pritisnuto)

primjena:

  • upravljanje robotima, pokretnim, letećim i plutajućim modelima, kućnom i specijalizovanom opremom.
  • uključivanje/isključivanje rasvjete, grijanja, ventilacije, zalijevanja itd.
  • otvaranje/zatvaranje vrata, roletni, krovni prozori, ventilacioni otvori itd.

IR prijemnik je standardni uređaj koji se povezuje 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ćnoj opremi (TV) biće prikladan za IR prijemnik. Na primjer: TSOP1836, IS1U60L, GP1U52X, SFH506-36 ili naš domaći TK1833. Stabilizator napona KREN5A je neophodan za napajanje IR prijemnika naponom od 5 V, jer 12 volti se napajaju 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, tako da ako nemate dovoljno slobodnog COM porta, ovo kolo se može koristiti paralelno sa mišem (ali ne i sa modemom)! Izlazni signal se može poslati ne samo na DCD, već i na druge pinove, kao što su CTS ili DSR. Svi ovi parametri se mogu podesiti u programu koji radi u IC prijemniku. Postoji nekoliko programskih opcija, a najčešći je WinLIRC. Također mogu preporučiti korištenje programa Girder.

Pinout i izgled glavnih elemenata kola

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

Pinout COM porta

Pinout i opis kontakata COM porta (25 pinova).

IR prijemnik igra važnu ulogu u našem svakodnevnom životu. Uz pomoć ovog mikrokola u mogućnosti smo da kontrolišemo moderne kućne aparate, TV, stereo sistem, auto radio, klima uređaj. Ovo nam omogućava da uradimo ovo, daljinski upravljač (RC), pogledajmo pobliže njegov rad, sklop, svrhu i testiranje. U članku kako sami provjeriti IR prijemnik.

Šta je IR prijemnik i kako radi?

Ovo je integrirano kolo, njegov direktni i glavni zadatak je primanje i obrada infracrvenog signala, koji emituje daljinski upravljač. Ovaj signal se koristi za upravljanje opremom.

Ovo mikrokolo je bazirano na pin fotodiodi, posebnom elementu, sa p-n spojem i i regijom između njih, analogno bazi tranzistora, kao u sendviču, pa evo skraćenice pin, jedinstvenog elementa u svom sopstveni put.

Uključuje se u obrnutom smjeru i ne propušta električnu struju. IR signal ulazi u i područje i provodi struju, pretvarajući je u napon.


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

U pravilu, nema posebnog smisla kupovati novi IR prijemnik u trgovini, jer se lako može odlemiti od raznih elektroničkih ploča. Ako sastavljate uređaj za provjeru daljinskog upravljača od otpadnog materijala, a da ne znate točnu oznaku uređaja, tada možete sami odrediti pinout.


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

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


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

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

Kako odrediti pinout infracrvenog prijemnika

Na primjer, uzeo sam meni potpuno nepoznato mikrokolo, koje je ležalo u kutiji s elementima, "minus" je određen tačkom koja se nalazi na poleđini elementa, "plus" je eksperimentalno određen kroz otpornik. Ništa nisam rizikovao, 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 tu 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. Slijedeći upute, kako sami provjeriti IR prijemnik.

dijagram iz časopisa "Mladi tehničar".

Zanimljiv pravac u radio elektronici, koji je ovu elektroniku dopunio novim prednostima "nevidljive" svjetlosti (infracrveno svjetlo). Stoga predlažem sklop jednostavnog (na primjer) prijemnika i odašiljača na bazi infracrvenih zraka. Osnova: operaciono pojačalo k140ud7 (imam ud708 ovde), emituju i primaju IC fotodiode, ULF (k548un1a (b,c - indeksi) - za dva kanala) (mada gde da se "uključuje" drugi kanal pojačala zavisi od Vi odlučujete - sklop predajnika je dizajniran za jedan kanal, tj. mono). Napajanje za uređaj: generalno ga preporučujem uz pristojnu stabilizaciju struje (inače "dandy" adapter iritira pozadinu "mreže"). Metoda: amplitudno modulirani signal predajnika se pojačava prijemnikom 1000 puta.

Kako uređaj radi. Predlažem da pogledate kratak video o testiranju IR daljinskog upravljača “na uho”. Funkcionalnost i jačinu signala možete brzo provjeriti zvukom.

Krug IR prijemnika i IR predajnika

Prilikom sklapanja, kondenzatori C1 i C2 trebaju biti što bliže pojačalu! Na izlaz možete spojiti slušalice visoke impedancije (oni sa niskom impedancijom zahtijevaju poseban ULF). Fotodioda FD7 (imam FD5.. neku vrstu "tablete" sa sočivom za fokusiranje - ne sjećam se tačnog naziva); Otpornici od 0,125 W: R1 i R4 postavljaju faktor pojačanja signala za 1000 puta. Prijemnik je jednostavan za postavljanje: fotodioda se usmjerava na izvor IR zračenja, na primjer, lampu od 220V-50Hz: nit će biti fonit sa frekvencijom od 50Hz ili daljinski upravljač za TV (video, itd.). Osetljivost prijemnika je visoka: normalno prima signale reflektovane od zidova.

Odašiljač ima AL107a IR LED diode: bilo koja će odgovarati. R2 2 kOhm, C1 1000μFx25V, C2 200μFx25V, bilo koji transformator. Iako je sasvim moguće bez transformatora - dovedite pojačani audio signal na kondenzator C2.

Dijagram uređaja

Nedavno sam iz nužde sastavio IR prijemnik za testiranje IR daljinskih upravljača (TV i DVD). Nakon finalizacije kola, 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 IR prijemniku da radi čak i na naponu od 3V; TDA opseg pojačanja od 20 Hz do 20 kHz (UD708 prolazi do 800 kHz) je sasvim dovoljan da se prijemnik koristi kao audio pratnja; ima zaštitu od kratkog spoja na svim "nogama"; zaštita od "pregrijavanja"; slab koeficijent samosmetnje. Sve u svemu, svidio mi se ovaj kompaktan i pouzdan ULF (naša cijena je 90 rubalja).
Ima ga sa. Na slici 1 prikazan je primjer korištenja pojačala.


Fotografija TDA7056



Fig.1. Krug pojačala sa TDA7056

Rezultat je bio IR prijemnik, slika 2, koji radi u opsegu napona od 3V do 12V. Preporučujem korištenje baterija ili punjivih baterija za napajanje prijemnika. Kada koristite napajanje, potreban je stabilizirani izvor, inače će se čuti pozadina mreže od 50Hz, koja pojačava UD708. Ako se uređaj nalazi u blizini izvora mrežnog napona ili radio emisija, može doći do smetnji. Da bi se smanjile smetnje, potrebno je u krug uključiti kondenzator C5. TDA7056 je dizajniran za izlazni zvučnik od 16 Ohma, nažalost ja ga nemam. Morao sam koristiti zvučnik od 4 oma i 3 vata, koji je bio povezan preko otpornika od 50 oma od jednog vata. Prenizak otpor zavojnice zvučnika uzrokuje višak snage i pregrijava pojačalo. Općenito, zbog dodatnog otpornika, ULF se ne zagrijava, ali pruža sasvim prihvatljivo pojačanje.



Fig.2. Krug IR prijemnika sa ULF



Fotografija IR prijemnika

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

IR prijemnik. Princip rada

Prijemnici infracrvenog zračenja se široko koriste u elektronskoj tehnologiji zbog pristupačne cijene, jednostavnosti i lakoće upotrebe. Ovi uređaji vam omogućavaju upravljanje uređajima pomoću daljinskog upravljača i mogu se naći u gotovo svakoj vrsti opreme.

Princip rada IR prijemnika. Obrada signala sa daljinskog upravljača

IR prijemnik na Arduinu je sposoban da prima i obrađuje infracrveni signal u obliku impulsa datog trajanja i frekvencije. Tipično, IR prijemnik ima tri kraka i sastoji se od sljedećih elemenata: PIN fotodiode, pojačala, propusnog filtera, detektora amplitude, integrirajućeg filtera i izlaznog tranzistora.

Pod uticajem infracrvenog zračenja u fotodiodi, koja ima između str I n regioni su stvorili dodatnu oblast poluprovodnika ( i-regija), struja počinje da teče. Signal ide do pojačala, a zatim do propusnog filtera, koji štiti prijemnik od smetnji. Smetnje može izazvati bilo koji kućni aparat.

Pojasni filter je postavljen na fiksnu frekvenciju: 30; 33; 36; 38; 40 i 56 kiloherca. Da bi Arduino IR prijemnik primio signal sa daljinskog upravljača, daljinski upravljač mora biti na istoj frekvenciji na koju je podešen filter u IR prijemniku. Nakon filtera, signal ide do detektora amplitude koji integrira filter i izlazni tranzistor.

Kako spojiti IR prijemnik na Arduino

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

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

  • Arduino Uno ploča;
  • Ploča za kruh;
  • USB kabel;
  • IR prijemnik;
  • Daljinski upravljač;
  • 1 LED;
  • 1 otpornik 220 Ohm;
  • Žice "folder-folder" i "folder-female".

Dijagram povezivanja IR prijemnika na Arduino analogni port

Povežite IR prijemnik prema dijagramu i LED diode na pinove 12 i 13 i učitajte skicu.

#include // povezivanje biblioteke za IR prijemnik IRrecv irrecv(A0); // označava pin na koji je spojen IR prijemnik decode_results rezultati; void setup () // postavljanje procedure ( irrecv.enableIRIn (); // počinje primati infracrveni signal pinMode(13, OUTPUT); // pin 13 će biti izlaz pinMode(12, IZLAZ); // pin 12 će biti izlaz pinMode(A0,INPUT); // pin A0 će biti ulaz (eng. “intput”) Serial.begin(9600); // povezivanje monitora porta) void loop () // petlja procedure ( if (irrecv.decode (&results)) // ako su podaci stigli, izvršimo naredbe( Serijski .println(results.value); // šalje primljene podatke na port // uključivanje i isključivanje 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 VISOKO); ) if (results.value == 16724175) ( digitalWrite (12, LOW); ) irrecv.resume (); // primamo sljedeći signal na IR prijemniku } }

Objašnjenja za kod:

  1. Biblioteka IRremote.h sadrži skup naredbi i omogućava vam da pojednostavite skicu;
  2. Naredba decode_results dodjeljuje rezultate imena varijable primljenim signalima s daljinskog upravljača.

Na šta treba obratiti pažnju:

  1. Da biste mogli kontrolirati uključivanje LED-a, morate uključiti monitor porta i saznati koji signal šalje ovo ili ono dugme na daljinskom upravljaču;
  2. Dobijene podatke uneti u skicu. Promenite osmocifreni kod na skici nakon dvostrukog znaka jednakosti if (results.value == 16769055) u svoj.

IR prijemnik, rad i testiranje

IR prijemnici infracrvenog zračenja postali su široko rasprostranjeni u televiziji, domaćinstvu, 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 dijagram IR prijemnika

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

Za razliku od standardne IR fotodiode, IR prijemnik je sposoban ne samo da prima, već i obrađuje infracrveni signal u obliku impulsa fiksne frekvencije i određenog trajanja. Ovo štiti uređaj od lažnih alarma, pozadinskog zračenja i smetnji od drugih kućanskih aparata koji emituju u IR opsegu. Fluorescentne štedljive sijalice sa elektronskim balastnim krugom mogu stvoriti prilično jake smetnje za prijemnik.

Mikrosklop tipičnog prijemnika IR zračenja uključuje: PIN fotodiodu, varijabilno pojačalo, propusni filter, detektor amplitude, integrirajući filter, uređaj za prag, izlazni tranzistor

PIN fotodioda je iz porodice fotodioda, u kojoj se između n i p regiona stvara još jedna regija sopstvenog poluprovodnika (i-područje) - ovo je u suštini sloj čistog poluprovodnika bez nečistoća. To je ono što PIN diodi daje posebna svojstva. U normalnom stanju, struja ne teče kroz PIN fotodiodu, jer je spojena na kolo u suprotnom smjeru. Kada se parovi elektron-rupa generiraju u i-području pod utjecajem vanjskog IR zračenja, struja počinje da teče kroz diodu. Koji onda ide na promjenjivo pojačalo.

Tada signal iz pojačala odlazi u propusni filter koji štiti od smetnji u IR opsegu. Pojasni filter je postavljen na striktno fiksnu frekvenciju. Obično se koriste filteri koji su podešeni na frekvenciju od 30; 33; 36; 36.7; 38; 40; 56 i 455 kiloherca. Da bi signal koji emituje daljinski upravljač mogao da primi IR prijemnik, on mora biti modulisan istom frekvencijom na koju je konfigurisan filter.

Nakon filtera, signal ide na detektor amplitude i integrirajući filter. Ovo posljednje je neophodno za blokiranje kratkih pojedinačnih signalnih rafala koji se mogu pojaviti zbog smetnji. Zatim signal ide na uređaj praga i izlazni tranzistor. Za stabilan rad, pojačanje pojačala se podešava sistemom automatske kontrole pojačanja (AGC).

Kućišta IR modula izrađena su od posebnog oblika koji olakšava fokusiranje primljenog zračenja na osjetljivu površinu fotoćelije. Materijal kućišta prenosi zračenje sa strogo definisanom talasnom dužinom od 830 do 1100 nm. Dakle, uređaj koristi optički filter. Za zaštitu unutrašnjih elemenata od vanjskih utjecaja. polja koristi se elektrostatički ekran.

Provjera IR prijemnika

Budući da je prijemnik IR signala specijalizirani mikrosklop, da bi se osigurao njegov rad potrebno je na mikrokolo staviti napon napajanja, obično 5 volti. Potrošnja struje će biti oko 0,4 - 1,5 mA.

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

Dakle, prije početka testiranja modula, obavezno odredite pinout njegovih izlaza. Obično je ove informacije lako pronaći u našem mega-direktorijumu tehničkih listova elektronike. Možete ga preuzeti klikom na sliku sa desne strane.

Provjerimo to na TSOP31236 čipu; njegov pinout odgovara slici iznad. Pozitivni terminal iz domaćeg napajanja spajamo na pozitivni terminal IR modula (Vs), a negativni terminal na GND terminal. I povezujemo treći OUT pin na pozitivnu sondu multimetra. Negativnu sondu spajamo na zajedničku GND žicu. Prebacite multimetar na DC napon na 20 V.

Čim paketi infracrvenih impulsa počnu da pristižu 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 ekranu multimetra smanjuje sa 5,03 volti na 4,57. Ako otpustimo dugme daljinskog upravljača, ekran će ponovo prikazati 5 volti.

Kao što vidite, prijemnik IR zračenja ispravno reaguje na signal 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č je jedan od najlakših načina za interakciju s elektroničkim uređajima. Dakle, skoro svaki dom ima nekoliko takvih uređaja: TV, stereo sistem, video plejer, klima uređaj. Ali najzanimljivija upotreba infracrvenog daljinskog upravljača je daljinsko upravljanje robotom. Zapravo, u ovoj lekciji ćemo pokušati implementirati ovu metodu upravljanja koristeći popularni Arduino Uno kontroler.

1. IR daljinski upravljač

Šta je potrebno da se robot nauči da sluša infracrveni (IR) daljinski upravljač? Prvo nam je potreban sam daljinski upravljač. Možete koristiti običan daljinski upravljač za TV ili možete kupiti minijaturni daljinski upravljač za auto radio. Ove vrste daljinskih upravljača se često koriste za upravljanje robotima. Ovaj daljinski upravljač ima 10 digitalnih tastera i 11 tastera za upravljanje muzikom: jačina zvuka, premotavanje unazad, reprodukcija, zaustavljanje itd. Više nego dovoljno za naše potrebe.

2. IR senzor

Drugo, za prijem signala sa daljinskog upravljača potreban nam je poseban IR senzor. Općenito, infracrveno zračenje možemo otkriti konvencionalnom fotodiodom/fototranzistorom, ali za razliku od njega, naš IR senzor percipira infracrveni signal samo na frekvenciji od 38 kHz (ponekad 40 kHz). Upravo ovo svojstvo omogućava senzoru da ignoriše mnogo stranog svetlosnog šuma od lampi i sunca. Za ovaj tutorijal ćemo koristiti popularni IR senzor VS1838B, koji ima sledeće karakteristike:
  • noseća frekvencija: 38 kHz;
  • napon napajanja: 2,7 - 5,5 V;
  • strujna potrošnja: 50 µA.
Mogu se koristiti i drugi senzori, na primjer: TSOP4838, TSOP1736, SFH506.

3. Povezivanje

Senzor ima tri izvoda (tri kraka). Ako senzor pogledate sa strane prijemnika IR signala, kao što je prikazano na slici,
  • tada će na lijevoj strani biti izlaz za kontroler,
  • u sredini - negativni kontakt napajanja (uzemljenje),
  • a desno - pozitivni kontakt za napajanje (2,7 - 5,5V).
Šematski dijagram povezivanja Izgled rasporeda

4. Program

Nakon povezivanja IR senzora, napisat ćemo program za Arduino Uno. Da bismo to učinili, koristit ćemo standardnu ​​biblioteku IRremote, koji je posebno dizajniran da pojednostavi rad sa prijemom i odašiljanjem IC signala. Koristeći ovu biblioteku, primat ćemo komande s daljinskog upravljača, a za početak jednostavno ih prikazati u prozoru monitora serijskog porta. Ovaj program će nam biti od koristi kako bismo razumjeli koji kod daje svako dugme. #include "IRremote.h" IRrecv irrecv(2); // označava pin na koji je prijemnik povezan decode_results results; void setup() ( Serial.begin(9600); // postavlja brzinu COM porta irrecv.enableIRIn(); // počinje primanje ) void loop() ( if (irrecv.decode(&results)) ( // if podaci su stigli Serial .println(results.value, HEX); // ispisati podatke irrecv.resume(); // prihvatiti sljedeću naredbu ) ) Učitati program na Arduino. Nakon toga pokušavamo primati komande sa daljinskog upravljača. Otvorite monitor serijskog porta (Ctrl+Shift+M), uzmite daljinski upravljač i usmjerite ga prema senzoru. Pritiskom na različite tipke, u prozoru monitora promatramo kodove koji odgovaraju ovim dugmadima. Problem pri učitavanju programa U nekim slučajevima, kada pokušavate učitati program u kontroler, može se pojaviti greška: TDK2 nije deklarisan u svom opsegu Da biste to popravili, samo izbrišite dvije datoteke iz foldera biblioteke. Idemo do istraživača. Idite u fasciklu u kojoj je instalirana Arduino IDE aplikacija (najverovatnije "C:\Program Files (x86)\Arduino"). Zatim u folder biblioteke: …\Arduino\biblioteke\RobotIRremote, i izbrišite fajlove: IRremoteTools.cpp I IRremoteTools.h. Zatim ponovo pokrećemo Arduino IDE i pokušavamo ponovo učitati program na kontroler.

5. Kontrolirajte LED pomoću IR daljinskog upravljača

Sada kada znamo koji kodovi odgovaraju tipkama daljinskog upravljača, pokušavamo programirati kontroler da se uključi i isključi LED kada se pritisnu tipke za jačinu zvuka. Za to su nam potrebni kodovi (mogu se razlikovati ovisno o daljinskom upravljaču):
  • FFA857 - povećanje jačine zvuka;
  • FFE01F - smanjenje jačine zvuka.
Kao LED, koristimo ugrađenu LED diodu na pinu br. 13, tako da će dijagram povezivanja ostati isti. Dakle, program: #include "IRremote.h" IRrecv irrecv(2); // označava pin na koji je prijemnik povezan decode_results results; void setup() ( irrecv.enableIRIn(); // počinje primati ) void loop() ( if (irrecv.decode(&results)) ( // ako su podaci stigli prekidač (results.value) (slučaj 0xFFA857: digitalWrite( 13, HIGH); break; case 0xFFE01F: digitalWrite(13, LOW); break; ) irrecv.resume(); // prihvatite sljedeću naredbu ) ) Prenesite na Arduino i testirajte. Kliknite vol+— LED svijetli. Kliknite vol-- izlazi. Sada, znajući kako sve to funkcionira, umjesto LED-a možete kontrolirati robotske motore ili druge mikroelektronske uređaje domaće izrade!