- Szükséges alkatrészek:
- Munka magyarázat:
- Kördiagramm:
- IR távirányító jelek dekódolása Arduino használatával:
- Az Android alkalmazás fejlesztése az IR Blaster számára:
Azért indítottam el ezt a projektet, hogy megszabaduljak az otthoni különféle távirányítóktól, és valami olyat építsek, amely magában foglalhatja mindegyik jellemzőit. Akkor kaptam ezt az ötletet, amikor megláttam egyik barátom beépített IR robbantóval ellátott mobiltelefonját, akkor úgy döntöttem, hogy nem veszek hasonló telefont, inkább saját készüléket készítek, amelynek kompatibilisnek kell lennie a meglévő készülékemmel. Tehát itt meg fogunk alakítani egy Android telefont IR távirányítóvá az Arduino segítségével a különféle otthoni eszközök vezérléséhez.
Szükséges alkatrészek:
- Arduino Uno
- IR LED
- TSOP-IR vevő (1838T)
- Bluetooth modul (HC05)
- Android-eszköz (telefon, táblagép stb.)
Munka magyarázat:
Általában két távirányítót használunk a tévékészülék otthoni működtetéséhez, egyet a televízióhoz és egyet a set-top boxhoz, így itt a projektben ezt a két távirányítót célozom meg, és egy olyan Android-telefont készítek, amely IR Blaster-ként működik, hogy a tévét a telefon vezérelhesse., anélkül, hogy bármelyik távirányítót megérintené.
Az Arduino Uno kártya használata csak megkönnyítette számomra az IR dekódoló és kódoló rész kezelését. Az egyedi gyártású pajzs csak kiegészíti a projekt kényelmi részét. A pajzs egy TSOP IR vevőből (1838T), egy IR LED-ből és egy Bluetooth modulból (HC-05) áll, lásd az alábbi képet:
Vagy megépítheti az egyedi pajzsot, vagy közvetlenül csatlakoztathatja az alkatrészeket az Arduino-hoz, az alábbi szakasz "Áramköri diagramja" szerint.
Mielőtt továbblépnénk, először beszéljünk arról, hogyan működnek az IR távirányítói. Az infravörös távirányítók többsége 38 KHz frekvenciák körül működik (ezért választottam a 18 38 T-t). Ha tovább foglalkozik ezzel a témával, felismeri, hogy ezekben az IR adatátviteli módszerekben nincs rögzített reprezentáció a nullák és a nullák számára. Ezek a kódok különféle kódolási technikákat alkalmaznak, amelyeket mérnöki tantervünkben tanulmányozunk (mivel elektronikai mérnök hallgató vagyok). A 38 KHz jelentősége az, hogy ez a frekvencia, amelyen a jel logikailag magasan oszcillál, vagyis ez a jel vivőfrekvenciája. Vessen egy pillantást az alábbi képre; ez a NEC protokoll példája. Ez világosabbá teszi a koncepciót:
Tehát itt van, hogyan működik ez az IR Blaster; egy Android telefon az egyedi Android alkalmazással küldi a jelet az Arduino áramkörhöz Bluetooth-on keresztül, az Arduino pedig a TSOP-IR vevőn (1838T) keresztül fogadja a jelet és elemzi azt. Ezután Arduino megparancsolja az IR LED-nek, hogy villogjon egy adott mintában, az adott Android Device App-on megnyomott gombnak megfelelően. Ezt a villogó mintát a TV vagy a set-top box infravörös vevője rögzíti, és ennek megfelelően követi az utasításokat, például a csatorna megváltoztatásához vagy a hangerő növeléséhez.
De előtte dekódolnunk kell a meglévő távirányítókat. Mint korábban említettük, ebben a projektben két távirányítót alkalmaztam, amelyek közül az egyik kommunikál a TV-vel, míg a másik a TV-hez csatlakoztatott set-top boxra vonatkozik.
Kördiagramm:
IR távirányító jelek dekódolása Arduino használatával:
Az Arduino tábla itt két fázisban működik, az egyik az, amikor az infravörös kódokat dekódolja a távirányítóról, a másik pedig az, amikor IR robbantó eszközként használja.
Beszéljünk az első szakaszról. Most, hogy dekódolja az IR gomb kódok tettem használatát Ken Shirriff a IRremote header fájlt. Ez a fejlécfájl számos előre definiált példát / kódot tartalmaz, csak azért, hogy megkönnyítsük számunkra az IR-kódokkal való munkát:
- Először innen kell letöltenie és telepítenie az IR távoli könyvtárat:
- Csomagolja ki, és helyezze az Arduino 'Könyvtárak' mappába. Ezután nevezze át a kibontott mappát IRremote névre.
- Ezután égesse be az alább megadott kódot az Arduino-ba, csatlakoztassa az egyedi pajzsot a fent látható módon, és helyezzen egy dekódolandó távirányítót a TSOP IR-vevő elé. Nyissa ki az Arduino-nak megfelelő soros monitort, és nyomja meg a távvezérlő bármelyik kívánt gombját. Látni fog néhány információt a terminál felett, amely tartalmazza a kód típusát, értékét és a vele kapcsolatos bitek mennyiségét. Így néz ki:
#include
Miután elkészült a kívánt dekódolási résszel, jegyezze fel az összes dekódolási értéket és egyéb információt a megfelelő gomb nevének megnyomásával. Ez adatbázisként szolgál az Arduino következő szakaszához. A fenti program az IRremote könyvtár 'példák' mappájából származik, és további példákat is megnézhet az IR távvezérlő használatáról. Így dekódoltuk az IR távkimenetet.
Most írd le ugyanarra a táblára a kódot, amely a Kód részben található. Gratulálunk, elkészült a projekt első felével.
Az Android alkalmazás fejlesztése az IR Blaster számára:
Itt jön a második félidő, az Android App készítése. Egyszerűen inkább az MIT APP feltaláló-2-ét használom ilyen jellegű alkalmazások készítéséhez. Ha amatőr vagy az Android kódolásban, akkor ez időt takarít meg és jó eredményeket hoz. Az alkalmazás elkészítéséhez felhasznált fő összetevők nem sokak, csak néhány gomb és egy Bluetooth kliens csomag. Az alkalmazás kódolása közben adja meg a megfelelő szöveget, amelyet el kell küldeni a képernyőn megnyomott minden egyes gombra kattintva az Arduino kéri az IR LED villogását ugyanúgy, ahogyan azt az egyes távvezérlők tették volna; győződjön meg arról is, hogy megadta-e a Bluetooth HC-05 modul helyes címét. Így fog kinézni a végső alkalmazás az Android okostelefonodon:
Az alkalmazás felépítésének lépésről lépésre:
1. LÉPÉS:
Jelentkezzen be erre a linkre: ai2.appinventor.mit.edu, vagy próbálkozzon a MIT appinventor-2 keresésével a Google-on. Az AI2-be való bejelentkezéshez Google-fiók szükséges, ezért ha még nincs, akkor hozzon létre egyet.
2. LÉPÉS:
Miután bejelentkezett Google-fiókjával, átirányít az AI2 működő weboldalra, amely így néz ki:
Indítson új projektet a tetején található „Projektek” fülre kattintva, és válassza az „Új projekt indítása” lehetőséget. Ha végzett a névadási résszel és mindennel, akkor egy üres képernyő jelenik meg, amelyben gombokat és szöveget helyezhet el a fent látható módon. Ez a GUI képernyő, amelyben eldöntheti, hogyan nézne ki az alkalmazás egy felhasználó számára.
Gombcsomag használatához válassza a „Gomb” fület a képernyő bal oldalán, a „Felhasználói felület” részben. Csak húzza bármelyik csomagot a bal oldali menüből, és dobja be a munka képernyőjére. Hasonlóképpen bármilyen szöveggel kapcsolatos dolog megjelenítéséhez használja a „Label” csomagot.
3. LÉPÉS:
Az összes gomb és címke elrendezése után itt az ideje, hogy elkészítsen egy kódot ehhez az alkalmazáshoz. De előtte ki kell választanunk egy Bluetooth csomagot is, hogy kommunikálhassunk az Arduinóval.
Észre fogja venni, hogy ez a csomag nem jelenik meg a képernyőn, inkább a „Nem látható alkatrészek” alatt található. Ezek azok az összetevők, amelyeknek nincs jelentősége a GUI-sminkben.
4. LÉPÉS:
Ezután következik a kódolási szakasz, amelyben meghatározhatja a kiválasztott és használni kívánt összetevők függvényét.
A képernyő bal oldalán észreveszi mindazokat a csomagokat, amelyeket a GUI részben választott ki. A fenti kép megmutatja, hogy az összes csomagban mely komponensek találhatók egy adott csomagban, amelyet felhasználhat. Vegye figyelembe azt is, hogy a Bluetooth modul címét szöveges formában kell megadni.
SETP 5:
Ha úgy érzi, hogy az alkalmazás készen áll a használatra, és nincsenek hibák is, kattintson a „Build” fülre a fent látható módon, és válassza a második lehetőséget. Ez letölti a saját létrehozott alkalmazását a számítógépre, „.apk” formátumban. Ezután egyszerűen helyezze át ezt az.apk fájlt bármely Android-eszközre, és kattintson rá a telepítéshez.
Tehát így vezérelhet bármilyen infravörös távirányítós készüléket okostelefonjával, csak dekódolnia kell minden olyan készülék távvezérlőjét, amelyet telefonjával vezérelni szeretne, és kicserélnie kell a távoli gombok dekódolt HEX kódját az Arduino kódban.