Hlavním prvkem infračerveného dálkového ovládání, které je v sadě Arduino MAXI Starter kit, je infračervený přijímač HX1838. Tento infračervený přijímač umožňuje detekovat signály z infračervených dálkových ovladačů, jako je kupříkladu dálkový ovladač televize. Při připojení čidla HX1838 k modulu Arduino dokážeme řídicí signály převést na hodnoty proměnných a dále využít. Součástí experimentální sady Arduino MAXI Starter kit je kromě přijímače i dálkový ovladač. Tento univerzální ovladač se naučíme načítat, tím pádem jej můžeme někdy využít pro ovládání své budoucí aplikaci. Bude záležet jen na nás, jaké přiřadíme v ovládacím programu klávesám funkce. Nemusíme používat jen ovladač, který je v experimentální sadě, zkusme využít i jiné dálkové ovladače, které doma najdeme – třeba od televize nebo HiFi věže.
Jako světelné zdroje se v dálkových ovladačích používají infračervené luminiscenční diody (LED), emitující záření o vlnové délce kolem 950 nm. Jelikož při způsobu zasílání informace způsobem log. 1 = „infra LED svítí“, log. 0 = „nesvítí“ by bylo obtížné zajistit bezchybný přenos datového rámce z důvodu vysokého rušení (zdrojem takového infračerveného záření je i slunce či obyčejná žárovka), využívá se pro přenos modulace.
Při modulaci vysoké logické úrovně (HIGH) se infra LED budí obdélníkovým nosným signálem o dané střídě a frekvenci, typicky mezi 30–56 kHz (v našem případě 38 kHz). Tento stav se nazývá značka. Po dobu logické nízké úrovně (LOW) není dioda aktivní, nastává mezera. Dobu trvání značky a mezery, stejně tak jako jejich význam, specifikuje použitý protokol. Přijímač signálu je nastaven na použitý nosný kmitočet. Tím, že ostatní kmitočty odfiltruje, účinně zamezuje možnému rušení okolním světlem.
Zdroj obrázku: https://
V našem ukázkovém příkladu budeme chtít vytvořit ovládání vestavěné LED modulu Arduino pomocí tlačítka ►/❚❚ na dálkovém ovladači. Když stiskneme na dálkovém ovladači tlačítko ►/❚❚ , infračervené paprsky vyslané z dálkového ovladače budou přijaty IR přijímačem. Pokud odeslaný kód tlačítka bude odpovídat zadané hodnotě (16761405), budeme signalizovat tento stav rozsvícením vestavěné LED na modulu Arduino.
Krok 1: Sestavíme si obvod podle následujícího obrázku nebo schématu. Zapojení jednotlivých vodičů mezi modulem Arduino a IR přijímače zachycuje tabulka.
Blokové schéma
Elektronické schéma
IR přijímač | modul Arduino |
---|---|
S (signal out) | 2 |
GND (–) | GND |
UCC (+) | 5V |
Krok 2: V prostředí mBlock vytvoříme následující program.
Program lze stáhnout z:
http://
První částí programu je obvyklé nastavení pinů modulu Arduino a deklarace použitých proměnných, zde jde o nastavení pinu 13
, ke kterému je připojena vestavěna LED modulu Arduino, jako digitální výstup a nastavení čísla pinu, na kterém bude přijímána informace od IR přijímače. Proměnná pom
bude sloužit pro uložení přijaté hodnoty.
V hlavní nekonečné smyčce „opakuj stále“ programu je načítán IR přijímač. Programové bloky, které se provedou jen při přijetí nějaké zprávy, jsou uzavřeny v sekci „Pokud IR přijal data…“. V takovém případě se uloží načtená hodnota do proměnné hod
a vypíše se i na sériový port. Vypsání přijaté hodnoty na sériový port se hodí v případě, že bychom chtěli naprogramovat i jiné tlačítko, než zde stanovené tlačítko ►/❚❚ . Lze tak v sériovém monitoru vidět kódy všech zachycených tlačítek. Pokud se hodnota přijatého signálu rovná kódu zvoleného tlačítka (zde 16761405) dojde k rozsvícení vestavění LED modulu Arduino (pin 13
je nastaven na vysokou úroveň HIGH), jinak je LED zhasnuta (pin 13
má nízkou úroveň LOW).
Krok 3: Zkompilujeme kód a nahrajeme do modulu Arduino tlačítkem .
Krok 4: Nyní stiskni tlačítko ►/❚❚ na dálkovém ovladači. Vestavěná LED modulu Arduino, která je připojená k vývodu 13
, se rozsvítí. Stiskni libovolnou jinou klávesu na dálkovém ovladači a LED zhasne.
Pokud chceme výpisy na sériový port sledovat, je opět třeba modul Arduino odpojit od prostředí mBlock a připojit k aplikaci Serial Monitor.
Krok 5: Nyní modul Arduino odpojíme od prostředí mBlock pomocí tlačítkem . USB kabel modulu Arduino ale od počítače neodpojujeme!
Krok 6: Spustíme na počítači aplikaci Serial Monitor. V Serial Monitoru vybereme port, na které je náš modul Arduino (např. COM5) připojen a nastavíme komunikační rychlost na hodnotu 115200 baudů. Na závěr se tlačítkem Connect připojíme k modulu Arduino. Objeví se okno sériového monitoru, ve kterém se budou zobrazovat přijaté kódy stisknutých tlačítek na dálkovém ovladači.