Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Televizori (Smart TV)
  • Arduino: infracrveni daljinski upravljač i prijemnik. Arduino univerzalni daljinski upravljač

Arduino: infracrveni daljinski upravljač i prijemnik. Arduino univerzalni daljinski upravljač

Tipično, daljinski upravljači za TV, kablovsku, Blu-ray plejer i stereo sistem ne samo da zauzimaju prostor, već i otežavaju kontrolu svih ovih uređaja. Možda ćete razmisliti o kupovini univerzalnog daljinskog upravljača, ali oni su obično skupi i ponekad ne pružaju potreban nivo kontrole ili interfejsa. Ovaj projekat kreira uređaj koji može slati i primati kodove za daljinsko upravljanje sa standardne web stranice. Možete programirati potrebnu funkcionalnost sa bilo kojeg pametnog telefona ili računara!

Ovaj projekat koristi Arduino Yún modul, koji je posebno dizajniran za kontrolu umreženih uređaja. Yún ima dva procesora, od kojih prvi pokreće Linux operativni sistem i može se povezati na žičanu ili bežičnu mrežu. Drugi procesor obavlja iste funkcije kao i procesor u Arduino Leonardo modulu. Stoga, pruža dobru kompatibilnost sa Arduino bibliotekama i hardverom.

Ovaj projekat koristi infracrvenu LED diodu i prijemnik za slanje i primanje signala daljinskog upravljanja. Infracrveno svjetlo je nevidljivo ljudskom oku, ali ga elektronski senzori lako detektuju. Za pouzdaniji prijenos signala, uređaji koriste modulirano infracrveno svjetlo, pa je isključena mogućnost prijema lažnih signala. Infracrveni prijemnik je mali uređaj koji prima infracrvene signale modulirane na određenoj frekvenciji, obično 38 kHz. Sa ovim prijemnikom, Arduino modul detektuje bitove informacija koje se šalju sa kontrolne table.

Slanje komandi u vaš medijski centar vršit će se pomoću jednostavnog web sučelja koje radi lokalno na Yún modulu i dostupno je za većinu modernih web pretraživača. Web stranica olakšava rukovanje infracrvenim uređajem i čak omogućava obradu više naredbi u isto vrijeme. Na primjer, pritiskom na dugme 'Pogledaj film' može se poslati signal za uključivanje TV-a, Blu-ray plejera i povezivanje na TV ulaz.

Ovaj projekat zahtijeva određeno iskustvo u pokretanju Arduino skica i korištenju alata komandne linije. Elektronske komponente projekta mogu se montirati na matičnu ploču.

Korak # 1: Povezivanje komponenti

  • Povežite infracrvenu LED diodu sa Yún modulom tako što ćete provući žicu od LED anode (dugi vod) do digitalnog pina 13 Yún modula.
  • Koristeći otpornik od 100 oma, povežite LED katodu (kraći vod) na masu IR senzora (srednji vod senzora).
  • Povežite pin za detekciju infracrvenog senzora (krajnji lijevi pin kada se gleda s prednje strane senzora) na digitalni pin 11 Yún modula.
  • Spojite terminal za uzemljenje infracrvenog senzora (srednji terminal) na terminal za uzemljenje Yún modula.
  • Konačno, spojite napojni vod senzora (krajnji desni terminal kada se gleda s prednje strane senzora) na terminal od 5 volti Yún modula.

Korak # 2: Instalirajte ovisnosti o softveru

  • Sa MicroSD karticom umetnutom u Yún modul, uključite Yún povezivanjem USB Micro B kabla na Yún modul i USB adapter za napajanje.
  • Provjerite je li Yún konfiguriran i povezan na vašu bežičnu mrežu. Konfiguracija Yún modula je navedena na ovoj stranici.
  • Povežite se na Yún komandnu liniju koristeći SSH. Ovaj proces je opisan na ovoj stranici.
  • Nakon povezivanja na komandnu liniju, vidjet ćete verziju firmvera. Ovaj projekat je testiran sa BusyBox v1.19.4 od 2014-04-10 i novijim. Ako koristite stariju verziju, slijedite upute u nastavku.
  • Na komandnoj liniji, pokrenite sljedeće naredbe da ažurirate Package Manager:
opkg ažuriranje
  • Zatim instalirajte PIP, Python Package Manager:
opkg install distribuira && 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.

  • Kreirajte direktorij na svojoj SD kartici za pohranjivanje Python paketa:
mkdir / mnt / sda1 / python-packages
  • Instalirajte Flask Python framework:
pip install --target / mnt / sda1 / python-packages flask

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

  • Ažurirajte putanju pretraživanja za datoteke Python paketa:
echo "export PYTHONPATH = / mnt / sda1 / python-packages" >> / etc / profil
  • Kreirajte direktorije u koje će Arduino IDE učitati datoteke web servera:
mkdir / mnt / sda1 / Arduino mkdir / mnt / sda1 / arduino / www
  • Ponovo učitajte Arduino Yún da ažurirate putanju pretraživanja Pythona.

  • Preuzmite IR biblioteku. (Arduino IRremote, biblioteka Ken Shirriff.)
    Raspakujte arhivu, preimenujte fasciklu sa Arduino_ IRremote- majstor na Arduino_ IRremote, i uvezite Arduino_IRremote folder kao biblioteku u Arduino IDE. Detaljne informacije su naznačene
  • Preuzmite Arduino skicu Smart Remote Control iz zip arhive odavde.
    Raspakujte arhivu i prevucite fasciklu SmartRemoteControl u vašu Arduino mapu skica. Otvorite skicu u Arduino IDE.
  • Sastavite skicu i otpremite je na Yún modul preko WiFi-a odabirom odgovarajuće opcije na listi Arduino Yún portova. Obavezno preuzmite skicu preko WiFi-a tako da se potrebne python skripte kopiraju u Yún! Nakon učitavanja skice, otvorite serijski monitor u Arduino IDE (ovo može potrajati nekoliko minuta).
  • Usmjerite daljinski upravljač na infracrveni senzor i pritisnite nekoliko tipki na daljinskom upravljaču. Trebali biste vidjeti kod na serijskom monitoru. Ako se kod ne prikaže, provjerite vezu senzorskih krugova.

Korak #4: Konfiguriranje kodova za daljinsko upravljanje

  • Sada možete konfigurirati aktivnosti i kodove daljinskog upravljanja povezujući ih sa XML konfiguracijskom datotekom. Pomoću uređivača teksta otvorite datoteku aktivnosti. xml u poddirektorijumu www skicirajte foldere na vašem računaru. (U Arduino IDE, kliknite na meni Sketch i izaberite "Show Sketch Folder").
  • Obratite pažnju na format uzorka operacija u datoteci. Svaki blok akcije definira naziv atributa koji će se pojaviti kao gumb na web stranici konzole. Unutar svake operacije, kodni blok sadrži niz infracrvenih kodova koji se izvršavaju. Primjer prvo izvršava naredbu Sony A90 (uključivanje/isključivanje) za uključivanje TV-a, zatim Panasonic (uključivanje/isključivanje) komandu za uključivanje Blu-ray playera. Svaki kod ima parametar stringa, koji je direktan izlaz podataka detektovanog koda daljinskog upravljača iz Arduino skice.
  • Dodajte svoje komande u datoteku kopiranjem primjera i promjenom naziva i kodova. Kada je daljinski upravljač usmjeren na infracrveni senzor, pritisnite dugmad i pažljivo zabilježite određeni niz infracrvenih kodova. Kopirajte sekvencu u konfiguraciju koda operacije.
  • Kada dobijete konfiguracionu datoteku koju želite, sačuvajte datoteku i ponovo učitajte skicu u Yún modul preko WiFi mreže. Da biste ažurirali konfiguracijsku datoteku, izmijenite datoteku i prenesite skicu preko WiFi-a koristeći Arduino IDE.

Korak #5: Pokrenite web server

  • Da biste pokrenuli server, povežite Yún modul preko SSH-a. Pokrenite sljedeću naredbu da pokrenete server:
python /mnt/sda1/arduino/www/SmartRemoteControl/server.py
  • Ako se server uspješno pokrene, vidjet ćete poruku:
* Pokreće se na http://0.0.0.0:5000/ * Ponovo se pokreće sa reloaderom
  • Ako vidite grešku, provjerite sve ovisnosti instalirane u prethodnim koracima.
  • U vašem web pretraživaču unesite http: //arduino.local: 5000 /. Ako pretraživač ne podržava mDNS URL (kao što su Windows, Android i neke Linux distribucije) unesite http: // arduino_ ip_ adresa: 5000 /, gdje arduino_ ip_ adresa je IP adresa vašeg Arduino Yún-a. IP adresa se nalazi na dnu Arduino IDE kada povežete Yún (slika 2).
  • Nakon učitavanja stranice, vidjet ćete listu konfiguriranih operacija dugmadi. Ako vidite grešku, provjerite da li su ovisnosti ispravno instalirane, preuzeta skica i da server radi bez grešaka.
  • Da biste zaustavili server, pritisnite kombinaciju Ctrl-C u komandnom prozoru u kojem je server pokrenut.

Korak #6: Korištenje web sučelja

  • Da biste koristili pametni daljinski upravljač, usmjerite LED na elektronske uređaje i pritisnite jedno od aktivnih tipki. Ako se željeni uređaj ne uključi, pokušajte da pomaknete LED diodu bliže željenim uređajima. LED pokrivenost je mala, oko 6 stopa. Potrebno je dodati tranzistor za povećanje dometa LED diode. Detaljne informacije su naznačene ovdje.
  • Takođe možete testirati infracrvene kodove tako što ćete otvoriti Yún Serial Monitor u Arduino IDE i poslati infracrveni kod kao komandu. Na primjer, slanje koda "SONY: C A90" (bez navodnika) će uzrokovati da hardver pošalje komandu za uključivanje Sony A90. ("C" je bit dužine komande, 12 pretvoren u heksadecimalni).
  • Da automatski pokrenete server pri pokretanju, uredite datoteku / itd/ rc. lokalni u Yún modulu (koristeći nano ili vi editor) i dodajte sljedeći red front sa linijom "izlaz 0" na kraju:
PYTHONPATH = / mnt / sda1 / python-packages python /mnt/sda1/arduino/www/SmartRemoteControl/server.py
  • Za prepoznavanje govora, pokrenite pretraživač Google Chrome. Pritisnite dugme "Govori" i Chrome pretraživač će tražiti dozvolu da koristi mikrofon. Zatim izgovorite naziv aktivne operacije i pričekajte dok se ne prepozna. Na primjer, da pogledate film "Filmovi", pritisnite dugme "Govori" i izgovorite riječ "Filmovi" u mikrofon. Fraze kao što su "Play Movies" ili "Run Movies" nisu podržane - prepoznaje se samo jasan naziv aktivne operacije.

U ovoj lekciji razmislite o povezivanju 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 prijem signala. Odmah napominjemo da Arduino IR senzor nije prikladan za svaki daljinski upravljač, frekvencija signala može se razlikovati.

IR prijemnik. Princip rada

Infracrveni prijemnici danas se široko koriste u kućanskim aparatima zbog pristupačne cijene, jednostavnosti i lakoće upotrebe. Ovi uređaji vam omogućavaju da upravljate uređajima pomoću daljinskog upravljača i mogu se naći u gotovo svakoj vrsti tehnologije. Ali, uprkos tome, postepeno Bluetooth modul postaje sve popularniji.

Princip rada IR prijemnika. Obrada signala daljinskog upravljača

IR prijemnik na Arduinu je sposoban da prima i obrađuje infracrveni signal, u obliku impulsa određenog 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ćih elemenata: PIN fotodioda, pojačalo, propusni filter, detektor amplitude, integrirajući filter i izlazni tranzistor.

Pod uticajem infracrvenog zračenja u fotodiodi, u kojoj između str i n područja su stvorila dodatnu oblast poluprovodnika ( i-područje), počinje teći struja. Signal ide u pojačalo, a zatim u propusni filter, koji je podešen na fiksnu frekvenciju: 30; 33; 36; 38; 40 i 56 kHz i štiti prijemnik od smetnji. Svaki kućni aparat može uzrokovati smetnje.

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. Stoga, nije svaki daljinski upravljač prikladan za posao. Uskladite IR prijemnik i IR predajnik sa istom frekvencijom. Nakon filtera, signal ide na detektor amplitude, integrirajući 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đeni su posebnog oblika za fokusiranje primljenog zračenja na fotodiodu. Za spajanje IR prijemnika na Arduino UNO koriste se tri pina, koji su spojeni na - GND, 5V i A0. Savjetujemo vam da počnete koristiti 3,3 volta, kako ne biste spalili IR senzor prilikom postavljanja.

Za lekciju su nam potrebni sljedeći detalji:

  • Arduino Uno / Arduino Nano / Arduino Mega ploča;
  • ploča za kruh;
  • IR prijemnik;
  • daljinski upravljač;
  • 1 LED i 220 Ohm otpornik;
  • žice tata-tata i tata-mama.

Dijagram povezivanja IR prijemnika na analogni port Arduina

Povežite IR prijemnik kao što je prikazano gore i povežite LED diode na 12 i 13 pinova. Prije preuzimanja programa, morat ćete instalirati biblioteku IRremote.h, ako još nije instalirana. Ova biblioteka ne pripada standardnim bibliotekama Arduino IDE programskog okruženja. Možete preuzeti IRremote.h biblioteku i gotovu skicu u jednoj arhivi sa Google Drive-a koristeći link.

Skica za Arduino IR prijemnik:

#include // povezivanje biblioteke za IR prijemnik IRrecv irrecv (A0); // specificirajte pin na koji je spojen IR prijemnik decode_results rezultati; void setup () // postupak postavljanja (irrecv.enableIRIn (); // počinje primati infracrveni signal pinMode (13, OUTPUT); // pin 13 će biti izlaz pinMode (12, OUTPUT); // pin 12 će biti izlaz pinMode (A0, INPUT); // pin A0 će biti ulaz (engleski "intput") Serial .begin (9600); // povezivanje monitora porta) void loop () // petlja procedure (if (irrecv.decode (& rezultati)) // ako su podaci došli, izvršimo naredbe(Serial .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 (digitalWrite) 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 naziv varijabli rezultata 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 sa IR prijemnika. Prilikom podešavanja trebali biste uključiti monitor Arduino IDE porta i saznati koji signal šalje ovo ili ono dugme na daljinskom upravljaču. Rezultirajuće kodove treba koristiti u skici nakon dvostrukog znaka jednakosti u uslovima if ().

Takođe često čitajte:

Na internetu postoji mnogo članaka o tome kako napraviti vlastiti daljinski upravljač za TV na Arduinu, ali mi je trebao univerzalni daljinski upravljač za kontrolu mog TV-a i media playera. Glavna prednost mog univerzalnog daljinskog upravljača je što su dugmad u aplikaciji za android telefon dvostruke namjene, ali usput pogledajte video.



Daljinski upravljač je veoma zgodan po tome što se na ekranu koriste skoro isti tasteri za upravljanje TV-om i plejerom. Jedna razlika je u tome što " AV"u načinu upravljanja TV-om, mijenja se na dugme" "(stop) kada pređete u režim kontrole plejera. Na slikama su prikazana dva režima, sa leve strane je režim kontrole TV-a, sa desne strane je režim kontrole plejera.

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

Za primanje podataka sa konzola koristio sam TSOP1138 infracrveni senzor (analog TSOP4838) na radnoj frekvenciji od 38 kHz i spojio ga na Arduino ploču na sljedeći način:

Ova skica će biti potrebna za određivanje kodiranja prijenosa podataka i čitanje koda dugmadi na daljinskom upravljaču.

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

Nakon popunjavanja skice, otvorite "port monitor" i pritiskom na dugmad na daljinskom pogledajte primljene podatke.

Na slici je prikazan primjer skeniranja dugmeta za napajanje sa daljinskog upravljača TV-a i daljinskog upravljača plejera. Sada kreiramo tabelu za kodove dugmadi.

Uradio sam to kao na slici iznad. Ispod natpisa TV Kodovi dugmadi za daljinski upravljač za TV; ispod natpisa Player- kodovi sa daljinskog upravljača media playera.

Sada isključujemo naš prijemnik infracrvenih signala sa Arduino ploče i na njega povezujemo HC-05 Bluetooth modul i infracrvenu LED diodu prema dijagramu na fotografiji.

Nakon toga idite direktno na skicu.

Skica

#include 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č za TV if (x == 97) (irsend.sendNEC (0x807F08F7, 32); kašnjenje (40 );) if (x == 98) (irsend.sendNEC (0x807FA857, 32); kašnjenje (40);) if (x == 99) (irsend.sendNEC (0x807F708F, 32); kašnjenje (40);) ako (x == 100) (irsend.sendNEC (0x807FF00F, 32); kašnjenje (40);) ako (x == 101) (irsend.sendNEC (0x807F30CF, 32); kašnjenje (40);) ako (x == 102) (irsend.sendNEC (0x807FB04F, 32); kašnjenje (40);) ako (x == 103) (irsend.sendNEC (0x807F9867, 32); kašnjenje (40);) ako (x == 104) (irsend .sendNEC (0x807F58A7, 32); kašnjenje (40);) ako (x == 105) (irsend.sendNEC (0x807FD827, 32); kašnjenje (40);) ako (x == 106) (irsend.sendNEC (0x807) , 32); kašnjenje (40);) if (x == 107) (irsend.sendNEC (0x807F48B7, 32); kašnjenje (40);) if (x == 108) (irsend.sendNEC (0x807FB847, 32); kašnjenje (40);) ako (x == 109) (irsend.sendNEC (0x807F6897, 32); kašnjenje (40); )) if (y == 2) (// kodovi dugmadi na daljinskom upravljaču sa media playera if (x == 97) (irsend.sendNEC (0xFDC23D, 32); kašnjenje (40);) if (x == 98) (irsend. sendNEC (0xFDE01F, 32); kašnjenje (40);) ako (x == 99) (irsend.sendNEC (0xFD18E7, 32); kašnjenje (40);) ako (x == 100) (irsend .sendNEC (0xFDE817, 32); kašnjenje (40);) ako (x == 101) (irsend.sendNEC (0xFDA857, 32); kašnjenje (40);) ako (x == 102) (irsend.sendNEC (0xFD6897) , 32); kašnjenje (40);) if (x == 103) (irsend.sendNEC (0xFDA857, 32); kašnjenje (40);) if (x == 104) (irsend.sendNEC (0xFD6897, 32); kašnjenje (40); ) if (x == 105) (irsend.sendNEC (0xFDE817, 32); kašnjenje (40);) if (x == 106) (irsend.sendNEC (0xFD18E7, 32); kašnjenje (40) ;) if (x == 107) (irsend.sendNEC (0xFD9867, 32); kašnjenje (40);) if (x == 108) (irsend.sendNEC (0xFD28D7, 32); kašnjenje (40);) if ( x == 109) (irsend.sendNEC (0xFD20DF, 32); kašnjenje (40);))))


U skici ćete morati urediti kodove dugmadi, odnosno u redovima:

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

If (y == 1) (// kodovi dugmeta za daljinski upravljač ako (x == 97) (irsend.sendNEC (0x12345678, 32); kašnjenje (40);)
Gdje je 12345678 kod vašeg gumba.

Nakon što uredite skicu pomoću kodova dugmadi, otpremite skicu na Arduino ploču i nastavite s instalacijom aplikacije na telefon.

Uključujemo bluetooth u telefonu, tražimo naš uređaj, kreiramo par, a zatim pokrećemo aplikaciju Pult Na telefonu.

Kada ga pokrenemo, imaćemo ekran sa crvenom ikonicom bluetooth-a u donjem desnom uglu, što signalizira da nismo povezani sa našim uređajem.

Nakon toga kliknite na ovu ikonu. Trebali bismo imati prozor sa listom svih dostupnih bluetooth uređaja, gdje biramo naš uređaj za povezivanje.

Sada smo se vratili na glavni ekran i već možemo kontrolirati TV:

Za prelazak na način upravljanja potrebno je da pritisnemo dugme sa natpisom "igrač"... Kao što sam već rekao, naše dugme sa oznakom "AV" će se promeniti u " ":

Da biste prekinuli vezu sa našim uređajem, samo držite pritisnuto dugme "Power" nekoliko sekundi.

Pa, nekoliko fotografija mog gotovog uređaja.

Ispostavilo se, čini se, nije loše. Radujem se komentarima na članak.

Na internetu postoji mnogo članaka o tome kako napraviti vlastiti daljinski upravljač za TV na Arduinu, ali mi je trebao univerzalni daljinski upravljač za kontrolu mog TV-a i media playera. Glavna prednost mog univerzalnog daljinskog upravljača je što su dugmad u aplikaciji za android telefon dvostruke namjene, ali usput pogledajte video.



Daljinski upravljač je veoma zgodan po tome što se na ekranu koriste skoro isti tasteri za upravljanje TV-om i plejerom. Jedna razlika je u tome što " AV"u načinu upravljanja TV-om, mijenja se na dugme" "(stop) kada pređete u režim kontrole plejera. Na slikama su prikazana dva režima, sa leve strane je režim kontrole TV-a, sa desne strane je režim kontrole plejera.

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

Za primanje podataka sa konzola koristio sam TSOP1138 infracrveni senzor (analog TSOP4838) na radnoj frekvenciji od 38 kHz i spojio ga na Arduino ploču na sljedeći način:

Ova skica će biti potrebna za određivanje kodiranja prijenosa podataka i čitanje koda dugmadi na daljinskom upravljaču.

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

Nakon popunjavanja skice, otvorite "port monitor" i pritiskom na dugmad na daljinskom pogledajte primljene podatke.

Na slici je prikazan primjer skeniranja dugmeta za napajanje sa daljinskog upravljača TV-a i daljinskog upravljača plejera. Sada kreiramo tabelu za kodove dugmadi.

Uradio sam to kao na slici iznad. Ispod natpisa TV Kodovi dugmadi za daljinski upravljač za TV; ispod natpisa Player- kodovi sa daljinskog upravljača media playera.

Sada isključujemo naš prijemnik infracrvenih signala sa Arduino ploče i na njega povezujemo HC-05 Bluetooth modul i infracrvenu LED diodu prema dijagramu na fotografiji.

Nakon toga idite direktno na skicu.

Skica

#include 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č za TV if (x == 97) (irsend.sendNEC (0x807F08F7, 32); kašnjenje (40 );) if (x == 98) (irsend.sendNEC (0x807FA857, 32); kašnjenje (40);) if (x == 99) (irsend.sendNEC (0x807F708F, 32); kašnjenje (40);) ako (x == 100) (irsend.sendNEC (0x807FF00F, 32); kašnjenje (40);) ako (x == 101) (irsend.sendNEC (0x807F30CF, 32); kašnjenje (40);) ako (x == 102) (irsend.sendNEC (0x807FB04F, 32); kašnjenje (40);) ako (x == 103) (irsend.sendNEC (0x807F9867, 32); kašnjenje (40);) ako (x == 104) (irsend .sendNEC (0x807F58A7, 32); kašnjenje (40);) ako (x == 105) (irsend.sendNEC (0x807FD827, 32); kašnjenje (40);) ako (x == 106) (irsend.sendNEC (0x807) , 32); kašnjenje (40);) if (x == 107) (irsend.sendNEC (0x807F48B7, 32); kašnjenje (40);) if (x == 108) (irsend.sendNEC (0x807FB847, 32); kašnjenje (40);) ako (x == 109) (irsend.sendNEC (0x807F6897, 32); kašnjenje (40); )) if (y == 2) (// kodovi dugmadi na daljinskom upravljaču sa media playera if (x == 97) (irsend.sendNEC (0xFDC23D, 32); kašnjenje (40);) if (x == 98) (irsend. sendNEC (0xFDE01F, 32); kašnjenje (40);) ako (x == 99) (irsend.sendNEC (0xFD18E7, 32); kašnjenje (40);) ako (x == 100) (irsend .sendNEC (0xFDE817, 32); kašnjenje (40);) ako (x == 101) (irsend.sendNEC (0xFDA857, 32); kašnjenje (40);) ako (x == 102) (irsend.sendNEC (0xFD6897) , 32); kašnjenje (40);) if (x == 103) (irsend.sendNEC (0xFDA857, 32); kašnjenje (40);) if (x == 104) (irsend.sendNEC (0xFD6897, 32); kašnjenje (40); ) if (x == 105) (irsend.sendNEC (0xFDE817, 32); kašnjenje (40);) if (x == 106) (irsend.sendNEC (0xFD18E7, 32); kašnjenje (40) ;) if (x == 107) (irsend.sendNEC (0xFD9867, 32); kašnjenje (40);) if (x == 108) (irsend.sendNEC (0xFD28D7, 32); kašnjenje (40);) if ( x == 109) (irsend.sendNEC (0xFD20DF, 32); kašnjenje (40);))))


U skici ćete morati urediti kodove dugmadi, odnosno u redovima:

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

If (y == 1) (// kodovi dugmeta za daljinski upravljač ako (x == 97) (irsend.sendNEC (0x12345678, 32); kašnjenje (40);)
Gdje je 12345678 kod vašeg gumba.

Nakon što uredite skicu pomoću kodova dugmadi, otpremite skicu na Arduino ploču i nastavite s instalacijom aplikacije na telefon.

Uključujemo bluetooth u telefonu, tražimo naš uređaj, kreiramo par, a zatim pokrećemo aplikaciju Pult Na telefonu.

Kada ga pokrenemo, imaćemo ekran sa crvenom ikonicom bluetooth-a u donjem desnom uglu, što signalizira da nismo povezani sa našim uređajem.

Nakon toga kliknite na ovu ikonu. Trebali bismo imati prozor sa listom svih dostupnih bluetooth uređaja, gdje biramo naš uređaj za povezivanje.

Sada smo se vratili na glavni ekran i već možemo kontrolirati TV:

Za prelazak na način upravljanja potrebno je da pritisnemo dugme sa natpisom "igrač"... Kao što sam već rekao, naše dugme sa oznakom "AV" će se promeniti u " ":

Da biste prekinuli vezu sa našim uređajem, samo držite pritisnuto dugme "Power" nekoliko sekundi.

Pa, nekoliko fotografija mog gotovog uređaja.

Ispostavilo se, čini se, nije loše. Radujem se komentarima na članak.

Top srodni članci