Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • TV (Smart TV)
  • Arduino: infracrveni daljinski upravljač i prijemnik. Univerzalni daljinski upravljač na Arduinu

Arduino: infracrveni daljinski upravljač i prijemnik. Univerzalni daljinski upravljač na Arduinu

Obično su daljinski upravljači za TV, kabelsku prijemnicu, Blu-ray player a stereo sustavi ne samo da zauzimaju prostor, nego i otežavaju upravljanje svim tim uređajima. Možete razmisliti o kupnji univerzalnog daljinskog upravljača, ali oni su obično skupi i ponekad ne pružaju razinu kontrole ili sučelja koja vam je potrebna. Ovaj projekt stvara uređaj koji može slati i primati kodove za daljinsko upravljanje sa standardne web stranice. Potrebnu funkcionalnost možete programirati s bilo kojeg pametnog telefona ili računala!

Ovaj projekt koristi Arduino modul Yún, koji je posebno dizajniran za upravljanje uređajima koji podržavaju Mrežna veza. Yún ima dva procesora, od kojih prvi pokreće operativni sustav Linux sustav a može se spojiti na žičane ili bežična mreža. Drugi procesor obavlja iste funkcije kao i procesor u Arduino Leonardo modulu. Stoga pruža dobru kompatibilnost s Arduino bibliotekama i hardverom.

Ovaj projekt koristi infracrveni LED i prijemnik za slanje i primanje signala daljinskog upravljanja. Infracrveno svjetlo je nevidljivo ljudskom oku, ali ga elektronički senzori lako detektiraju. Za pouzdaniji prijenos signala, uređaji koriste modulirano infracrveno svjetlo, čime se eliminira mogućnost primanja lažnih signala. Infracrveni prijemnik je mali uređaj, koji prima infracrvene signale modulirane na određenoj frekvenciji, obično 38 kHz. Koristeći ovaj prijemnik, Arduino modul određuje bitove informacija koje se šalju s upravljačke ploče.

Slanje naredbi na vaš multimedijski centar provodit će se pomoću jednostavno web sučelje, koji radi lokalno na Yún modulu i dostupan je za većinu modernih web preglednika. Web stranica olakšava rad upravljanja infracrveni uređaj i omogućuje obradu čak nekoliko naredbi istovremeno. Na primjer, pritiskom na gumb 'Gledaj film' može se poslati signal za uključivanje TV-a, Blu-ray playera i spajanja na TV ulaz.

Ovaj projekt zahtijeva malo iskustva u izvođenju Arduino skica i korištenju alata naredbenog retka. Elektroničke komponente projekt se može instalirati na matičnu ploču.

Korak #1: Povezivanje komponenti

  • Spojite infracrvenu LED diodu na Yún modul provlačenjem žice od LED anode (dugi vod) do digitalni izlaz 13 Yún modula.
  • Koristeći otpornik od 100 ohma, spojite LED katodu (kraći vod) na kontakt za uzemljenje IR senzora (srednji vod senzora).
  • Spojite detekcijski pin infracrvenog senzora (krajnji lijevi pin kada se gleda s prednje strane senzora) na digitalni pin 11 Yún modula.
  • Spojite kontakt za uzemljenje infracrvenog senzora (srednji kontakt) s kontaktom za uzemljenje Yún modula.
  • Na kraju, spojite kabel za napajanje senzora (krajnji desni pin kada se gleda s prednje strane senzora) na 5-voltni pin Yún modula.

Korak #2: Instalirajte softverske ovisnosti

  • Kada se umetne MicroSD kartica u modul Yún, uključite Yún povezivanjem USB mikro B kabel za Yún modul i USB adapter prehrana.
  • Provjerite je li Yún postavljen i povezan s vašom bežičnom mrežom. Konfiguriranje Yún modula je naznačeno na ovoj stranici.
  • Poveži se s naredbeni redak Yún koristeći SSH. Ovaj proces opisano na ovoj stranici.
  • Nakon spajanja na naredbeni redak, vidjet ćete verziju firmvera. Ovaj projekt testirano s verzijom BusyBox v1.19.4 od 2014-04-10 i novijim. Ako koristite više stara verzija, zatim slijedite sljedeće upute.
  • U naredbenom retku pokrenite sljedeće naredbe za ažuriranje upravitelja paketa:
opkg ažuriranje
  • Zatim instalirajte PIP, Python upravitelj paketa:
opkg instaliraj distribuiraj && opkg instaliraj python-openssl && opkg instaliraj python-expat && easy_install pip

Ovaj proces traje nekoliko minuta. Možda ćete vidjeti neke poruke upozorenja, ali ih možete zanemariti.

  • Napravite direktorij na svojoj SD kartici za spremanje Python paketa:
mkdir /mnt/sda1/python-packages
  • Instalirajte okvir Flask Python:
pip install --target /mnt/sda1/python-packages flask

Možda ćete vidjeti neke poruke upozorenja, ali ih možete zanemariti.

  • Ažurirajte put pretraživanja za datoteke paketa Python:
echo "izvoz PYTHONPATH=/mnt/sda1/python-paketi" >> /etc/profile
  • Stvorite direktorije gdje je okruženje Arduino IDEće učitati datoteke web poslužitelja:
mkdir /mnt/sda1/Arduino mkdir /mnt/sda1/arduino/www
  • Ponovno pokrenite Arduino Yún da ažurirate put pretraživanja Python datoteke.

  • Preuzmite IR knjižnicu. (Arduino IRremote, biblioteka koju je stvorio Ken Shirriff.)
    Raspakirajte arhivu, preimenujte mapu s Arduino_ IRdaljinski- ovladati; majstorski na Arduino_ IRdaljinski, i uvezite mapu Arduino_IRremote kao biblioteku u okruženje Arduino razvoj IDE. detaljne informacije naznačeno
  • Prenesite svoju skicu Pametni daljinski Upravljajte Arduinom iz zip arhiva odavde.
    Raspakirajte arhivu i povucite mapu SmartRemoteControl u mapu sa Arduino skica. Otvorite skicu u Arduino IDE.
  • Sastavite skicu i prenesite je na Yún modul putem WiFi-a odabirom odgovarajuće opcije na popisu Arduino Yún portova. Obavezno učitajte skicu putem WiFi mreže kako bi se potrebne python skripte kopirale u Yún modul! Nakon preuzimanja skice, otvorite Serial Monitor u Arduino okruženje IDE (ovo može potrajati nekoliko minuta).
  • Usmjerite daljinski upravljač prema infracrveni senzor i pritisnite nekoliko tipki na daljinskom. Trebali biste vidjeti kod na serijskom monitoru. Ako se kod ne prikaže, provjerite spojeve kruga senzora.

Korak #4: Konfigurirajte kodove daljinskog upravljača

  • Sada možete konfigurirati aktivnosti i kodove za daljinsko upravljanje tako da ih povežete s XML datoteka konfiguracije. Korištenje uređivač teksta, otvorite datoteku aktivnosti. xml u poddirektoriju www mape skica na računalu. (U Arduino IDE kliknite izbornik Skica i odaberite "Prikaži mapu skice").
  • Razmotrite format primjera operacija u datoteci. Svaki radni blok definira naziv atributa koji će se pojaviti kao gumb na web stranici daljinskog upravljača. Unutar svake operacije, kodni blok sadrži niz infracrvenih kodova koji se moraju izvršiti. U primjeru, prvo se izvršava Sony A90 naredba (uključivanje/isključivanje) za uključivanje TV-a, zatim Panasonicova naredba (uključivanje/isključivanje) za uključivanje Blu-ray playera. Svaki kod ima parametar niza koji je izravni izlaz podataka otkrivenog udaljenog koda iz Arduino skice.
  • Dodajte svoje naredbe u datoteku kopiranjem primjera i promjenom naziva i kodova. Kada je daljinski upravljač usmjeren prema infracrvenom senzoru, pritisnite tipke i pažljivo zapišite određeni infracrveni kodni niz. Kopirajte niz u konfiguraciju operacijskog koda.
  • Čim primite potrebna datoteka konfiguraciju, spremite datoteku i ponovno učitajte skicu u Yún modul putem WiFi-a. Kako biste ažurirali konfiguracijsku datoteku, uredite datoteku i prenesite skicu putem WiFi-ja pomoću Arduino IDE.

Korak #5: Pokretanje poslužitelja s web sučeljem

  • Za pokretanje poslužitelja spojite Yún modul putem SSH-a. Za pokretanje poslužitelja pokrenite sljedeću naredbu:
python /mnt/sda1/arduino/www/SmartRemoteControl/server.py
  • Kada se poslužitelj uspješno pokrene, vidjet ćete poruku:
* Pokretanje na http://0.0.0.0:5000/ * Ponovno pokretanje s reloaderom
  • Ako vidite pogrešku, provjerite sve ovisnosti instalirane u prethodnim koracima.
  • U svoj web preglednik unesite http://arduino.local:5000/. Ako preglednik ne podržava mDNS URL (poput Windowsa, Androida i nekih Linux distribucije) unesite http:// arduino_ ip_ adresa:5000/, gdje arduino_ ip_ adresa je IP adresa vašeg Arduino Yúna. IP adresa se nalazi na dnu Arduino IDE-a kada povezujete Yún (Slika 2).
  • Nakon što se stranica učita, vidjet ćete popis konfiguriranih radnji gumba. Ako vidite pogrešku, provjerite jesu li ovisnosti ispravno instalirane, je li skica učitana i radi li poslužitelj bez grešaka.
  • Za zaustavljanje poslužitelja kliknite kombinacija Ctrl-C u naredbenom prozoru u kojem je poslužitelj pokrenut.

Korak #6: Korištenje web sučelja

  • Za upotrebu pametni daljinski upravljač usmjerite LED na elektronički uređaji i kliknite jedan od aktivne tipke. Ako se željeni uređaj ne uključi, pokušajte pomaknuti LED diodu bliže potrebnim uređajima. LED raspon je mali, oko 6 stopa. Potrebno je dodati tranzistor za povećanje dometa LED-a. Navedene su detaljne informacije Ovdje.
  • Također možete testirati infracrvene kodove otvaranjem Yún Serial Monitora u Arduino IDE i slanjem infracrvenog koda kao naredbe. Na primjer, slanje koda "SONY: C A90" (bez navodnika) će dovesti do toga da hardver pošalje naredbu uključivši Sony A90. ("C" predstavlja bit duljine naredbe, 12, pretvoren u heksadecimalni broj).
  • Za automatsko pokretanje poslužitelja prilikom učitavanja uredite datoteku / itd/ rc. lokalni u modulu Yún (koristeći nano ili vi editor) i dodajte sljedeći redak prije s linijom "exit 0" na kraju:
PYTHONPATH=/mnt/sda1/python-packages python /mnt/sda1/arduino/www/SmartRemoteControl/server.py
  • Za prepoznavanje govora pokrenite preglednik Google Chrome. Pritisnite gumb "Govori" i Chrome preglednik tražit će dopuštenje za korištenje mikrofona. Zatim izgovorite naziv aktivne operacije i pričekajte dok se ne prepozna. Na primjer, za izvođenje operacije filma "Filmovi", pritisnite gumb "Govori" i izgovorite riječ "Filmovi" u mikrofon. Fraze poput "Reproduciraj filmove" ili "Pokreni filmove" nisu podržane - prepoznaje se samo jasan naziv aktivne operacije.

U ovoj lekciji ćemo pogledati spajanje IR prijemnika na Arduino. Reći ćemo vam koju biblioteku treba koristiti za IR prijemnik i pokazati skicu za testiranje rada infracrveni prijemnik s daljinskog upravljača i analizirati naredbe u C++ za primanje signala. Odmah napomenimo da Arduino IR senzor nije prikladan za svaki daljinski upravljač, frekvencija signala može se razlikovati.

IR prijamnik. Princip rada

Prijemnici infracrvenog zračenja sada se široko koriste u Kućanski aparati, zahvaljujući pristupačna cijena, jednostavnost i lakoća 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. Ali unatoč tome, Bluetooth modul postupno dobiva sve veću popularnost.

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. Koristi se u proizvodnji senzora prepreka i daljinomjera za Arduino. Obično IR prijemnik ima tri noge i sastoji se od sljedeće elemente: 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 je podešen na fiksnu frekvenciju: 30; 33; 36; 38; 40 i 56 kiloherca i štiti prijemnik od smetnji. Smetnje mogu biti uzrokovane bilo kojim kućanskim aparatom.

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 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 - GND, 5V i A0. Preporučujemo korištenje 3,3 V za početak kako ne biste spalili IR senzor tijekom postavljanja.

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

  • Arduino Uno / Arduino Nano / Arduino Mega ploča;
  • daska za kruh;
  • IR prijemnik;
  • daljinski upravljač;
  • 1 LED i otpornik od 220 Ohma;
  • muško-muške i muško-ženske žice.

Dijagram spajanja IR prijemnika na Arduino analogni port

Spojite IR prijemnik prema gore prikazanom dijagramu 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 okoliš Arduino programiranje IDE. Možete preuzeti biblioteku IRremote.h i gotovu skicu u jednoj arhivi s Google vožnja veza .

Skica za Arduino IR prijemnik:

#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 (); // 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 naziv varijable results primljenim signalima s daljinskog upravljača.

IR senzor se može koristiti u mnogim uređajima na Arduino mikrokontroleru, uključujući daljinsko upravljanje servo pogonom na Arduinu iz IR prijemnika. Prilikom postavljanja trebali biste uključiti monitor Arduino priključak IDE i saznajte koji signal šalje ovaj ili onaj gumb na daljinskom upravljaču. Rezultirajuće kodove treba koristiti u skici nakon dvostrukog znaka jednakosti u if() uvjetima.

Često čitajte i:

Na internetu postoji mnogo članaka o tome kako napraviti vlastiti daljinski upravljač za televizor pomoću Arduina, ali trebao mi je univerzalni daljinski upravljač za upravljanje televizorom i media playerom. Glavna prednost mog univerzalnog daljinskog upravljača je što su tipke u Android telefonskoj aplikaciji dvonamjenske, ali pogledajte video.



Daljinski upravljač je vrlo prikladan jer se gotovo isti gumbi na ekranu koriste za upravljanje televizorom i uređajem. Jedna je razlika u tome što " AV"u načinu upravljanja televizorom mijenja se u gumb" " (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 daljinski upravljač za ERGO TV i daljinski upravljač za DUNE HD TV101W media player.

Za primanje podataka s daljinskih upravljača koristio sam infracrveni senzor TSOP1138 (analogno TSOP4838) na radna frekvencija 38 kHz i spojio ga na Arduino ploču prema dijagramu:

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

Na skici u retku int RECV_PIN = 11; označite naš pin broj 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 stvaramo tablicu za kodove gumba.

Dobio sam ga kao na slici iznad. Ispod natpisa televizor kodovi gumba daljinskog upravljača televizora; ispod natpisa Igrač- kodovi s daljinskog upravljača media playera.

Sada isključujemo naš prijemnik infracrveni signali s Arduino ploče i spojite se na nju Bluetooth modul HC-05 i infracrveni LED prema dijagramu na fotografiji.

Nakon toga prelazimo 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č if (x == 97) ( irsend.sendNEC(0x807F08F7, 32); delay(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 gumba daljinskog upravljača 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); odgoda(40); ) ako (x == 101) ( irsend.sendNEC(0xFDA857, 32); odgoda(40); ) ako (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); delay(40); ) if (x == 106) (irsend.sendNEC(0xFD18E7, 32); delay(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 koristeći svoje kodove gumba, prenesite skicu na Arduino ploča i nastavite s instaliranjem aplikacije na svoj telefon.

Uključujemo Bluetooth u telefonu, tražimo svoj uređaj, stvaramo par, zatim pokrećemo aplikaciju Pult na telefonu.

Prilikom pokretanja imat ćemo ekran s crvenom bojom bluetooth ikona u donjem desnom kutu, što znači da nismo povezani s našim uređajem.

Nakon toga kliknite na ovu ikonu. Trebali bismo vidjeti prozor s popisom svih dostupnih bluetooth uređaji, gdje odabiremo svoj uređaj za povezivanje.

Sad smo se opet vratili glavni zaslon i već možemo kontrolirati TV:

Za prebacivanje u način upravljanja trebamo pritisnuti gumb s oznakom "Igrač". Kao što sam ranije rekao, naš gumb s oznakom "AV" promijenit će se 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 sasvim dobro, čini se. Čekam komentare na članak.

Na internetu postoji mnogo članaka o tome kako napraviti vlastiti daljinski upravljač za televizor pomoću Arduina, ali trebao mi je univerzalni daljinski upravljač za upravljanje televizorom i media playerom. Glavna prednost mog univerzalnog daljinskog upravljača je što su tipke u Android telefonskoj aplikaciji dvonamjenske, ali pogledajte video.



Daljinski upravljač je vrlo prikladan jer se gotovo isti gumbi na ekranu koriste za upravljanje televizorom i uređajem. Jedna je razlika u tome što " AV"u načinu upravljanja televizorom mijenja se u gumb" " (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 daljinski upravljač za ERGO TV i daljinski upravljač za DUNE HD TV101W media player.

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 gumba daljinskog upravljača.

Na skici u retku int RECV_PIN = 11; označite naš pin broj 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 stvaramo tablicu za kodove gumba.

Dobio sam ga kao na slici iznad. Ispod natpisa televizor kodovi gumba daljinskog upravljača televizora; 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 prelazimo 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č if (x == 97) ( irsend.sendNEC(0x807F08F7, 32); delay(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 gumba daljinskog upravljača 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); odgoda(40); ) ako (x == 101) ( irsend.sendNEC(0xFDA857, 32); odgoda(40); ) ako (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); delay(40); ) if (x == 106) (irsend.sendNEC(0xFD18E7, 32); delay(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 koristeći svoje kodove gumba, prenesite skicu na Arduino ploču i nastavite s instaliranjem aplikacije na svom telefonu.

Uključujemo Bluetooth u telefonu, tražimo svoj uređaj, stvaramo par, zatim pokrećemo aplikaciju Pult na telefonu.

Nakon pokretanja imat ćemo ekran s crvenom bluetooth ikonom u donjem desnom kutu, što signalizira da nismo spojeni na svoj uređaj.

Nakon toga kliknite na ovu ikonu. Trebali bismo vidjeti prozor s popisom svih dostupnih bluetooth uređaja, gdje odabiremo svoj uređaj za povezivanje.

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

Za prebacivanje u način upravljanja trebamo pritisnuti gumb s oznakom "Igrač". Kao što sam ranije rekao, naš gumb s oznakom "AV" promijenit će se 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 sasvim dobro, čini se. Čekam komentare na članak.

Najbolji članci na temu