Kurz4 - Kapitola1

17. června 2007 v 15:43 | http://www.sweb.cz/kurz_evt/ |  Programování pro WinCE

6. Program IRRmtCnt

6.1 Úvod do infračerveného dálkového ovládání

V jedné z diskusních skupin byl před časem probírán problém možnosti ovládat spotřební elektroniku pomocí PDA. K ovládání různých elektronických přístrojů se používají dálkové ovládače pracující na principu vysílání infračervených paprsků. Téměř všechna PDA mají infračervený port pro komunikaci s jinými digitálními zařízeními. Proč tedy jednoduše nevyužít tento port a neposílat z něj povely např. pro TV?
Problematika není na první pohled tak jednoduchá, jak by se mohlo zdát. Přesto se pokusíme společně vytvořit program, který bude pracovat jako dálkový ovládač vašeho TV, CD přehrávače nebo jiného přístroje. Nejprve ale musíme zjistit, jak dálkový ovládač vlastně funguje.
Zkušenosti s dálkovými ovládači má asi každý. Pro připomenutí - je to krabička s tlačítky, která nám umožňuje z pohodlné pohovky přepnout TV na nějakou hodnotnou podívanou na kanálu některé komerční (nebo veřejnoprávní) televize. Hlavním úkolem je zabránit pohybu, abychom nechtěně nezhubli a abychom stihli "prosurfovat" co nejvíce pořadů za večer :-)).
Přenos povelů probíhá jednosměrně od ovládače k televizi a děje se tak na vzdálenost 10 až 15 metrů.

obr. 66 Dálkové ovládání
Signál je mezi vysílačem a přijímačem přenášen pomocí infračerveného paprsku o vlnové délce asi 850 až 950 nm. Aby ovládání mohlo spolehlivě fungovat, musíme do přijímače předat 2 informace:
  1. Číslo zařízení, se kterým komunikujeme. V místnosti může být více přístrojů s dálkovým ovládáním (TV, CD, VCR, rádio ...) a my musíme jednoznačně určit, s kým komunikujeme.
  2. Jaký povel má dané zařízení vykonat. Na ovládači je více tlačítek a je nutné informovat, které z nich bylo zmáčknuto.
Zjednodušeně lze říci, že stačí přenést informaci o velikosti cca 2 bajty.
Při přenosu těchto dat se v okolí může vyskytnout řada rušivých vlivů. Aby se zabránilo rušení, je informace modulována a přenášena různými způsoby. Viz např. obrázek:

obr. 67 Přenos kódem RC5
Na obrázku je znázorněn kód RC5 vytvořený firmou Philips. Datový rámec představuje jeden vysílaný povel. V jeho rámci je přeneseno 5 bitů adresy a 6 bitů dat. Každý bit je tvořen skupinou 32 impulsů o kmitočtu 36 kHz. Je zde použito tzv. bi-phase kódování.
Bohužel, uvedený popis kódu není jediný používaný způsob přenosu dat. Historickým vývojem a díky konkurenci mezi výrobci spotřební elektroniky vznikla řada protokolů pro infračervené dálkové ovládače. U nich se přenos liší nejen v datových rámcích a počtem přenášených bitů, ale i způsobem kódování jednoho bitu. Mimo uvedeného bi-phase kódování se používá např. pulsní a pulsně šířková modulace, modulace FSK.
Druhé bohužel si můžeme povzdechnout při shánění informací o ovládačích a jejich kódech. Výrobci spotřební elektroniky nemají zájem podrobné informace o svých výrobcích zveřejňovat a zákazníka to ani nezajímá. Podstatné přece je, že to funguje a můžu si z křesla přepnout na svého vtipného baviče a patřičně si zesílit hlasitost :-) (nebo :-( ?).
Při prohlížení příručky ke své TV pravděpodobně neobjevíte popis protokolu dálkového ovládání a ani jaké obvody jsou uvnitř použity. Možná ani neobjevíte, kdo tu televizi vlastně vyrobil...
Jak z toho? Naštěstí se po prohledání Internetu jeví jakési slabé světélko na konci tunelu.
Díky snaze vyrábět co nejjednodušeji a díky unifikaci některých součástek je možné počítat s tím, že téměř všechna dálková ovládání vysílají jednotlivé přenášené bity jako různě široké pulsy. Jejich počet na jeden povel se pohybuje od desítek až asi po 200. Délka pulsu je od 0,1 až po jednotky ms. Nosná frekvence, kterou jsou pulsy modulovány, bývá udávána v různých zdrojích v rozmezí od 36 do 40 kHz. Výhodou je také to, že hromadná výroba a snaha po pokud možno nejmenších problémech přinesly velkou toleranci v přijímačích povelů. Lze počítat s tolerancí asi 10% v parametrech přenosu.
Máme-li originální dálkový ovládač, bude stačit sejmout a zapamatovat si max. asi 250 pulsů. Tyto pulsy budou modulovány kmitočtem 36 až 40 kHz. Musíme zaznamenat jejich šířku (jednotky ms) a čas zahájení pulsu vzhledem ke startu povelu. Toto bude potřeba provést pro počet tlačítek (a tím i počet povelů), které do vytvářené aplikace zahrneme. Protože nepůjde o rozsáhlý projekt, ale pouze o ukázku programování, je 15 tlačítek dostatečný počet.
"Nasátím" povelů z originálního dálkového ovládače se vyhneme problému zjišťovat často nedostupné informace. Nebudeme muset ani ovládač rozebírat a program lze snadno naučit povely pro jiné zařízení. Zrovna tak je možné použít v jedné aplikaci několik tlačítek pro naučení povelů pro TV a další tlačítka mohou ovládat např. CD.

Co bychom si měli z této lekce zapamatovat?

  • Vždy je lepší, když na úvod víme, co asi budeme dělat :-)
 

Buď první, kdo ohodnotí tento článek.

Nový komentář

Přihlásit se
  Ještě nemáte vlastní web? Můžete si jej zdarma založit na Blog.cz.