Jste zde

Dialkove ovladanie pocitaca - Girder SCANER

Článek popisuje jiné řešení ovládání PC dálkovým ovladačem. Autor pripojil IR čidlo přímo na

sériový port a sekvence z dálkového ovladače dekóduje pomocí PC. Vznikla tak velmi levná a jednoduchá konstrukce za

cca 50 Kč, která funguje opravdu se všemi DO, ale značně zatěžuje PC.

Uvodom:

Skuste si postavit velmi jednoduche dialkove ovladanie pocitaca. Ovladanie pocitaca je mozne cez lubovolne infracervene dialkove ovladanie (napr. k TV, VCR, CD, ...). Tu predkladane zapojenie je 100% funkcne. Pri navrhu dialkoveho ovladania som kladol doraz na maximalnu jednoduchost hardweru a prenos celej inteligencie na obsluzny software.

Na internete je mozne najst rozne konstrukcie dialkovych ovladani k pocitacu. Vacsina z nich je riesena s pouzitim mikrokontrolera (PIC, Atmel), ktory dekoduje prijaty kod z IR-ovladaca a posiela ho do pocitaca. Nevyhodou tohto riesenia je mala flexibilita pri vyvstani problemu z netypickym kodom dialkoveho ovladaca (kody vysielane z IR-ovladacov nie su jednotne: kazdy vyrobca ma svoj - hoci existuju aj kvazi-standardy ako RC5 a RC80). O taketo "exoticke" dialkove ovladace nie je u nas nudza. Vtedy to chce zmenu programu v mikrokontroleri, co uz kazdy uzivatel asi nezvladne (potreba znalosti programovania mikroradicov a technickych prostriedkov - programator). Dalsou nevyhodou je aj vyssia cena hardware.

Konstrukcia:

Pri mojom rieseni je hardware velmi jednoduchy a lacny (cca 100,-Sk). Celu inteligenciu zabezpeci obsluzny software. Pri vyvstati problemu s netypickym kodom IR-ovladaca staci upgrade softwaru, co kazdy uzivatel isto zvladne (download z internetu).

Ako obsluzny software pre dialkove som si zvolil Girder. Je to velmi dobry multijazycny program, a ako jeden z mala je to freeware. Ma dobre vyriesenu podporu softwarovych a hardwarovych pluginov. Preto som si vytvoril vlastny plugin do Girdera, ktory obsluhuje hardwarovu cast dialkoveho ovladania. Program Girder a moj plugin si mozete stiahnut v download sekcii.

Na nasledujucom obrazku je schema hardware:

V pripade problemov použijte schema s lepsou citlivostou prijmu

A tu je zobrazene jeho fyzicke prevedenie (naozaj jednoduche):




Nenechajte sa zmiest jeho jednoduchostou. Staci ho zasunut do serioveho portu pocitaca a spustit Girder. V nastaveniach hardwerovych pluginov si treba vybrat "IgorSFH-56 device" a nastavit spravny COM port. 

Citlivost snimaca je obdivuhodna. Aj ked je zasunuty priamo v seriovom porte zozadu pocitaca (ktory je pod stolom), je snimanie prekvapive (ako ovladanie televizora). Pri vybere frekvencie snimaca (xx v scheme) treba dbat na prisposobenie frekvencie IR-dialkoveho vysielaca s pouzitym prijimacom. Vyber vsak nie je kriticky: napr. snimace na 36kHz (SFH56-36; TSOP1736) prijmaju s dostatocnou citlivostou aj vysielace na 38kHz (dokonca aj 40kHz). Najlepsie je zvolit prijimac na 38kHz (SFH56-38; TSOP1738), ktore prijimaju s dostatocnou citlivostou vsetky dialkove ovladania.

Vacsina dialkovych ovladani pracuje na 38kHz, niektore na 36kHz a niektore (vacsina Sony) na 40kHz.
Je vhodne si precitat help ku Girderu (je aj v cestine).

Popis funkcie:
Zapojenie vyuziva integrovany infracerveny prijimac pouzivany pre prijem modulovaneho signalu. Ten obsahuje obvody potrebne na prijem a demodulaciu infracerveneho signalu. Z jeho vystupu dostaneme uz cisty digitalny signal (obalka amplitudovo modulovaneho signalu vysielaca). Pouzitelne su prijimace typu SFH56-xx a TSOP17xx (testovane). Obvody typu SFH56-xx sa uz iba dopredavaju (koniec vyroby). Cislo "xx" znamena pouzitu frekvenciu prijmu. Zaujemcovia o detaily tychto obvodov najdu v datasheetoch na internete.

Obvod je napajany priamo zo serioveho portu pocitaca - z vyvodu RTS. Stabilizaciu napatia na 5V zabezpecuje zenerova dioda D1. Je zapojena bez obmezdovacieho odporu, lebo vyuziva skutocnost, ze seriovy port ma prudove obmedzenie cca 10mA. V prvej verzii bol obmedzovaci rezistor pouzity, ale prejavil sa nedostatok napatia pri pouziti v notebookoch. Tie totiz poskytuju signalove urovne asi +/-6V a ubytok na rezistore sposobil nespolahlivy prijem signalu (z rovnakeho dovodu nemozno pouzit stabilizatory typu 7805, ktore maju min. ubytok asi 2V).

Kondenzator C1 je filtracny (odberove spicky). Rezistor R1 predstavuje pull-up podla doporucenia vyrobcu TSOP17xx. Vystup prijimaca je vyvedeny na signal DSR serioveho portu, kde sa softwarovo prijima.

Obsluzny driver je rieseny ako plug-in modul "IgorPlug.dll" do programu Girder, ktoremu posiela prijimany kod. Girder nasledne vykona funkciu, ktoru sme si zvolili. Priradzovanie vyslaneho kodu k danej akcii prabieha tzv. ucenim nasledovne: V programe Girder vytvorime danu akciu a potom stlacime tlacitko "Learn Event" (obr.). Nasledne na vysielaci DO stlacime tlacitko, cim sa prijme kod a priradi sa danej akcii. Funkcnost akcie otestujeme stlacenim rovnakeho tlacitka na DO.

Prakticke aplikacie:

Najvacsou oblastou uplatnenia dialkoveho ovladania je nepochybne pohodlne ovladanie PC a v nom rozsirujucich zariadeni: TV a radio karty, CD, DVD, WinAmp ... Na tento ucel bolo zariadenie aj vyvinute a v drvivej vacsine aj pouzivane (kto by nechcel byt lenivy vstat k pocitacu na ktorom bezi film)
    Ale dobrou vlastnostou vsetkych programov typu Girder je moznost portovat aplikaciu napisanu cisto pre uzivatelske ovladanie mysou a klavesnicou do prostredia priemyselnej automatizacie. Napriklad Girder umoznuje dialkove ovladanie aj po TCP/IP sieti. Volbu typu prenosoveho media je mozne si zvolit a maximalne zjednodusit protokol. Tymto ziskame pocitac s vykonnym softwarom, ktory je umiestneny na riadenom pracovisku, ale jeho ovladanie moze byt urobene z uplne ineho miesta a najma s ovela jednoduchsim hardwarom (jednoducha klavesnica alebo jednocipovy mikropocitac). Z hladiska softwaru staci priradit k externym povelom prislusne akcie na pocitaci PC (stlacenie klavesy, pohyby a klikanie mysou, spustenie programu a pod.). Teda program, ktory povodne nebol urceny napr. na ovladanie cez RS232 sa tymto sposobom stane externe riaditelny. Najvacsou poziadavkou je asi iba potreba operacneho systemu Windows (ale su uz aj verzie a projekty pre Linux).

Priestor pre dalsie mozne aplikacie nechavam pre citatelov, ale je ich dost : typu zabezpecovaci system objektov , riadenie nedostupnych embedded PC, bezdratove predlzenie riadenia a pod..

Downloads:

Tu je download: kompletny Girder z mojej stranky. Skomprimovane WinZip. Nemusi sa instalovat. Staci skopirovat do lubovolneho adresara. V downloade nie je zahrnuty plugin IgorPlug - kvoli jeho velkosti a aktualizacii.
Alebo si mozete stiahnut zarucene najnovsiu verziu Girdera zo stranky Rona Bessemsa

Posledna verzia pluginu IgorPlug. Skomprimovane WinZip (cca 180kB). Instalacia pluginu spociva v skopirovani suboru "IgorPlug.dll" do adresara "GIRDERPluginsHardware".
Pripravil som aj zvukove subory pre hovoriace hodiny do Girdera v slovencine. Hovoriace hodiny Vam povedia aktualny cas po stlaceni tlacidla na DO. Inak je to moj hlas - takze ... ;-) Sound.zip (cca 230kB). Staci adresar "Sound" nakopirovat do adresara "GIRDER" a mozete skusit Talking Clock.

Verzia 0.81 - scaner_igorplug.zip
Poslednaja verzia je aktualizovana na www.cesko.host.sk

Testovane s DO: Sony TV, Orava TV (RC5), Panasonic Video (RC80), PCTVLive, Creative iNFRA CDROM

Riesenie problemov:

Prikaz sa vykona viackrat: Niektore DO vysielaju kod opakovane viackrat za sebou s odstupom jednotiek az desiatok milisekund. V takomto pripade staci v Girderi nastavit pre dany prikaz v zaskrtavacom poli "Dalsi prikaz az za" hodnotu asi 50 ms.

Prikaz sa nevykonava pri stlacenom tlacidle DO opakovane: Vtedy je nutne tlacidlo na DO stlacat a pustat (nie drzat stlacene). Je to skor chyba DO, lebo niektore DO vysielaju pri stlacenom tlacidle iny kod ako pri prvotnom stlaceni (autorepeat ma iny kod - obycajne ovela kratsi).

Prijem kodu je nespolahlivy (iny kod pri rovnakom tlacidle): Skuste DO priblizit celkom k prijimacu. Ak sa problem tymto odstranil, je chyba asi v zosuladeni frekvencie vysielaca a prijimaca alebo ma vysielac maly vykon - vtedy je nutne vyviest prijimac na priamu viditelnost. Ak problem prijmu pretrvava je mozne, ze prave bezi program, ktory vytazuje procesor na 100% (typicky niektore 16-bitove programy) a nedostava sa casu pre obsluhu prijmu kodu. Pozrite vytazenie procesora a ukoncite program, ktory vytazuje system, prip. skuste znizit prioritu niektoremu programu (typicky WinAmp na pomalsich pocitacoch).

Ine chyby: Napiste mi o aku chybu ide. V nastaveniach pluginu zapnite servisny rezim a nasnimajte niekolkokrat kod z DO. V adresari "/Girder" sa vytvori subor "log.txt" , ktory mi poslite e-mailom spolu s popisom chyby. Budem sa snazit odstranit Vas problem - ocakavajte novu verziu pluginu na tejto stranke.

Internetove odkazy:

www.cesko.host.sk - sekcia Hardware 
www.stack.nl/~stilgar
www.irassistant.com 
www.pcremotecontrol.com 
gware.virtualave.net 
www.geocities.com/SiliconValley/Sector/3863/uir/ 

Ing. Igor Cesko: 
cesko@internet.sk
www.cesko.host.sk

Poznámka redakce HW serveru

Popsané řešení je velmi jednoduché a levné, přímé načítání stavu z výstupu IR čidla však značně zatěžuje procesor PC a s tím je nutné počítat. Novější verze čidla SFH 5110 snímá čtvtinovou plochou a také díky tomu je mnohem méně citlivá nežli autorem použitá starší SFH 506.

Literatura a odkazy z HW serveru

- Nějaké ty stránky se software najdete na IrAMP Page

A ještě několik zajímavých odkazů: 

Datasheety :  Poznámka : SFH506 se již přestává vyrábět, proto uvádíme i její novější verzi SFH5110
Hodnocení článku: