Skelbimas
Neslėpkite to savo gyvenamajame kambaryje ir juokitės, nes „TiVo“ dėžutę, regis, turi demonas, reikalaujantis žiūrėti sūrių apsipirkimo kanalų. Nesvarbu, ar jūsų pagrindinis tikslas yra išjungti kiekvieną kaimynystėje esantį televizorių, ar pastatyti universalų Nuotolinis „Siri“ valdomas projektas yra puikus atspirties taškas išmokti IR valdymo pagrindus ir imtuvai.
Šioje „išdaigai“ mes padarysime įrenginį, kuris įrašys, o paskui atkuria IR nuotolinio valdymo komandų seriją. Tai veiks su bet kokiu įrenginiu, kuris naudoja IR nuotolinio valdymo pultą ar net prietaisų derinį vienu metu - įrašys iki 10 klavišų paspaudimų.
Komponentai
Čia yra dalykų, kurių jums reikės šiam projektui, sąrašas:
- Arduino ir pleistrų laidai
- IR imtuvas, pavyzdžiui, TSOP382, - bet jūs turėtumėte sugebėti rasti suderinamą senoje elektronikoje. Aš ištraukiau miną iš atsarginio RGB apšvietimo valdiklio. Paprastai jie turi 3 kojas ir yra juodi, o viena pusė atrodo kaip šviesos diodas, kuris yra perpjautas per pusę ir įstrigęs. Esu tikras, kad tam yra techninis žodis.
- IR siųstuvo šviesos diodas, pavyzdžiui, TIL38 - vėlgi, jie yra gana paplitę, bet aš nusipirkau naują didelės galios iš „Maplin“; jie atrodo identiškai bet kokiam kitam šviesos diodui, todėl nepamirškite jų maišyti savo elektronikos rinkinyje!
- Tinkamas jūsų IR šviesos diodo rezistorius - naudokite tai LED skaičiuoklė atsižvelgiant į maitinimo įtampą (5 V iš Arduino), ir į priekinę įtampą bei srovę iš LED duomenų lapo (paprastai maždaug 1,2 V @ 20 mA). Mano atveju tai pasirodė kaip 220 omų.
- Mygtukas ir 10 000 nuimamų bei 100 omų varžai.
- Atsisiųskite Nuotolinė IR biblioteka, kurią pateikė Kenas Shirriffas iš „Github“ ir vieta savo „Arduino“ / bibliotekos aplankas. Taip pat yra keletas kodo pavyzdžių, kuriuos naudosime ir kuriuos tada turėtume pasiekti iš Arduino Atidaryti -> Bibliotekos Meniu.
Laidai
Šią grandinę sutvarkykite iš trijų dalių - jungiklis šiek tiek padrikas, bet visa kita lengva. Atminkite, kad trumpa LED lemputė su plokščiu veidu yra katodas (neigiamas arba įžemintas); ilgoji koja yra anodas (teigiamas).
Signalų priėmimas
Eik į priekį ir atverk bibliotekos / IRremote / IRrecvDemo pavyzdžio kodas. Įsitikinkite, kad „RECV_Pin“ teisingai nustatyta, sudarykite ir įkelkite, tada atidarykite serijos konsolę 9600 baudų greičiu. Paimkite bet kurį nuotolinio valdymo pultą, kurį turite perduoti, nukreipkite jį į imtuvą ir pradėkite spausti mygtukus. Skirtingi mygtukai duos skirtingus kodus; kai kurie nurodo ilgą paspaudimą su pradiniu kodu FFFFFF, o skirtingi nuotolinio valdymo pultai gali dar kartą pakartoti kodą.
Norėdami gauti išsamesnį duomenų apie gaunamus duomenis apžvalgą IRrecvDump Vietoj to pateiktas pavyzdys, kuris nurodys gauto signalo tipą (šiuo atveju 32 bitų NEC) ir neapdorotas reikšmes. Gera žinoti, bet daugeliu atvejų norėsite tik iššifruotų verčių.
Signalo kartojimas
Šiandien niekur nerašysime savo išdaigos, todėl eikite į priekį ir patikrinkite IRrekordas pavyzdys. Kodo sudėtingumas čia labai padidėja, tačiau dažniausiai tenka susidurti su skirtingų tipų IR kodais - iš esmės štai kas vyksta kilpos viduje:
- Patikrinkite, ar nepaspaudžiamas mygtukas, pakartokite šiuo metu išsaugotą signalą, jei jis yra, ir pakartokite kas 50 ms, kol paspauskite.
- Jei nepaspausite ir aptinkamas signalas, užrašykite tai.
Didžiausias šio pavyzdžio apribojimas yra tas, kad jis veikia tik su vienu kodu vienu metu, taigi, jei paspausite kitą nuotolinio valdymo mygtuką, jis perrašys paskutinį. Mygtukas tiesiog pakartoja patį paskutinį gautą signalą. Sudarykite ir paleiskite kodą, kad galėtumėte naudotis šiuo pagrindiniu signalo kartotuvu. Atkuriant vieną signalą, jis veikia gerai, tačiau tai praktiškai nėra naudinga išdaigoje ar kitu būdu.
Prank!
Pataisykime šiek tiek, kad įrašytume 10 ar daugiau apgailėtinų signalų. Galite rasti visas modifikuotas kodas čia, bet čia pateikiamas mano atliktų pakeitimų aprašymas, jei norėtumėte pabandyti tai susikurti patys:
- Apibrėžkite 3 naujus 10 dydžio masyvus, skirtus saugoti signalų rinkinį kiekvieną kartą, kai tik jie bus aptikti, ir sveikąjį skaičių, kad būtų galima išsaugoti tų masyvų dydį.
- Laikykite indeksą ten, kur šiuo metu esame tame masyve. Padidinkite rodyklę kiekvieną kartą, kai aptinkamas signalas, bet nedidinkite, jei signalas yra pakartojimo kodas.
- Boolean vertė, kuri sustabdo daugiau įrašymą, kai tik pasieksime maksimalią vertę.
- Loginis rodiklis, nurodantis, ar mes atkūrimo režimu, ar ne, o ne palaikyti nuspaudę mygtuką; taip pat pakeitė mygtuko logiką, kad tai perjungtų.
Atminkite, kad „Arduino“ indikatoriaus lemputė (13 kaištis) įsijungs, kai pilna atminties. Šiuo metu turite įrašyti 10 mygtukų paspaudimų - ne mažiau - ir pakartojimo režimas palauks 1 sekundę tarp kiekvieno mygtuko pakartojimo. Čia jis veikia:
Galite žaisti su daugiau IR keiksmažodžių, arba laikykite, kad tai gera pradžia epiškiau namų automatikos projektas Namų automatikos vadovas su „Raspberry Pi“ ir „Arduino“Namų automatikos rinka yra užtvindyta brangių vartotojų sistemų, nesuderinamų viena su kita ir brangiai kainuojančių įrengimo. Jei turite aviečių pi ir arduino, tą patį galite pasiekti ... Skaityti daugiau ; ir nepamirškite patikrinti visų kitų Arduino projektai. Pasidalykite savo kūryba (ar problemomis) komentaruose ir prašau parodyti, kad vertinate šį straipsnį, pasidalydami juo savo mėgstamiausiuose socialiniuose tinkluose!
Vaizdo kreditas: DaGoaty
Jamesas yra dirbtinio intelekto bakalauras ir yra CompTIA A + bei Network + sertifikuotas. Jis yra pagrindinis „MakeUseOf“ kūrėjas ir laisvalaikį praleidžia žaisdamas VR dažasvydį ir stalo žaidimus. Nuo mažens jis statė kompiuterius.