- Būtini komponentai:
- Darbinis paaiškinimas:
- Grandinės schema:
- IR nuotolinio valdymo signalų dekodavimas naudojant „Arduino“:
- „IR Blaster“ skirtos „Android“ programos kūrimas:
Aš pradėjau šį projektą norėdamas atsikratyti įvairių nuotolinio valdymo pultų savo namuose ir sukurti ką nors vienintelio, kuris galėtų apimti visų jų savybes. Ši mintis kilo, kai pamačiau vieną savo draugo mobilųjį telefoną su įmontuotu IR blasteriu, tuo metu nusprendžiau nepirkti panašaus telefono, verčiau pasigaminti savo įrenginį, kuris turėtų būti suderinamas su mano turimu rageliu. Taigi čia mes konvertuosime „Android“ telefoną į IR nuotolinio valdymo pultą, naudodami „Arduino“, norėdami valdyti įvairius įrenginius namuose.
Būtini komponentai:
- Arduino Uno
- IR šviesos diodas
- TSOP-IR imtuvas (1838T)
- „Bluetooth“ modulis (HC05)
- „Android“ įrenginys (telefonas, planšetinis kompiuteris ir kt.)
Darbinis paaiškinimas:
Paprastai mes naudojame du nuotolinio valdymo pultus, norėdami valdyti televizorių namuose, vieną - televizorių ir vieną - „Set-Top Box“, todėl šiame projekte aš skiriu šiuos du nuotolinio valdymo pultus ir sukuriu „ Android“ telefoną, veikiantį kaip „IR Blaster“, kad televizorių būtų galima valdyti telefonu, neliesdami nė vieno nuotolinio valdymo pulto.
Naudodamas „ Arduino Uno“ plokštę man paprasčiau susidoroti su IR dekodavimo ir kodavimo dalimi. Pagal užsakymą pagamintas skydas tiesiog papildo šio projekto patogumo dalį. Skydą sudaro TSOP IR imtuvas (1838T), IR šviesos diodas ir „Bluetooth“ modulis (HC-05). Žr. Paveikslėlį žemiau:
Galite susikurti pasirinktinį skydą arba tiesiogiai prijungti komponentus prie „Arduino“, kaip parodyta toliau esančioje „Grandinės schemoje“.
Prieš judėdami į priekį, pirmiausia aptarkime „kaip veikia IR pulteliai“. Dauguma IR nuotolinio valdymo pultų dirba aplink 38 KHz dažnius (tai yra priežastis, kodėl aš pasirinkau 18 38 T). Toliau įtraukus šią temą, bus pripažinta, kad šiuose IR duomenų perdavimo metoduose nėra fiksuoto nulių ir vienetų atvaizdavimo. Šiuose koduose naudojamos įvairios kodavimo technikos, kurias mokomės savo inžinerijos programoje (nes esu elektronikos inžinerijos studentas). 38 KHz reikšmė yra ta, kad dažnis, kuriuo signalas svyruoja, kai logiškai aukštas, ty tai yra signalo laikiklis. Pažvelkite į paveikslėlį žemiau; tai yra NEC protokolo pavyzdys. Tai padarys jūsų koncepciją aiškesnę:
Taigi, kaip veikia šis „IR Blaster“; „Android“ telefonas su specialiai pritaikyta „Android“ programa siunčia signalą į „Arduino“ grandinę per „Bluetooth“, toliau „Arduino“ priima signalą per TSOP-IR imtuvą (1838T) ir jį analizuoja. Tada „Arduino“ liepia IR šviesos diodui mirksėti tam tikru piešiniu, atitinkančiu tą „Android“ įrenginio programoje paspaustą mygtuką. Šį mirksintį vaizdą užfiksuoja televizorius arba „Set-Top box“ IR imtuvas ir jis laikosi nurodymų, pavyzdžiui, pakeisdamas kanalą ar padidindamas garsumą.
Bet prieš tai turime iššifruoti esamus pultelius. Kaip minėta anksčiau, šiame projekte aš panaudojau du nuotolinio valdymo pultus, iš kurių vienas palaiko ryšį su televizoriumi, o kitas skirtas prie televizoriaus prijungtam priedui.
Grandinės schema:
IR nuotolinio valdymo signalų dekodavimas naudojant „Arduino“:
„Arduino“ lenta čia veikia dviem etapais: viena yra tada, kai ją naudojate IR kodams iššifruoti iš nuotolinio valdymo pulto, kita - kai naudojate ją kaip IR blasterį.
Pakalbėkime apie pirmąjį etapą. Dabar, norėdamas iššifruoti IR mygtukų kodus, aš panaudojau Keno Shirriffo „IRremote“ antraštės failą. Šiame antraštės faile yra daug iš anksto nustatytų pavyzdžių / kodų, kad tik mums būtų lengviau dirbti su IR kodais:
- Pirmiausia turite atsisiųsti ir įdiegti IR nuotolinę biblioteką iš čia
- Išpakuokite ir įdėkite į „Arduino“ bibliotekų aplanką. Tada pervadinkite išgautą aplanką į „IRremote“.
- Tada įrašykite žemiau pateiktą kodą į „Arduino“, prijunkite pasirinktinį skydą, kaip parodyta aukščiau, ir padėkite dekoduojamą nuotolinio valdymo pultą prieš TSOP IR imtuvą. Atidarykite serijinį monitorių, atitinkantį šį „Arduino“, ir paspauskite bet kurį norimą nuotolinio valdymo pulto mygtuką. Pamatysite tam tikrą informaciją, rodomą virš terminalo, ši informacija apima kodo tipą, jo vertę ir su juo susijusių bitų kiekį. Štai kaip tai atrodo:
# įtraukti
Kai baigsite norimą dekodavimo dalį, užrašykite visas dekodavimo reikšmes ir kitą informaciją, paspausdami atitinkamą mygtuko pavadinimą. Tai bus duomenų bazė kitam „Arduino“ etapui. Pirmiau nurodyta programa yra paimta iš „IRremote“ bibliotekos aplanko „pavyzdžiai“. Galite sužinoti daugiau pavyzdžių, kad sužinotumėte daugiau apie IR nuotolinio valdymo pulto naudojimą. Taigi taip mes iššifravome IR nuotolinį išėjimą.
Dabar įrašykite kodą, pateiktą skyriaus Kodas pabaigoje, į tą pačią lentą. Sveikiname, jūs baigėte pirmąją šio projekto pusę.
„IR Blaster“ skirtos „Android“ programos kūrimas:
Čia ateina antroji pusė - „ Android“ programų kūrimas. Aš tiesiog norėčiau naudoti MIT APP išradėjas-2 kurdamas tokias programas. Jei esate „Android“ kodavimo mėgėjas, tai sutaupys jūsų laiką ir suteiks gerų rezultatų. Pagrindiniai komponentai, naudojami kuriant šią programą, nėra daug, tik keli mygtukai ir „Bluetooth“ kliento paketas. Koduodami programą, pateikite atitinkamą tekstą, kuris turi būti išsiųstas už kiekvieną ekrane paspaustą mygtuką, kuris paprašytų „Arduino“ mirksėti IR šviesos diodu taip pat, kaip tai būtų daręs atskiras nuotolinio valdymo pultas; taip pat įsitikinkite, kad nurodėte teisingą „Bluetooth HC-05“ modulio adresą. Štai kaip galutinė programa atrodys jūsų „Android“ išmaniajame telefone:
Štai žingsnis po žingsnio kuriant programą:
1 ŽINGSNIS:
Prisijunkite prie šios nuorodos: ai2.appinventor.mit.edu arba pabandykite ieškoti „MIT appinventor-2“ sistemoje „Google“. Norint prisijungti prie AI2 reikalinga „Google“ paskyra, taigi, jei jos neturite, sukurkite ją.
2 ŽINGSNIS:
Kai prisijungsite naudodami „Google“ paskyrą, būsite nukreipti į dirbantį AI2 tinklalapį, kuris atrodo taip:
Pradėkite naują projektą viršuje spustelėdami skirtuką „Projektai“ ir pasirinkdami „Pradėti naują projektą“. Kai baigsite pavadinimo dalį ir viską, jums bus parodytas tuščias ekranas, kuriame galėsite įdėti mygtukus ir tekstą, kaip parodyta aukščiau. Tai yra GUI ekranas, kuriame jūs nuspręsite, kaip programa atrodys vartotojui.
Norėdami naudoti mygtukų paketą, kairiajame ekrano krašte, skyriuje „Vartotojo sąsaja“, pasirinkite skirtuką „Mygtukas“. Tiesiog vilkite bet kurį paketą iš kairės pusės meniu ir nuvilkite jį į darbinį ekraną. Panašiai, norėdami rodyti bet kokius su tekstu susijusius dalykus, naudokite „Etiketės“ paketą.
3 ŽINGSNIS:
Sutvarkę visus mygtukus ir etiketes, atėjo laikas sukurti šios programos kodą. Bet prieš tai turime pasirinkti „Bluetooth“ paketą, kad galėtume bendrauti su „Arduino“.
Jūs pastebėsite, kad šis paketas nerodomas ekrane, o jis yra „Nematomi komponentai“. Tai yra komponentai, kurie neturi reikšmės GUI makiažui.
4 ŽINGSNIS:
Toliau ateina kodavimo skyrius, kuriame jūs apibrėžsite pasirinktų komponentų, su kuriais norite dirbti, funkciją.
Kairėje ekrano pusėje pastebėsite visus tuos paketus, kuriuos pasirinkote GUI skyriuje. Aukščiau pateiktame paveikslėlyje parodyta, kokie komponentai yra tam tikrame pakete, kurį galite naudoti. Taip pat atkreipkite dėmesį, kad „Bluetooth“ modulio adresą reikia nurodyti tekstiniu formatu.
SETP 5:
Kai manote, kad programa yra paruošta naudoti ir nėra klaidų, spustelėkite skirtuką „Sukurti“, kaip parodyta aukščiau, ir pasirinkite antrąją parinktį. Tai padės atsisiųsti jūsų sukurtą programą į kompiuterį „.apk“ formatu. Tada tiesiog perkelkite šį.apk failą į bet kurį „Android“ įrenginį ir spustelėkite jį, kad įdiegtumėte.
Taigi, tokiu būdu jūs galite valdyti bet kurį IR valdomą nuotolinio valdymo įrenginį naudodami savo išmanųjį telefoną, jums tiesiog reikia iššifruoti bet kurio prietaiso, kurį norite valdyti, nuotolinio valdymo pultą ir pakeisti „Arduino“ kodo dekoduotą HEX kodą.