- Požadované komponenty:
- Pracovní vysvětlení:
- Kruhový diagram:
- Dekódování signálů IR dálkového ovládání pomocí Arduina:
- Vytváření aplikace pro Android pro IR Blaster:
Tento projekt jsem zahájil proto, abych se doma zbavil různých dálkových ovladačů a vytvořil něco samostatného, které by mohlo zahrnovat vlastnosti všech z nich. Tuto myšlenku jsem dostal, když jsem viděl jeden z mobilních telefonů mého přítele s vestavěným IR blasterem, v té době jsem se rozhodl nekoupit podobný telefon, ale udělat si vlastní zařízení, které by mělo být kompatibilní s mým stávajícím sluchátkem. Takže tady se chystáme převést telefon Android na IR dálkové ovládání pomocí Arduina k ovládání různých zařízení doma.
Požadované komponenty:
- Arduino Uno
- IR LED
- TSOP-IR přijímač (1838T)
- Bluetooth modul (HC05)
- Zařízení Android (telefon, tablet atd.)
Pracovní vysvětlení:
Obecně používáme dva dálkové ovladače pro ovládání TV doma, jeden pro televizi a jeden pro Set-Top Box, takže zde v tomto projektu zaměřuji tyto dva dálkové ovladače a dělám telefon Android fungující jako IR Blaster, aby bylo možné televizi ovládat pomocí telefonu, aniž byste se dotkli některého z dálkových ovladačů.
Použití desky Arduino Uno mi usnadnilo práci s IR dekódovací a kódovací částí. Zakázku štít jen přidává k pohodlí v rámci tohoto projektu. Stínění se skládá z přijímače TSOP IR (1838T), IR LED a modulu Bluetooth (HC-05), viz obrázek níže:
Můžete buď postavit vlastní štít, nebo můžete přímo připojit komponenty k Arduinu, jak je znázorněno v „Circuit Diagram“ v následující části.
Než se pohneme vpřed, pojďme nejprve diskutovat o tom, „jak fungují dálkové ovladače IR“. Většina infračervených dálkových ovladačů pracuje kolem frekvencí 38 KHz (to je důvod, proč jsem zvolil 18 38 T). Při dalším zapojení do tohoto tématu zjistíte, že v těchto metodách přenosu dat IR neexistuje pevná reprezentace nul a jedniček. Tyto kódy využívají různé kódovací techniky, které studujeme v našich technických osnovách (protože jsem studentem elektronického inženýrství). Význam 38 KHz spočívá v tom, že se jedná o frekvenci, při které signál osciluje, když je logicky vysoká, tj. Toto je nosná frekvence signálu. Podívejte se na obrázek níže; toto je příklad protokolu NEC. Tím bude váš koncept jasnější:
Tak tady je , jak to IR Blaster funguje; telefon s Androidem s vlastní aplikací pro Android odesílá signál do obvodu Arduino přes Bluetooth, dále Arduino přijímá signál přes TSOP-IR přijímač (1838T) a analyzuje jej. Poté Arduino přikazuje IR LED blikat v určitém vzoru, což odpovídá tlačítku stisknutému v této aplikaci pro zařízení Android. Tento blikající obrazec je zachycen televizním přijímačem nebo infračerveným přijímačem set-top boxu a postupuje podle pokynů, jako je změna kanálu nebo zvýšení hlasitosti.
Ale předtím musíme dekódovat stávající ovladače. Jak již bylo zmíněno dříve, v tomto projektu jsem použil dva dálkové ovladače, jeden komunikující s televizorem, druhý pro set-top box připojený k televizi.
Kruhový diagram:
Dekódování signálů IR dálkového ovládání pomocí Arduina:
Deska Arduino zde pracuje ve dvou fázích, jednou je, když ji používáte k dekódování IR kódů ze vzdáleného, a druhou, když ji používáte jako zařízení IR blasteru.
Promluvme si o první fázi. Nyní k dekódování kódů tlačítek IR jsem využil soubor IRremote v záhlaví Kena Shirriffa . Tento soubor záhlaví obsahuje mnoho předdefinovaných příkladů / kódů, které nám usnadňují práci s IR kódy:
- Nejprve si musíte stáhnout a nainstalovat vzdálenou IR knihovnu zde
- Rozbalte jej a umístěte do složky Arduino 'Libraries'. Poté přejmenovanou složku přejmenujte na IRremote.
- Poté vypalte níže uvedený kód do Arduina, připojte vlastní štít, jak je znázorněno výše, a umístěte dálkový ovladač, který má být dekódován, před TSOP IR přijímač. Otevřete sériový monitor odpovídající tomuto Arduinu a stiskněte libovolné tlačítko na dálkovém ovladači. Uvidíte některé informace zobrazené přes terminál, tyto informace zahrnují typ kódu, jeho hodnotu a množství bitů, které jsou s ním spojeny. Vypadá to takto:
#zahrnout
Jakmile skončíte s požadovanou dekódovací částí, poznamenejte si všechny dekódované hodnoty a další informace se stisknutým odpovídajícím názvem tlačítka. To bude sloužit jako databáze pro další fázi Arduina. Výše uvedený program je převzat ze složky „příklady“ knihovny IRremote, můžete si prohlédnout další příklady a dozvědět se více o používání IR dálkového ovladače. Takto jsme dekódovali IR dálkový výstup.
Nyní vypalte kód, uvedený v části Kód na konci, na stejnou desku. Gratulujeme, s první polovinou tohoto projektu jste skončili.
Vytváření aplikace pro Android pro IR Blaster:
Přichází druhá polovina, aplikace pro Android. Jednoduše dávám přednost používání aplikace MIT APP inventor-2 pro výrobu takovýchto aplikací. Pokud jste amatér v kódování systému Android, ušetří vám to čas a poskytne dobré výsledky. Hlavní komponenty použité při tvorbě této aplikace nejsou moc, jen pár tlačítek a balíček Bluetooth klienta. Při kódování aplikace uveďte odpovídající text, který má být odeslán pro každé stisknuté tlačítko na obrazovce, které by Arduino požádalo o blikání IR LED stejným způsobem, jako by to bylo provedeno jednotlivým dálkovým ovladačem; nezapomeňte také uvést správnou adresu vašeho modulu Bluetooth HC-05. Takto bude konečná aplikace vypadat ve vašem chytrém telefonu Android:
Tady je krok za krokem proces sestavení aplikace:
KROK 1:
Přihlaste se k tomuto odkazu: ai2.appinventor.mit.edu nebo zkuste vyhledat MIT appinventor-2 na Googlu. Přihlášení k AI2 vyžaduje účet Google, takže pokud jej nemáte, vytvořte si jej.
KROK 2:
Jakmile se přihlásíte pomocí svého účtu Google, budete přesměrováni na funkční webovou stránku AI2, která vypadá takto:
Spusťte nový projekt kliknutím na kartu „Projekty“ v horní části a výběrem „Spustit nový projekt“. Když skončíte s pojmenovací částí a všemi, zobrazí se vám prázdná obrazovka, do které můžete umístit tlačítka a text, jak je uvedeno výše. Toto je obrazovka GUI, na které se rozhodujete, jak by aplikace vypadala pro uživatele.
Chcete-li použít balíček tlačítek, vyberte kartu „Tlačítko“ na levé straně obrazovky v části „Uživatelské rozhraní“. Stačí přetáhnout libovolný balíček z levé nabídky a umístit jej na pracovní obrazovku. Podobně k zobrazení veškerých věcí souvisejících s textem použijte balíček „Štítek“.
KROK 3:
Po uspořádání všech vašich tlačítek a štítků je nyní čas vytvořit kód pro tuto aplikaci. Ale předtím musíme pro komunikaci s Arduinem vybrat také balíček Bluetooth.
Všimněte si, že tento balíček se na obrazovce nezobrazuje, spíše spadá pod „Neviditelné komponenty“. Jedná se o komponenty, které nemají v grafickém uživatelském rozhraní žádný význam.
KROK 4:
Dále přichází sekce kódování, ve které definujete funkci pro komponenty, které jste vybrali a se kterými chcete pracovat.
Na levé straně obrazovky si všimnete všech balíčků, které jste vybrali v sekci GUI. Obrázek výše ukazuje, jaké jsou všechny komponenty v konkrétním balíčku, který můžete využít. Také si všimněte, že adresa modulu Bluetooth musí být uvedena v textovém formátu.
SETP 5:
Pokud máte pocit, že je aplikace připravena k použití a nedochází ani k chybám, klikněte na kartu „Sestavit“, jak je uvedeno výše, a vyberte druhou možnost. Tím se do počítače stáhne vaše vlastní vytvořená aplikace ve formátu „.apk“. Pak jen přeneste tento soubor.apk do libovolného zařízení Android a klikněte na něj pro instalaci.
Takto můžete pomocí svého chytrého telefonu ovládat jakékoli IR dálkově ovládané zařízení, stačí dekódovat dálkový ovladač všech zařízení, která chcete pomocí svého telefonu ovládat, a nahradit dekódovaný HEX kód dálkových tlačítek v kódu Arduino.