Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Zanimljiv
  • Shema za očitavanje infracrvenog signala na računalu. Upravljajte arduinom pomoću IR daljinskog upravljača

Shema za očitavanje infracrvenog signala na računalu. Upravljajte arduinom pomoću IR daljinskog upravljača

Na internetu postoji mnogo članaka o tome kako napraviti vlastiti daljinski upravljač za TV s Arduinom, ali trebao mi je univerzalni daljinski upravljač za TV i media player. Glavna prednost mog univerzalnog daljinskog upravljača je što su tipke u aplikaciji za android telefon dvonamjenske, ali usput pogledajte video.



Daljinski upravljač je vrlo zgodan jer se za upravljanje televizorom i uređajem koriste gotovo isti gumbi na ekranu. Jedna je razlika u tome što " AV" u načinu upravljanja televizorom mijenja se u " " (stop) kada prelazite na način upravljanja uređajem. Slike prikazuju dva načina rada, lijevo je način upravljanja televizorom, desno je način upravljanja uređajem.

Pa, sada ću vam reći nešto o stvaranju takvog daljinskog upravljača. Za uređaj sam koristio ERGO TV daljinski upravljač i DUNE HD TV101W media player daljinski upravljač.

Za dobivanje podataka s daljinskih upravljača koristio sam se infracrveni senzor TSOP1138 (slično TSOP4838) na radna frekvencija 38 kHz i spojio ga na Arduino ploču prema shemi:

Ova skica neće biti potrebna za određivanje kodiranja prijenosa podataka i čitanje koda za gumbe daljinskog upravljača.

Na skici, u retku int RECV_PIN = 11; označavamo naš pin na broju 4

Nakon učitavanja skice, otvorite “port monitor” i pritiskom na tipke daljinskog upravljača pogledajte primljene podatke.

Slika prikazuje primjer skeniranja gumba za uključivanje s daljinskog upravljača TV-a i daljinskog upravljača playera. Sada formiramo tablicu za kodove gumba.

Dobio sam ga kao na slici iznad. Ispod natpisa televizor Kodovi tipki daljinskog upravljača TV-a ispod natpisa Igrač- kodovi s daljinskog upravljača media playera.

Sada odspojimo naš prijemnik infracrvenog signala s Arduino ploče i spojimo ga na nju bluetooth modul HC-05 i infracrveni LED prema dijagramu na fotografiji.

Nakon toga idemo izravno na skicu.

Skica

#uključi IRsend irsend; int y = 1; void setup() ( Serial.begin(9600); ) void loop() ( if (Serial.available() > 0) ( int x = Serial.read(); if (x == 49) ( y = 1; ) if (x == 50) ( y = 2; ) if (y == 1) ( // kodovi gumba za daljinski upravljač televizora if (x == 97) ( irsend.sendNEC(0x807F08F7, 32); kašnjenje( 40 ); ) if (x == 98) (irsend.sendNEC(0x807FA857, 32); delay(40); ) if (x == 99) (irsend.sendNEC(0x807F708F, 32); delay(40); ) if (x == 100) (irsend.sendNEC(0x807FF00F, 32); delay(40); ) if (x == 101) (irsend.sendNEC(0x807F30CF, 32); delay(40); ) if (x = = 102) (irsend.sendNEC(0x807FB04F, 32); delay(40); ) if (x == 103) (irsend.sendNEC(0x807F9867, 32); delay(40); ) if (x == 104) ( irsend .sendNEC(0x807F58A7, 32); delay(40); ) if (x == 105) ( irsend.sendNEC(0x807FD827, 32); delay(40); ) if (x == 106) ( irsend.sendNEC( 0x807F38C7 ​​, 32); odgoda(40); ) ako (x == 107) ( irsend.sendNEC(0x807F48B7, 32); odgoda(40); ) ako (x == 108) ( irsend.sendNEC(0x807FB847, 32) ; odgoda(40); ) if (x == 109) ( irsend.sendNEC(0x807F6897, 32); kašnjenje(40); ) ) if (y == 2) ( //kodovi tipki daljinskog upravljača s media playera if (x == 97) ( irsend.sendNEC(0xFDC23D, 32); delay(40); ) if (x == 98 ) ( irsend. sendNEC(0xFDE01F, 32); delay(40); ) if (x == 99) ( irsend.sendNEC(0xFD18E7, 32); delay(40); ) if (x == 100) ( irsend. sendNEC(0xFDE817, 32); delay(40); ) if (x == 101) ( irsend.sendNEC(0xFDA857, 32); delay(40); ) if (x == 102) ( irsend.sendNEC(0xFD6897, 32); odgoda (40); ) ako (x == 103) ( irsend.sendNEC(0xFDA857, 32); odgoda(40); ) ako (x == 104) ( irsend.sendNEC(0xFD6897, 32); odgoda (40); ) if (x == 105) ( irsend.sendNEC(0xFDE817, 32); odgoda(40); ) if (x == 106) ( irsend.sendNEC(0xFD18E7, 32); odgoda(40); ) if (x == 107) (irsend.sendNEC(0xFD9867, 32); delay(40); ) if (x == 108) (irsend.sendNEC(0xFD28D7, 32); delay(40); ) if (x == 109) (irsend.sendNEC(0xFD20DF, 32); odgoda(40); ) ) )


U skici ćete morati urediti kodove gumba, naime u redovima:

If (x == 97) (irsend.sendNEC(0x807F08F7, 32); kašnjenje(40);
Promijenite vrijednost 807F08F7 u:

If (y == 1) ( //kodovi gumba za daljinski upravljač TV-a if (x == 97) ( irsend.sendNEC(0x12345678, 32); delay(40); )
Gdje je 12345678 kod za vaš gumb.

Nakon uređivanja skice prema vašim kodovima gumba, prenesite skicu na Arduino ploča i nastavite s instaliranjem aplikacije na telefon.

Uključimo bluetooth u telefonu, tražimo svoj uređaj, napravimo par, zatim pokrenemo aplikaciju Konzola na telefonu.

Prilikom pokretanja vidjet ćemo ekran s crvenom bojom bluetooth ikona u donjem desnom kutu, što signalizira da nismo spojeni na svoj uređaj.

Zatim kliknite na ovu ikonu. Trebali bismo imati prozor s popisom svih dostupnih bluetooth uređaji gdje odabiremo svoj uređaj za povezivanje.

Sada se vraćamo glavni zaslon i već možemo kontrolirati TV:

Za prebacivanje u način upravljanja moramo pritisnuti gumb s oznakom "Igrač". Kao što sam već rekao, imamo gumb s oznakom "AV" koji će se promijeniti u gumb " ":

Za prekid veze s našim uređajem jednostavno držite pritisnutu tipku "Power" nekoliko sekundi.

Pa, nekoliko fotografija mog gotovog uređaja.

Ispalo je, čini se, dobro. Veselim se komentarima na članak.

IR prijemnik i infracrveni daljinski upravljač daljinsko upravljanje - najčešći i najlakši način upravljanja elektronička oprema. Infracrveni spektar zračenja nije vidljiv ljudskom oku, ali ga savršeno primaju IR prijemnici ugrađeni u elektronički uređaji. Arduino moduli njihov daljinski se koristi za upravljanje razne opreme u izravnom vidnom polju.

Široka uporaba IR odašiljača postala je moguća zbog njihove niske cijene, jednostavnosti i lakoće korištenja. IC zračenje nalazi se u rasponu od 750 do 1000 mikrona - to je dio spektra najbliži vidljivoj svjetlosti. Optička svojstva mogu se promijeniti u infracrvenom području raznih materijala. Neka stakla, primjerice, postaju neprozirna za IR zrake, dok je parafin, naprotiv, proziran u IC spektru.

Zračenje se registrira uz pomoć posebnih fotomaterijala, na temelju kojih se izrađuju prijemnici. Osim zagrijanih tijela (Sunce, žarulje sa žarnom niti ili svijeće), izvor infracrvenog zračenja mogu biti uređaji u čvrstom stanju - IR LED, laseri. Zračenje u infracrvenom rasponu ima niz značajki, zahvaljujući kojima ih je prikladno koristiti u daljinskim upravljačima:

  • Solid state emiteri (IR LED) su jeftini i kompaktni.
  • Infracrvene zrake ljudsko oko ne percipira i ne fiksira.
  • IR prijemnici su također jeftini i malih dimenzija.
  • Male smetnje jer su odašiljač i prijamnik podešeni na istu frekvenciju.
  • Odsutan Negativan utjecaj na ljudsko zdravlje.
  • Visoka refleksija na većini materijala.
  • IR emiteri ne utječu na rad drugih uređaja.

Daljinski upravljač radi na sljedeći način. Kada se tipka pritisne, signal se kodira u infracrvenom svjetlu, prijemnik ga prima i izvodi potrebnu radnju. Informacije su kodirane kao logičan slijed nizova impulsa određene frekvencije. Prijemnik prima ovu sekvencu i demodulira podatke. Za primanje signala koristi se mikrokrug koji sadrži fotodetektor (fotodiodu), pojačala, pojasni filtar, demodulator (detektor koji vam omogućuje odabir omotnice signala) i izlazni tranzistor. Također ima filtere - električni i optički. Takvi uređaji rade na udaljenosti do 40 metara. IC način prijenosa podataka postoji u mnogim uređajima: in Kućanski aparati, u industrijskoj tehnologiji, računalima, optičkim vodovima.

Arduino IR prijemnik

Za očitavanje IC signala trebat će vam sama Arduino ploča, matična ploča, prijemnik IR signala i kratkospojnici. Postoji ogroman broj različitih prijemnika, ali bolje je koristiti TSOP312 ili druge prikladne za Arduino. Podaci s daljinskog upravljača na prijemnik mogu se prenositi pomoću RC5 ili NEC protokola.

Da biste odredili koja noga čemu pripada, morate pogledati senzor sa strane prijemnika. Zatim na prijemniku središnji kontakt je masa, lijevo je izlaz na mikrokontroler, desno je napajanje.

Za praktičnost možete koristiti gotove module IR prijemnika.

Spajanje IR prijemnika na arduino

Izlazi IR prijemnika spojeni su na Arduino na GND, 5V i digitalni ulaz. Dolje je prikazan dijagram za spajanje senzora na digitalni pin 11.

Ovako izgleda dijagram s modulom infracrveni prijemnik:


Knjižnice za rad s IR

Za rad s IR uređajima možete koristiti biblioteku IRremote koja pojednostavljuje konstrukciju sustava upravljanja. Knjižnicu možete preuzeti. Nakon preuzimanja kopirajte datoteke u mapu \arduino\libraries. Da biste se povezali sa skicom svoje knjižnice, trebate dodati datoteka zaglavlja#uključi .

Za čitanje informacija upotrijebite primjer IRrecvDumpV2 iz biblioteke. Ako daljinski upravljač već postoji na popisu prepoznatih, tada skeniranje nije potrebno. Za čitanje kodova morate se pokrenuti ARduino okruženje IDE i otvorite primjer IRrecvDemo iz IRremote.

Postoji i druga biblioteka za rad s IR signalima - to je IRLib. Po svojoj je funkcionalnosti sličan prethodnom. U usporedbi s IRremoteom, IRLib ima primjer za određivanje frekvencije IR senzora. Ali prva biblioteka je lakša i praktičnija za korištenje.

Nakon učitavanja biblioteke, možete početi čitati primljene signale. Za to se koristi sljedeći kod.

Operator decode_results potreban je kako bi se primljenom signalu dodijelio naziv varijable rezultata.

U kodu trebate prepisati "HEX" u "DEC".

Zatim, nakon učitavanja programa, trebate otvoriti serijski monitor i pritisnuti tipke na daljinskom upravljaču. Pojavit će se zaslon razne šifre. Potrebno je zabilježiti kojem gumbu odgovara primljeni kod. Pogodnije je zabilježiti dobivene podatke u tablici. Nakon što se ovaj kod može upisati u program kako biste mogli kontrolirati uređaj. Kodovi se zapisuju u memoriju same Arduino ploče EEPROM, što je vrlo zgodno, jer ne morate programirati tipke svaki put kada uključite daljinski upravljač.

Događa se da se prilikom učitavanja programa generira pogreška "TDK2 nije deklariran u njegovom opsegu". Da biste to popravili, morate otići u Explorer, idite u mapu u kojoj je aplikacija instalirana Arduino IDE i izbrišite datoteke IRremoteTools.cpp i IRremoteTools.h. Nakon toga potrebno je ponovno učitati program na mikrokontroler.

Zaključak

Korištenje Arduino ir daljinskog upravljača olakšava život korisniku. Može se koristiti kao daljinski upravljač mobitel, tablet ili računalo - za ovo vam je potrebno samo poseban softver. Uz pomoć Arduina, možete centralizirati svu kontrolu. Jednim gumbom na daljinskom upravljaču možete izvršiti nekoliko radnji odjednom – primjerice, uključiti TV i Blu-Ray u isto vrijeme.

Pri izradi uređaja za rad s IC daljinskim upravljačima vrlo je potreban alat kojim bi se mogli snimati i analizirati IC signali. Takav bi instrument, u idealnom slučaju, mogao biti digitalni osciloskop ili logički analizator, ali nema svatko te uređaje, a skupo je kupiti ih posebno. Kako biti? Postoji vrlo jednostavno rješenje - zvučna kartica računala! Uz njegovu pomoć ćemo snimiti signal.

Osim zvučne kartice (koju nadam se da imate u računalu) treba nam i IC prijemnik. Bilo bi ispravnije sastaviti punopravni krug prijemnika s TSOP-om, ali učinimo to što je moguće jednostavnije - kao IR prijemnik uzet ćemo najobičniju IR LED (onu koja je u vašem daljinskom upravljaču). Možete, naravno, uzeti IR fotodiodu, ali IR LED je lakše nabaviti. IR LED mora biti spojen izravno na ulaz mikrofona zvučne kartice. Da biste to učinili, potreban vam je utikač od 3,5 mm i komad oklopljene žice (odrezao sam kabel s konektorom iz starog mikrofona koji ne radi).

LED je spojen na sljedeći način:

Kao rezultat toga, dobivamo sljedeći uređaj:

Umetnite utikač u ulaz za mikrofon (it Ružičasta boja). U postavkama zvučne kartice odaberite mikrofon kao ulazni uređaj, okrenite kontrolu pojačanja na maksimum i označite okvir za dodatno pojačanje. Da biste provjerili, usmjeravamo daljinski upravljač na LED prijemnik (potrebno ga je približiti daljinskom upravljaču što je više moguće), pritisnite tipku - u zvučnicima bi se trebali čuti klikovi.

Ako iz nekog razloga nemate ulaz za mikrofon (na primjer, u prijenosnom računalu), spojite prijemnik na linijski unos zvučna kartica - sve će raditi isto, samo će amplituda snimljenog signala postati mnogo manja.


Sada nam treba program za snimanje zvuka.
U ove svrhe prikladan je svaki program koji imate. Ako nemate omiljeni program za rad sa zvukom, nudim mali i besplatni softver— Wavosaur (http://www.wavosaur.com/) Program radi bez instalacije i ima mala veličina- kako volim :).

Zvučni program.

Nakon pokretanja programa uključite indikator razine (ravnalo na desnoj strani prozora) i provjerite odziv na signale daljinskog upravljača. Prema zadanim postavkama, sve bi trebalo raditi - ravnalo će nestati na skali od primljenih signala (ako nema reakcije, penjemo se u postavke Audio konfiguracija/Audio ulaz). Zatim pritisnite ikonu za snimanje, približite daljinski upravljač što je moguće bliže LED-u za prijem, pritisnite tipku daljinskog upravljača i držite je nekoliko sekundi. Onemogući snimanje - Gotovo! U prozoru ćemo vidjeti skeniranje primljenog IC signala. Zanimljivo, signal će već biti detektiran - nećemo vidjeti nosivu frekvenciju, već samo korisni signal. To je zbog činjenice da ulazni kapaciteti ulaza mikrofona nemaju vremena za ponovno punjenje.

Primljeni signal može se skalirati u vremenu, amplitudi i, što je vrlo zgodno, označavanjem određenog intervala, odmah možete vidjeti njegovo trajanje. Primljeni signal se može spremiti (bolje u wav formatu - neće biti izobličenja) ili eksportirati u MP3, tekst, binarna datoteka(korisna stvar!).

Na primjer, signal daljinskog upravljača mog televizora (NEC format):

Slika prikazuje sve vremenske intervale, čak možete izračunati adresu daljinskog upravljača i kod naredbe gumba - sve je jasno i razumljivo.

p.s.
Velika molba! Ako sastavite takav prijemnik, spremite pakete svojih daljinskih upravljača i pošaljite mi sapun (u kartici "o projektu") - to će uvelike pomoći u poboljšanju algoritma univerzalni prijemnik. U nazivu datoteke navedite od čega daljinski upravljač i tvrtku proizvođača (na primjer: tv-sony.wav).


Više o radu s IC daljinskim upravljačima!
Predložio sam najlakšu opciju za "osjetiti" signal s IC daljinskog upravljača, ali postoje mnoga rješenja koja mogu puno više! Primajte IC signal, analizirajte, spremajte, reproducirajte, programirajte svoje daljinske upravljače, upravljajte računalom... Ovaj dio će sadržavati poveznice na takva rješenja.

1. DvzRcUređivač
Program će ići prvi DvzRcUrednik, izbačen mobi. Program je napravio Dvz 2010. godine(nažalost nema koordinata, možda netko zna?).


- Program za analizu i ponavljanje IC signala.
Program omogućuje korištenje mikrofonskog ulaza i audio izlaza za snimanje i reprodukciju IR poruka. Postoje alati za analizu IR-poruka i stvaranje baze podataka o slanju daljinskih upravljača (postoji mala baza podataka za razne daljinske upravljače). Zanimljivo rješenje je podrška za daljinski upravljač, napravljen na ATtiny2313.


Daljinski ima 7 tipki koje se mogu namjestiti na bilo koju od analiziranih naredbi, a sam program može zapisati signale za te tipke u mikrokontroler (pod uvjetom da tamo prvi put flashate bootloader).

Sve je jednostavno i jasno - svidjelo mi se!


2.Lukava kontrola.
http://slydiman.narod.ru/scr/index.htm
Nije čak ni program cijeli internet resurs posvećen IR daljinskim upravljačima. Sadrži puno korisna informacija, hardver i programska rješenja za sve prilike. Evo što autori pišu o SlyControlu:
- Ovo univerzalni program kontrolirati bilo što pomoću računala.

Za što se može koristiti:
- upravljanje bilo kojim programima s bilo kojeg daljinskog upravljača (RC), s multimedijske tipkovnice s tipkama ili joystickom
- emulacija tipkovnice i miša s bilo kojeg daljinskog upravljača
- planer (ne samo pokrenite program na vrijeme, već i izvršite neke radnje s njim)
- isključite računalo pomoću mjerača vremena ili događaja
- svjetlo u stanu možete upaliti i daljinskim upravljačem, samo trebate dodati odgovarajući dodatak 😉

A postoji i program na resursu RCExplorer 2.1— baza podataka IR daljinskih upravljača (baza sadrži više od 200 unosa).


Program omogućuje:
- Primite signal s daljinskog upravljača pomoću zvučna kartica, COM port, IgorPlug-USB ili IgorPlug2
- Detaljno analizirajte signal - (modulacija, tajming, značajke kodiranja, kodovi za ponavljanje, itd., sve mi je poznato na ovaj trenutak protokola, program može raditi s nepoznatim protokolima.
- Grafički prikaz signala u realnom vremenu i prema podacima iz baze podataka
- Potražite sličan daljinski upravljač u bazi podataka
- Pustite naredbu daljinskog upravljača prema podacima iz baze putem COM porta

Općenito, svakako posjetite resurs - bit će zanimljivo.

(Posjećeno 20 417 puta, 9 posjeta danas)

Na internetu postoji mnogo članaka o tome kako napraviti vlastiti daljinski upravljač za TV s Arduinom, ali trebao mi je univerzalni daljinski upravljač za TV i media player. Glavna prednost mog univerzalnog daljinskog upravljača je što su tipke u aplikaciji za android telefon dvonamjenske, ali usput pogledajte video.



Daljinski upravljač je vrlo zgodan jer se za upravljanje televizorom i uređajem koriste gotovo isti gumbi na ekranu. Jedna je razlika u tome što " AV" u načinu upravljanja televizorom mijenja se u " " (stop) kada prelazite na način upravljanja uređajem. Slike prikazuju dva načina rada, lijevo je način upravljanja televizorom, desno je način upravljanja uređajem.

Pa, sada ću vam reći nešto o stvaranju takvog daljinskog upravljača. Za uređaj sam koristio ERGO TV daljinski upravljač i DUNE HD TV101W media player daljinski upravljač.

Za primanje podataka s daljinskog upravljača koristio sam infracrveni senzor TSOP1138 (analogno TSOP4838) na radnoj frekvenciji od 38 kHz i spojio ga na Arduino ploču prema shemi:

Ova skica neće biti potrebna za određivanje kodiranja prijenosa podataka i čitanje koda za gumbe daljinskog upravljača.

Na skici, u retku int RECV_PIN = 11; označavamo naš pin na broju 4

Nakon učitavanja skice, otvorite “port monitor” i pritiskom na tipke daljinskog upravljača pogledajte primljene podatke.

Slika prikazuje primjer skeniranja gumba za uključivanje s daljinskog upravljača TV-a i daljinskog upravljača playera. Sada formiramo tablicu za kodove gumba.

Dobio sam ga kao na slici iznad. Ispod natpisa televizor Kodovi tipki daljinskog upravljača TV-a ispod natpisa Igrač- kodovi s daljinskog upravljača media playera.

Sada odspojimo naš infracrveni prijemnik signala s Arduino ploče i na njega spojimo HC-05 Bluetooth modul i infracrvenu LED diodu prema dijagramu na fotografiji.

Nakon toga idemo izravno na skicu.

Skica

#uključi IRsend irsend; int y = 1; void setup() ( Serial.begin(9600); ) void loop() ( if (Serial.available() > 0) ( int x = Serial.read(); if (x == 49) ( y = 1; ) if (x == 50) ( y = 2; ) if (y == 1) ( // kodovi gumba za daljinski upravljač televizora if (x == 97) ( irsend.sendNEC(0x807F08F7, 32); kašnjenje( 40 ); ) if (x == 98) (irsend.sendNEC(0x807FA857, 32); delay(40); ) if (x == 99) (irsend.sendNEC(0x807F708F, 32); delay(40); ) if (x == 100) (irsend.sendNEC(0x807FF00F, 32); delay(40); ) if (x == 101) (irsend.sendNEC(0x807F30CF, 32); delay(40); ) if (x = = 102) (irsend.sendNEC(0x807FB04F, 32); delay(40); ) if (x == 103) (irsend.sendNEC(0x807F9867, 32); delay(40); ) if (x == 104) ( irsend .sendNEC(0x807F58A7, 32); delay(40); ) if (x == 105) ( irsend.sendNEC(0x807FD827, 32); delay(40); ) if (x == 106) ( irsend.sendNEC( 0x807F38C7 ​​, 32); odgoda(40); ) ako (x == 107) ( irsend.sendNEC(0x807F48B7, 32); odgoda(40); ) ako (x == 108) ( irsend.sendNEC(0x807FB847, 32) ; odgoda(40); ) if (x == 109) ( irsend.sendNEC(0x807F6897, 32); kašnjenje(40); ) ) if (y == 2) ( //kodovi tipki daljinskog upravljača s media playera if (x == 97) ( irsend.sendNEC(0xFDC23D, 32); delay(40); ) if (x == 98 ) ( irsend. sendNEC(0xFDE01F, 32); delay(40); ) if (x == 99) ( irsend.sendNEC(0xFD18E7, 32); delay(40); ) if (x == 100) ( irsend. sendNEC(0xFDE817, 32); delay(40); ) if (x == 101) ( irsend.sendNEC(0xFDA857, 32); delay(40); ) if (x == 102) ( irsend.sendNEC(0xFD6897, 32); odgoda (40); ) ako (x == 103) ( irsend.sendNEC(0xFDA857, 32); odgoda(40); ) ako (x == 104) ( irsend.sendNEC(0xFD6897, 32); odgoda (40); ) if (x == 105) ( irsend.sendNEC(0xFDE817, 32); odgoda(40); ) if (x == 106) ( irsend.sendNEC(0xFD18E7, 32); odgoda(40); ) if (x == 107) (irsend.sendNEC(0xFD9867, 32); delay(40); ) if (x == 108) (irsend.sendNEC(0xFD28D7, 32); delay(40); ) if (x == 109) (irsend.sendNEC(0xFD20DF, 32); odgoda(40); ) ) )


U skici ćete morati urediti kodove gumba, naime u redovima:

If (x == 97) (irsend.sendNEC(0x807F08F7, 32); kašnjenje(40);
Promijenite vrijednost 807F08F7 u:

If (y == 1) ( //kodovi gumba za daljinski upravljač TV-a if (x == 97) ( irsend.sendNEC(0x12345678, 32); delay(40); )
Gdje je 12345678 kod za vaš gumb.

Nakon uređivanja skice prema vašim kodovima gumba, prenesite skicu na Arduino ploču i nastavite s instaliranjem aplikacije na svoj telefon.

Uključimo bluetooth u telefonu, tražimo svoj uređaj, napravimo par, zatim pokrenemo aplikaciju Konzola na telefonu.

Prilikom pokretanja imat ćemo zaslon s crvenom bluetooth ikonom u donjem desnom kutu, što signalizira da nismo povezani s našim uređajem.

Zatim kliknite na ovu ikonu. Trebali bismo imati prozor s popisom svih dostupnih bluetooth uređaja, gdje biramo svoj uređaj za spajanje.

Sada se vraćamo na glavni ekran i već možemo upravljati televizorom:

Za prebacivanje u način upravljanja moramo pritisnuti gumb s oznakom "Igrač". Kao što sam već rekao, imamo gumb s oznakom "AV" koji će se promijeniti u gumb " ":

Za prekid veze s našim uređajem jednostavno držite pritisnutu tipku "Power" nekoliko sekundi.

Pa, nekoliko fotografija mog gotovog uređaja.

Ispalo je, čini se, dobro. Veselim se komentarima na članak.

U ovoj lekciji razmotrit ćemo spajanje IR prijemnika na Arduino. Reći ćemo vam koju biblioteku treba koristiti za IR prijemnik, demonstrirati skicu za testiranje rada infracrvenog prijemnika s daljinskog upravljača i analizirati naredbe u jeziku C++ za primanje signala. Odmah napominjemo da Arduino IR senzor nije prikladan za svaki daljinski upravljač, frekvencija signala može varirati.

IR prijamnik. Princip rada

Infracrveni prijemnici sada se naširoko koriste u Kućanski aparati, zahvaljujući pristupačna cijena, jednostavnost i lakoća korištenja. Ovi uređaji vam omogućuju upravljanje uređajima pomoću daljinskog upravljača i mogu se pronaći u gotovo svim vrstama tehnologije. No, unatoč tome, postupno Bluetooth modul dobiva sve veću popularnost.

Kako radi IC prijemnik. Obrada signala daljinskog upravljača

IR prijemnik na Arduinu može primiti i obraditi infracrveni signal u obliku impulsa zadanog trajanja i frekvencije. Koristi se u proizvodnji senzora prepreka i daljinomjera za Arduino. Tipično, IR prijemnik ima tri noge i sastoji se od sljedeće stavke: PIN fotodioda, pojačalo, pojasni filtar, detektor amplitude, integrirajući filtar i izlazni tranzistor.

Pod djelovanjem infracrvenog zračenja u fotodiodi, koja ima između str I n regije stvorile su dodatnu regiju iz poluvodiča ( ja-područje), počinje teći struja. Signal ide u pojačalo, a zatim u pojasni filtar, koji je podešen na fiksnu frekvenciju: 30; 33; 36; 38; 40 i 56 kiloherca i štiti prijemnik od smetnji. Smetnje mogu stvoriti bilo koji kućanski aparati.

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. Stoga neće svaki daljinski upravljač raditi. Trebali biste odabrati IR prijemnik i IR odašiljač iste frekvencije. Nakon filtera, signal ide do detektora amplitude, integrirajućeg filtera i izlaznog tranzistora.

Kako spojiti IR prijemnik na Arduino

Kućišta infracrvenih prijamnika sadrže optički filter za zaštitu uređaja od vanjskih elektromagnetskih polja, izrađena su u posebnom obliku za fokusiranje primljenog zračenja na fotodiodu. Za spajanje IR prijemnika na Arduino UNO koristite tri kraka koji se spajaju na - GND, 5V i A0. Savjetujemo vam da koristite 3,3 V za pokretanje, kako ne biste spalili IC senzor prilikom postavljanja.

Za lekciju su nam potrebni sljedeći detalji:

  • ploča Arduino Uno / Arduino Nano / Arduino Mega;
  • daska za kruh;
  • IR prijemnik;
  • daljinski upravljač;
  • 1 LED i otpornik od 220 Ohma;
  • žice "otac-otac" i "otac-majka".

Shema spajanja IR prijemnika na Arduino analogni port

Spojite IR prijemnik kao što je gore prikazano i spojite LED diode na pinove 12 i 13. Prije preuzimanja programa morat ćete instalirati biblioteku IRremote.h ako već nije instalirana. Ova knjižnica ne odnosi se na standardne knjižnice okruženja Arduino programiranje IDE. Možete preuzeti biblioteku IRremote.h i gotovu skicu u jednoj arhivi s Google vožnja veza .

Skica Arduino IR prijemnika:

#uključi // spojite knjižnicu za IR prijemnik IRrecv irrecv(A0); // odredite pin na koji je spojen IR prijemnik dekodiranje_rezultata; 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 (engleski "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(); // prihvatiti sljedeći signal na IR 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 primljene signale s daljinskog upravljača rezultatima naziva varijable.

IR senzor se može koristiti u mnogim uređajima na Arduino mikrokontroleru, uključujući daljinsko upravljanje Arduino servom iz IR prijemnika. Prilikom postavljanja uključite monitor Arduino priključak IDE i saznajte kakav signal šalje određena tipka na daljinskom upravljaču. Rezultirajuće kodove treba koristiti u skici nakon dvostrukog znaka jednakosti u uvjetima if ().

Često čitajte i:

Najpopularniji povezani članci