reklama

Pojďme programovat elektroniku: Vyzkoušíme IR, ovládneme světýlko přes Bluetooth a vyšleme zprávu na sto metrů

  • Budeme odposlouchávat IR ovladač klimatizace
  • Vyrobíme laciný rádiový vysílač
  • Vyzkoušíme komunikaci pomocí Bluetooth a v pásmu 433 MHz

Už je to měsíc, co jsem naposledy z krabice vytáhl ultrazvukový dálkoměr HC-SR04, infračervený detektor pohybu PIR a jednoduchý detektor dešťových kapek, připojil je k malé prototypovací destičce Arduino a na jednoduchých příkladech ukázal, že ke zprovoznění elektronického prvku chytré domácnosti dnes nepotřebujete titul inženýra, ale jen základní znalost programování, odvahu učit se nové věci a pár korun na účtu, eBay je totiž na podobné experimentování nebezpečně levný.

V mezidobí mi dorazilo několik desítek nových obálek a balíčků s hromadou atraktivních hraček, které si vyzkoušíme v dalších pokračováních našeho seriálu. Pokud jsme doposud pomocí všemožných senzorů měřili hodnoty, dnes se podíváme na několik modulů, které se postarají o to, aby se dostala informace z bodu A do bodu B a to bez kabelu.

Infračervený vysílač a přijímač

Tím nejprimitivnějším komerčně používaným způsobem bezdrátové komunikace je dnes IR – infračervený přenos signálu. Má jej každý televizní ovladač a dokonce i některé telefony. Podobný IR vysílač/přijímač seženete i v každém e-shopu pro bastlíře, přičemž cena se bude pohybovat od několika desetikorun na eBay a jemu podobných po vyšší částku v Česku, která je ale ospravedlnitelná nejen povinnou zárukou, ale často i skladovou dostupností, takže na drobnou součástku nebudete čekat dlouhé týdny.

Klepněte pro větší obrázek
Primitivní infračervený vysílač a přijímač, kterých jsou plné e-shopy pro bastlíře

Infračervený vysílač za dvacetikorunu samozřejmě sám o sobě nic neumí. Je to vlastně jen dioda, která svítí infračerveným světlem, když do ní pošlete signál. A stejně tak přijímač zachytí buď IR světlo a tedy logickou jedničku, anebo nic a tedy logickou nulu. Podobné moduly mají zpravidla tři vodiče: napájení (+), zem (-) a pin samotného digitálního signálu.

Je to primitivní (a proto komplikované)

Infračervený vysílač je tedy po technické stránce naprosto primitivní – jako byste za tmy blikali třeba baterkou a světlo zaznamenávali pomocí fotorezistoru. Pokud nebudete chtít jen blikat, ale přenášet i nějaké informace, samotný přenosový protokol, tedy generátor blikání a jeho detektor, si už musíte napsat svépomocí. A pokud budete chtít pomocí IR ovládat nějaké spotřebiče, bude to ještě mnohem složitější, protože budete potřebovat přesnou dokumentaci signálů, které používají.

Klepněte pro větší obrázek
Infračervený signál pro zapnutí spotřebiče může vypadat třeba takto. Střídají se různě dlouhé impulzy světla (hodnota 1) oddělené drobnou prodlevou (hodnota 0). Čas na ose X je v mikrosekundách.

Zpravidla si proto budete muset zahrát na reverzního inženýra, který pomocí IR přijímače nejprve nahraje signál z dálkového ovládání pro daný úkon, no a pak už jej může zreprodukovat a vyslat stejný sled světelných pulzů do vysílače.

Knihovna IRremote

Podobný problém už naštěstí řešily tisíce bastlířů před námi, takže GitHub je plný knihoven pro Arduino, které se o to postarají za nás. Jedna z těch povedenějších se jmenuje IRremote a má v sobě dokonce předvolby pro některé výrobce – třeba Sony, Samsung a další. Instalaci knihoven pro Arduino jsme si už vysvětlili v předchozím povídání, takže stačí jen otevřít některý z dodaných praktických příkladů.

Já se pomocí IR přijímače a vysílače pokusím zapnout starou a relativně hloupou redakční klimatizaci. Není napojená na žádný centrální termostat, takže je třeba nastavit teplotu na dálkovém ovladači a podle potřeby ji spustit.

Mým cílem pro příští letní sezónu bude mikropočítač, který bude klimatizaci pomocí IR signálu spouštět automaticky tehdy, pokud teplota v kanceláři překoná neúnosnou mez, a také podle časového plánu vždy ráno před příchodem kolegů do práce, aby byla kancelář patřičně vychlazená.

Zapnu klimatizaci pomocí Arduina

Dnes zdolám první překážku. Pokusím se ji zapnout pomocí Arduina a IR vysílače namísto dálkového ovládání.

Klepněte pro větší obrázek
Stropní klimatizaci lze nastavit a spustit jen pomocí dálkového IR ovladače

Knihovna IRremote naši klimatizaci samozřejmě vůbec nezná, takže použiji jeden z jejích příkladů jménem IRrecvDumpV2, který skrze sériovou linku vypíše do PC zachycený signál ve formě pole časů jednotlivých pulzů v mikrosekundách. Příklad zároveň vygeneruje úryvek kódu, který pak budu moci použít pro vysílač.

Po spuštění programu na Arduinu stačí na IR přijímač namířit dálkové ovládání a stisknout požadované tlačítko. V sériovém monitoru se rázem vypíše zachycený signál.

Klepněte pro větší obrázek Klepněte pro větší obrázek
Jakmile jsem klepl na tlačítko dálkového ovládání, rozsvítila se detekční LED dioda na modulu IR přijímače a na počítači se skrze sériovou linku vypsal zaznamenaný infračervený signál vyjádřený délkou jednotlivých pulzů v mikrosekundách. Na posledním řádku mi program vygeneroval kód v C s hodnotami signálu, který mohu zkopírovat a použít naopak pro vysílač.

Pak už stačí přepnout obvod na vysílač a otevřít příklad IRsendRawDemo, který pošle optický signál podle pole časů jednotlivých pulzů, které jsem zachytil v předchozím kroku.

Klepněte pro větší obrázek Klepněte pro větší obrázek
Zaznamenaný signál jsem zkopíroval do příkladu s vysílačem, který je už poměrně jednoduchý. Poté jsem program spustil na Arduinu a namířil vysílač na klimatizaci, která krátce poté pípla a spustila se.

V další kapitole vyzkoušíme nejlevnější modul pro rádiovou komunikaci. Když si nedáte jedno pivo, je váš.

Témata článku: Hardware, Pojďme programovat elektroniku, Programování, Arduino, Android, Mobilní telefon, Bluetooth, Serial, Counter, Arduino Nano, Arduino Uno, Available, Sled, Reserve, Delay

19 komentářů

Nejnovější komentáře

  • Peter Machala 26. 9. 2016 12:30:43
    Díky za tieto články. Práve analyzujem možnosti pre úlohu: "keď sa tento...
  • hamik 22. 9. 2016 9:13:48
    Parada, vyborny clanek kterych uz na Zive v posledni dobe bohuzel moc...
  • I_Love_MySQL 22. 9. 2016 8:45:11
    Dobré.. Ja som vyrastal na Václavovi Malinovi, možno vy pán Čížek budete...
reklama
Určitě si přečtěte

Microsoft: Zbavte se už konečně zastaralých a děravých Windows 7

Microsoft: Zbavte se už konečně zastaralých a děravých Windows 7

** Microsoft pomalu začíná kritizovat svůj nejpopulárnější OS ** Chce konečně dostat podniky na Desítky ** Bezpečnostní podpora Sedmiček vydrží ještě necelé tři roky

17.  1.  2017 | Jakub Čížek | 406

Český státní blacklist už funguje. Ministerstvo financí se pochlubilo s detaily

Český státní blacklist už funguje. Ministerstvo financí se pochlubilo s detaily

** Dva týdny po Novém roce zajím zeje prázdnotou ** Ministerstvo vydalo metodický pokyn ** Takhle to bude fungovat v praxi

16.  1.  2017 | Jakub Čížek | 49

8 produktů, o kterých byste neřekli, že nesou značku Apple

8 produktů, o kterých byste neřekli, že nesou značku Apple

** Věděli jste, že Apple vyvinul celkem 45 modelů tiskáren? ** ** Monitor na výšku, plotter nebo herní konzole - to vše měl Apple ve své nabídce ** Většinu z těchto produktů pohřbil Steve Jobs

19.  1.  2017 | Stanislav Janů | 42

Opera Neon: Takto prý bude vypadat prohlížeč budoucnosti. Chcete to?

Opera Neon: Takto prý bude vypadat prohlížeč budoucnosti. Chcete to?

** Opera představila Neon ** Koncepci prohlížeče budoucnosti ** Připomíná Chrome OS

16.  1.  2017 | Jakub Čížek | 35


Aktuální číslo časopisu Computer

99 nejlepších programů pro váš počítač

Zvykejte si na umělou inteligenci

Velké testy PC zdrojů a gamepadů

Alternativní zdroje energie

reklama
reklama