Mainos

Piilota tämä olohuoneessasi ja naura, sillä TiVo-laatikkoa näennäisesti hallitsee demoni, joka vaatii katsomaan kevyitä ostoskanavia. Olipa päätavoitteesi sammuttaa kaikki naapurissa olevat televisiot tai rakentaa universaalit Siri-ohjattu kaukosäädin, tämä projekti toimii loistavana lähtökohtana IR-ohjauksen perusteiden oppimiseen ja vastaanottimet.

Tässä "kepponessä" teemme laitteen, joka tallentaa ja toistaa sarjan IR-kauko-komentoja. Se toimii kaikkien laitteiden kanssa, jotka käyttävät infrapunakaukosäädintä tai jopa yhdistelmää laitteita kerralla - tallentaa jopa 10 näppäinpainetta.

komponentit

Tässä on luettelo asioista, joita tarvitset tähän projektiin:

  • Arduino ja patch-johdot
  • IR-vastaanotin, kuten TSOP382 - mutta sinun pitäisi pystyä löytämään yhteensopiva vanhasta elektroniikasta. Vedin kaivokseni varaosasta RGB-valaistusohjaimesta. Niillä on tyypillisesti 3 jalkaa ja ne ovat mustia, ja toiset sivut näyttävät LEDiltä, ​​joka on katkaistu puoliksi ja jumissa. Olen varma, että siihen on tekninen sana.
  • IR-lähettimen LED, kuten TIL38 - taas, nämä ovat melko yleisiä, mutta ostin uuden suuren tehon yhden Maplinilta; ne näyttävät samanlaisilta kuin mikään muu LED, joten varmista, ettet sekoita niitä elektroniikkapakettiisi!
  • Sopiva vastus IR-LEDillesi - käytä tätä LED-laskin annetaan syöttöjännite (5 V Arduinosta) ja lähtöjännite ja virta LED-tietolomakkeelta (yleensä noin 1,2 V @ 20 mA). Tämä tuli minuun 220 ohmina.
  • Painike ja 10 000 alasveto- ja 100 ohmin vastukset.
  • Lataa IR-etäkirjasto Ken Shirriff Githubista ja aseta omaan Arduino / Kirjastot kansio. Tässä on myös joitain esimerkkejä käyttämästämme koodista, jonka pitäisi sitten olla saatavilla Arduinosta Auki -> Kirjastot valikko.
komponentit

johdotus

Käsittele tätä piiriä kolmeen osaan - kytkin on hiukan siististi, mutta kaikki muu on helppoa. Muista, että LED: n lyhyt jalka, jossa litteät kasvot, on katodi (negatiivinen tai maadoitettu); pitkä jalka on anodi (positiivinen).

piiri-kaavio-ir-kepponen

Signaalien vastaanottaminen

Mene eteenpäin ja avaa kirjastot / irRemote / IRrecvDemo esimerkkikoodi. Varmista, että RECV_Pin on asetettu oikein, käännä ja lähetä, avaa sitten sarjakonsoli 9600 baudilla. Tartu mistä tahansa kaukosäätimestä, joka sinun täytyy käsittää, kohdista se vastaanottimeesi ja aloita painikkeiden painallus. Eri painikkeet tuottavat erilaisia ​​koodeja; jotkut ilmoittavat sitten pitkään alkukoodilla FFFFFF, kun taas eri kaukosäätimet voivat yksinkertaisesti toistaa koodin uudelleen.

irrecv

Tarkempi kuva vastaanotettavista tiedoista on IRrecvDump sen sijaan esimerkki, joka ilmoittaa sekä vastaanotetun signaalin tyypin (tässä tapauksessa 32-bittinen NEC) että raaka-arvot. Hyvä tietää, mutta useimmissa tapauksissa haluat vain dekoodatut arvot.

irdump

Signaalin toistaminen

Emme kirjoita kepponemme tänään tyhjästä, joten mene eteenpäin ja tutustu IRrecord esimerkki. Koodin monimutkaisuus kasvaa täällä huomattavasti, mutta kaiken tyyppisten on käsitellä erityyppisiä IR-koodeja - pohjimmiltaan tässä tapahtuu silmukan sisällä:

  • Tarkista painikkeen painettavuus, toista tällä hetkellä tallennettu signaali, jos se on, ja toista 50 ms välein, kunnes painat.
  • Tallenna se, jos sitä ei paineta ja signaali havaitaan.

Tämän esimerkin suurin rajoitus on, että se toimii vain yhdellä koodilla kerrallaan, joten jos painat toista etäpainiketta, se korvaa viimeisen. Painike toistaa yksinkertaisesti viimeisimmän vastaanottamansa signaalin. Käännä ja suorita koodi, jotta voit käyttää tätä perussignaalin toistinta. Yhden signaalin toistamiseen se toimii hienosti, mutta siitä ei juurikaan ole käytännöllistä kepponen muodossa tai muuten.

The Prank!

Muutetaan sitä hieman tallentamaan vähintään 10 ilkikurista signaalia. Löydät täysi muokattu koodi täällä, mutta tässä on hahmotelma tekemistäni muutoksista, jos haluat ohjelmoida tämän itsellesi:

  • Määritä 3 uutta taulukon kokoa 10 signaalijoukon tallentamiseksi joka kerta, kun yksi havaitaan, ja kokonaisluku näiden taulukkojen koon tallentamiseksi.
  • Tallenna hakemisto siitä, missä tällä hetkellä olemme siinä ryhmässä. Nosta indeksiä joka kerta, kun signaali havaitaan - mutta älä lisää, jos signaali on toistuskoodi.
  • Boolen arvo, joka estää enemmän tallentamisen, kun olemme saavuttaneet maksimiarvon.
  • Boolean osoittaa, olemmeko toistotilassa vai ei, sen sijaan, että meidän pitää pitää painiketta painettuna. muutti myös painikkeiden logiikkaa vaihtaaksesi tätä.

Huomaa, että Arduinon merkkivalo (nasta 13) aktivoituu, kun muisti on täynnä. Tällä hetkellä sinun on tallennettava 10 painikkeen painalluksia - ei vähemmän - ja toistotila odottaa yhden sekunnin jokaisen painikkeen toiston välillä. Tässä se on toiminnassa:

Voit joko pelata lisäämällä IR-prankkeja tai pitämään tätä hyvänä alkua eeppisemmäksi kodin automaatioprojekti Kotiautomaatio-opas Raspberry Pi: n ja Arduinon kanssaKodin automaatiomarkkinat ovat täynnä kalliita kuluttajajärjestelmiä, jotka eivät ole keskenään yhteensopivia ja kalliita asentaa. Jos sinulla on Vadelma Pi ja Arduino, voit periaatteessa saavuttaa saman asian ... Lue lisää ; ja älä unohda tarkistaa kaikkia muita Arduino-projektit. Jaa luomuksesi (tai ongelmasi) kommenteissa ja osoita arvostavasi tätä artikkelia jakamalla se suosikki sosiaalisissa verkostoissasi!

Kuvaluotto: DaGoaty

Jamesilla on teknisen älykunnan kandidaatin tutkinto ja hän on CompTIA A + ja Network + -sertifioitu. Hän on MakeUseOfin johtava kehittäjä ja viettää vapaa-aikansa pelaamalla VR-paintballia ja lautapelejä. Hän on rakennettu tietokoneita lapsuudestaan ​​asti.