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

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í, Android, Mobilní telefon, Arduino, Bluetooth, RGB LED, Slabý signál, Digitální signál, Puls, Free To Play, Dobrá komunikace, Vysílačky, Facka, Kmitočet, Silný signál, Dálkový ovladač, BTS, Atraktivní hra, Chytrá zařízení, Delay, Barevné LED, Všemožný senzor, Arduino Nano


Určitě si přečtěte

Nechcete platit za Total Commander? Těmito bezplatnými programy ho můžete nahradit

Nechcete platit za Total Commander? Těmito bezplatnými programy ho můžete nahradit

** Total Commander je na Windows takřka legendou ** Licence však stojí více než tisíc korun ** Našli jsme pro vás deset alternativ dostupných zdarma

Karel Kilián | 141

Apple: naše mapy budou nejlepší na světě. Tajně jsme na nich pracovali několik let

Apple: naše mapy budou nejlepší na světě. Tajně jsme na nich pracovali několik let

** Apple odhalil své plány na zcela nové mapy ** Několik let pracuje na nových mapách, které by měly předběhnout konkurenci ** Objeví se s příchodem iOS 12 pro vybrané státy

Karel Javůrek | 50

Apple dal do MacBooku procesor Core i9 a 4TB SSD. Ani se neptejte, co za to chce...

Apple dal do MacBooku procesor Core i9 a 4TB SSD. Ani se neptejte, co za to chce...

** Apple aktualizoval notebooky MacBook Pro, dostaly nový hardware ** Těšit se můžete na nové procesory a větší paměť ** Cena nejvybavenějšího modelu překročí 200 tisíc korun

Martin Miksa | 99

Alan Turing: Genius, který matematicky stvořil počítač

Alan Turing: Genius, který matematicky stvořil počítač

Řešením matematického problému se dostal k modelu teoretického stroje, který nese jeho jméno a je základem logiky univerzálních počítačů.

Pavel Tronner | 57

Byli tam! Důkazy o přistání na Měsíci, Lunochody i čínská sonda jsou vidět z vesmíru

Byli tam! Důkazy o přistání na Měsíci, Lunochody i čínská sonda jsou vidět z vesmíru

** Sonda LRO pořídila z oběžné dráhy Měsíce zajímavé snímky ** Jsou na nich vidět artefakty všech misí programu Apolla, které přistály na povrchu Měsíce ** Jde například o části lunárních modulů, rovery a dokonce i vlajky

Petr Kubala | 60


Aktuální číslo časopisu Computer

Velký test 18 bezdrátových sluchátek

Vše o přechodu na DVB-T2

Procesory AMD opět porážejí Intel

7 NVMe M.2 SSD v přímém souboji