Hirdetés

Elrejti ezt a nappaliban és nevetjen, mivel a TiVo dobozt látszólag egy démon birtokolja, amely megköveteli a sajtos bevásárló csatornák figyelését. Függetlenül attól, hogy a legfontosabb cél az, hogy kikapcsoljon minden tévét a környéken, vagy építsen egy univerzális készüléket A Siri-vezérelt távirányító ez a projekt kiváló kiindulópontként szolgál az IR vezérlés alapjainak megtanulásához és vevők.

Ebben a „tréfaban” készüléket készítünk, amely rögzíti, majd lejátssza egy sor IR távirányító parancsot. Bármely olyan készülékkel működik, amely infravörös távirányítót használ, vagy akár egyszerre akár eszközkeveréket is - akár 10 gombnyomás rögzítésére.

Alkatrészek

Itt van egy lista a dolgokról, amelyekre szüksége van a projekthez:

  • Arduino és patch vezetékek
  • Infravörös vevő, például a TSOP382 - de a régi elektronikában kompatibilisnek kell lennie. Kihúztam az enyémet egy tartalék RGB világítóvezérlőből. Jellemzően 3 lábuk van és fekete, az egyik oldala olyan, mint egy LED, amelyet felére vágtak és beragadtak. Biztos vagyok benne, hogy erre technikai szó van.
  • instagram viewer
  • IR adó LED, mint például a TIL38 - ismét ezek nagyon gyakoriak, de vettem egy új nagyteljesítményűt a Maplin-től; ugyanúgy néznek ki, mint bármely más LED, tehát ügyeljen arra, hogy ne keverje össze őket az elektronikai készletben!
  • Megfelelő ellenállás az IR LED-hez - használja ezt LED számológép megadva a tápfeszültséget (5 V az Arduino-tól), valamint a előremenő feszültséget és áramot a LED-adatlapon (általában körülbelül 1,2 V @ 20 mA). Ez az én esetemben 220 ohm volt.
  • Nyomógomb, és 10 k lehajtható és 100 ohmos ellenállások.
  • Töltse le a IR távoli könyvtár: Ken Shirriff, a Github-tól és tedd be magadba Arduino / Libraries mappába. Van még néhány példakód, amelyet használunk, amelyet az Arduinóból kell elérni Nyitva -> Könyvtárak menü.
alkatrészek

Vezeték

Három részből kezelje ezt az áramkört - a kapcsoló kissé rezetlenül, de minden más könnyű. Ne feledje, hogy a LED rövid lába, a sík felülettel, a katód (negatív vagy test); a hosszú láb az anód (pozitív).

kapcsolási rajza-ir-tréfa

Jelek fogadása

Menj előre, és nyisd ki a könyvtárak / IRremote / IRrecvDemo példakód. Ügyeljen arra, hogy a RECV_Pin helyesen van beállítva, fordítsa és töltse fel, majd nyissa meg a soros konzolt 9600 baud sebességgel. Fogjon meg minden kézibeszélőt, irányítsa a vevőkészülékre, és kezdje el megnyomni a gombokat. A különféle gombok eltérő kódokat eredményeznek; mások azt jelzik, hogy hosszan megnyomják az eredeti kódot, majd FFFFFF, míg a különböző távirányítók egyszerűen megismételhetik a kódot.

irrecv

A fogadott adatok részletesebb megtekintéséhez tekintse meg a IRrecvDump Példa helyett, amely jelzi a vett jel típusát (ebben az esetben 32 bites NEC) és a nyers értékeket. Jó tudni, de a legtöbb esetben csak a dekódolt értékeket szeretnéd.

irdump

A jel ismétlése

Ma nem a nulláról írok a tréfa, tehát menj tovább és nézd meg a IRrecord példa. A kód komplexitása itt jelentősen megnő, de többnyire az, hogy megbirkózzon a különféle típusú IR kódok kezelésével - alapvetően itt van, mi történik a hurokban:

  • Ellenőrizze a gomb megnyomását, játssza le az aktuálisan tárolt jelet, ha van, és ismételje meg 50 ms-enként, amíg le nem nyomja.
  • Ha nem nyomja meg, és jelet észlel, rögzítse ezt.

A példa legnagyobb korlátozása az, hogy egyszerre csak egy kóddal működik, tehát ha megnyom egy másik távirányító gombot, akkor az felülírja az utolsóat. A gomb egyszerűen csak a legutóbb kapott jelet játssza le. Fordítsa le és futtassa a kódot, így továbbléphet ezzel az alapvető jelismétlővel. Egyetlen jel lejátszásához ez remekül működik, de kevés gyakorlati hasznot jelent tréfaként vagy más módon.

A Tréfa!

Módosítsuk kissé, hogy legalább 10 vagy annál rosszabb jelet rögzítsen. Megtalálhatja a a teljes módosított kód itt, de itt egy vázlatot adok azokról a változásokról, amelyeket elvégeztem arra az esetre, ha szeretné, ha elkezdené magadnak programozni ezt:

  • Definiáljon 3 új, 10-es méretű tömböt a jelkészlet tárolására minden egyes észleléskor, és egy egész számot, hogy tárolja a tömbök méretét.
  • Tárolja az indexet arról, hogy hol tartózkodunk abban a tömbben. Növelje az indexet minden egyes jel észlelésekor - de ne növekedjen, ha a jel ismétlődő kód.
  • Egy logikai érték, amely megállítja a további rögzítést, miután elértük a maximumot.
  • Logikai érték, amely jelzi, hogy lejátszási módban vagyunk-e vagy sem, ahelyett, hogy nyomva kellene tartanunk a gombot; emellett módosította a gomb logikáját is.

Vegye figyelembe, hogy az Arduino jelzőfénye (13. érintkező) akkor aktiválódik, ha a memória megtelt. Jelenleg 10 gombnyomást kell rögzítenie - nem kevesebbet -, és a visszajátszás mód 1 másodpercet vár az egyes gombvisszajátszások között. Itt működik:

Vagy játszhatsz több IR-csíny készítésével, vagy úgy tekintheted, hogy ez jó kezdete egy epikusabb epizódnak otthoni automatizálási projekt Otthoni automatizálási útmutató Raspberry Pi és Arduino-valAz otthoni automatizálás piacát elárasztják drága fogyasztói rendszerek, amelyek összeegyeztethetetlenek és költségesek a telepítésükhöz. Ha van egy Málna Pi és Arduino, alapvetően ugyanazt a dolgot érheti el ... Olvass tovább ; és ne felejtsd el megnézni az összeset Arduino projektek. Ossza meg alkotásait (vagy problémáit) a megjegyzésekben, és kérjük, mutassa be elismerését e cikkért, ha megosztja azt kedvenc közösségi hálózatain!

Kép jóváírása: DaGoaty

James rendelkezik mesterséges intelligencia BSc-vel, CompTIA A + és Network + tanúsítvánnyal rendelkezik. A MakeUseOf vezető fejlesztője, és szabadidejét VR paintballon és társasjátékokon játszik. Gyerekkora óta épít PC-ket.