Dálkové ovládání PC - Girder

Z HKfree wiki
Skočit na navigaci Skočit na vyhledávání

Dálkové ovládání PC - Girder

Postavte si velmi jednoduché dálkové ovládání počítače. Ovládání počítače je možné libovolným infračerveným dálkovým ovladačem (např. k TV, VCR, CD). Při návrhu tohoto dálkového ovládání byl kladen důraz na maximální jednoduchost hardwaru a přenos celé inteligence dekódování kódu na obslužný software. Na internetu naleznete různé konstrukce dálkového ovládání k počítači. Většina z nich je však řešena s použitím mikrokontroléru (PIC, Atmel), který dekóduje přijatý kód z IR-ovladače a posílá ho do počítače. Nevýhodou tohoto řešení je malá flexibilita při vzniknutí problému z netypickým kódem dálkového ovladače (kódy vysílané z IR-ovladačů nejsou jednotné: každý výrobce má svoje). Pak by to chtělo pro každý ovladač změnu programu v mikrokontroléru, což už jen tak každý uživatel asi nezvládne (potřeba znalosti programování mikrořadičů a technických prostředků - programátor). Další nevýhodou je také vyžší cena hardware. Konstrukce

V této konstrukci tedy celou inteligenci zabezpečí obslužný software. Je hardwarově velmi nenáročná - celá konstrukce vás přijde asi na 100 Kč. Jako obslužný program pro dálkové ovládání je použit Girder (program pouze pod M$ Windows). Je to velmi dobrý freewarový program, který podporuje i češtinu. Má dobře vyřešenou podporu harwarových a softwarových plug-inů. Pro obsluhu harwarové části ovladače budete potřebovat plug-in "Igor SFH-56 device". Schéma zapojení:

Schema.gif

Nebo s jinými IR-snímači:

Schema5110.gif

Schema5111.gif


Varovani.gifZvětšením R1 na hodnotu do 10k můžete při tomto senzoru (SFH5110 a SFH5111) zvětšit citlivost.

V případě problémů použijte schéma s lepší citlivostí příjmu:

Schema c.gif

Takhle vypadá již zhotovený snímač ( zabudovaný přímo na konektoru COM ):

F girder.jpg

Nenechte se zmást jeho jednoduchostí. Stačí ho zasunut do sériového portu počítače a spustit Girder. V nastavení hardwarových plug-inů vybrat "Igor SFH-56 device" a nastavit správný COM port. Citlivost snímače je obdivuhodná. I když je zasunutý přímo v sériovém portu zezadu počítače, je snímání překvapivé (jako ovládání TV). Při výběru frekvence snímače ( xx ve schématu ) je třeba dbát na přizpůsobení frekvence IR-dálkového vysílače s požitým přijímačem. Výběr však není kritický: např. snímače na 36kHz (SFH56-36; TSOP1736) přijímají s dostatečnou citlivostí i vysílače na 38kHz (dokonce i 40kHz). Nejlepší je zvolit přijímač na 38kHz (SFH56-38; TSOP1738), který přijímá s dostatečnou citlivostí všechny dálkové ovladače. Většina dálkových ovladačů pracuje na 38kHz, některé na 36kHz a některé (většinou Sony) na 40kHz. Popis funkce

Zapojení využívá integrovaný infračervený přijímač používaný pro příjem modulovaného signálu. Ten obsahuje obvody potřebné pro příjem a demodulaci infračerveného signálu. Z jeho výstupu dostaneme už čistý digitální signál (obálka amplitudově modulovaného signálu vysílače). Použitelné jsou přijímače typu SFH56-xx a TSOP17xx (testované). Obvody typu SFH56-xx se už jen doprodávají (konec výroby). Číslo "xx" znamená použitou frekvenci příjmu. Obvod je napájený přímo ze sériového portu počítače - z vývodu RTS. Stabilizaci napětí na 5V zabezpečuje Zenerova dioda D1. Je zapojena bez omezovacího odporu, protože využívá skutečnost, že sériový port má proudové omezení cca 10mA. V první verzi byl omezovací rezistor použit, ale projevil se nedostatkem napětí při použití v notebooku. Ten totiž poskytuje signálové úrovně asi +/-6V a úbytek na rezistoru způsobil nespolehlivý příjem signálu (z toho samého důvodu není možné použít stabilizátory typu 7805, které mají min. úbytek asi 2V). Kondenzátor C1 je filtrační (odběrové špičky). Rezistor R1 představuje pull-up podle doporučení výrobce TSOP17xx. Výstup přijímače je vyvedený na signál DSR sériového portu, kde se softwarově přijímá. Obslužný driver je řešený jako plug-in modul "IgorPlug.dll" do programu Girder, kterému posílá přijímaný kód. Girder následně vykoná funkci, kterou jsme si zvolili. Přiřazování výsledného kódu k dané akci probíhá tzv. učením následovně: v programu Girder vytvoříme danou akci a potom stlačíme tlačítko "Naučit IR kód" (obr.). Následně na vysílači DO stlačíme tlačítko, čímž se příjme kód a přiřadí se dané akci. Funkčnost akce otestujeme stlačením stejného tlačítka na DO.

Girder.jpg

POZOR, některé dálkové ovladače při stisku tlačítka opakovaně posílají IR kód / řetězce a tak se nejdříve vykoná daná akce a vzápětí dálkový ovladač vyšle další IR řetězec, který akci zopakuje. To může být užitečné v případě nastavování hlasitosti, bohužel to tak funguje i s ostatními tlačítky. Pro potlačení tohoto jevu nastavte �Další příkaz za [ms]� na hodnotu asi 200, což vám poskytne čas na uvolnění tlačítka dálkového ovládače.

Možné náhrady IR detektoru (v pořadí použitelnosti): TSOP1738, TSOP1138, TSOP2138, SFH56-38 (už se nevyrábí), SFH506-38, SFH5110-38 (je nutné použít schéma s lepší citlivostí příjmu). POZOR! některé senzory mají jinak zapojené vývody. Praktické využití

Největší oblastí uplatnění dálkového ovládání je nepochybně pohodlné ovládání PC a v něm rozšiřujících zařízení: TV a radio karty, CD, DVD, WinAmp ... Pro tento účel bylo zařízení také vyvinuto a v drtivé většině také používáno (kdo by nechtěl být lenivý vstát k počítači, na kterém běží film). Dobrou vlastností všech programů typu Girder je možnost zachytávat události aplikací napsaných čistě pro uživatelské ovládání myší a klávesnicí. Například Girder umožňuje dálkové ovládání i po TCP/IP síti. Volbu typu přenosového média je možné si zvolit a maximálně zjednodušit protokol.Tímto získáme počítač s výkonným softwarem, který je umístěný na pracovišti, ale jeho ovládání může být řízeno z úplně jiného místa a to s mnohem jednodušším hardwarem (jednoduchá klávesnice nebo jednočipový mikropočítač). Z hlediska softwaru stačí přiřadit k externím povelům příslušné akce na počítači PC (stlačení klávesy, pohyby a klikání myší, spuštění programu apod.). Program, který původně nebyl určený např. na ovládání přes RS232 se tímto způsobem stane externě říditelný. Největším požadavkem je asi jen potřeba operačního systému Windows (ale jsou už i verze a projekty pro Linux). Hardwarové požadavky

   * minimální testovaná konfigurace : Intel486 66MHz, 8MB RAM (pracuje dobře); Intel486 33MHz, 8MB RAM (už nepracuje!!!)
   * maximální testovaná konfigurace : Intel PentiumIII 800MHz, 128MB RAM ; AMD Thunderbird 1.4GHz, 512MB RAM

Dálkové ovládání počítače pod DOSem - DOSGir

Program je určený na ovládání vašeho DOS programu pomocí infračerveného dálkového ovladače. Hlavní použití tohoto programu je však pro malé stavěné přístroje - MP3 přehrávače . Například jednoduchý počítač s CD mechanikou a flash diskem s operačním systémem MS-DOS a DOS-ovským MP3 přehrávačem. Po nabootování z flash disku (nebo z diskety) se spustí MP3 přehrávač (v autoexec.bat), který přehrává MP3 soubory uložené na CD s výstupem na zvukovou kartu. Hlavní nevýhodou těchto zařízení je použití klávesnice na ovládání MP3 software (změna hlasitosti, další skladba, pauza, ...). Na odstranění této nevýhody slouží právě program "DOSGir" - simuluje stlačení klávesnice pomocí normálního dálkového infračerveného ovladače. Tímto řešením můžeme odstranit klávesnici (a vůbec všechny tlačítka) na MP3 přehrávači a jeho ovládání bude mnohem komfortnější. Další aplikací je použití v průmyslových počítačích s DOS-em. Např.: průmyslové PC potřebuje být dálkově řízené (nebezpečné prostředí), anebo je umístěné v agresivním prostředí (požaduje se vodotěsnost klávesnice). Program "DOSGir" může být použit na libovolný DOS-ovský program.

Program "DOSGir" je založený na Windows-ovském plug-inu "IgorPlug.dll". Má shodné dekódovací jádro jako jeho Windows-ovská verze. Dekódovací část je tedy stejná pro oba programy ("IgorPlug.dll" pro Windows a "DOSGir" pro DOS). Požadavky

Operační systém: Testováno na MS-DOS 6.22 (a MS-DOS 7.0/8.0 - Windows 95/98). Navrhnuto pro správnou funkčnost v MS-DOS 4.0 a vyšší. Program tedy pracuje i pod MS Windows 95/98 v DOS-ovském okně (pro dobrý příjem musí být DOS-ovské okno na popředí). Procesor: PC-AT286 a vyšší (testováno od 80286 po PentiumIII 800MHz). Diskový prostor: 40kB + soubory povelů (cca 100 Byte pro jeden povelový soubor). Paměť: zabere cca 64kB volné paměti (pracuje jako rezidentní program). Instalace

Stáhnutý zkomprimovaný soubor "DOSGir.zip" dekomprimujte na váš disk. Vytvoří se adresář "DOSGir", který obsahuje soubory: "DOSGir.exe" (program), "DOSGir.key" (soubor scan-kódů), "DOSGIR.ini" (konfigurační soubor), "DOSGir.lst" (soubor záznamu příkazů) a "readme.txt" (soubor s nápovědou). Jak se program používá

Před prvním spuštěním je dobré nejdříve program nakonfigurovat . Spusťte program s přepínačem "-c" a program se vás zeptá na několik informací - vlastnosti COM portu, (kde je připojený přijímač) a start a stop klávesy režimu učení (pro spuštění a zastavení učícího procesu). Vytvoří se INI soubor ("DOSGir.ini") s nastavením programu. Můžete si ho editovat i manuálně. Jakmile nastavíte COMNumber na nulu, potom program použije hodnotu z COMADDR jako adresu portu. Jinak použije hodnotu adresy portu získanou z BIOSu. Ujistěte se, že informace v tomto ini-souboře jsou správné - jinak se může stát, že program nebude pracovat, anebo se zasekne počítač. Po konfiguraci můžete spustit program (jako rezident) s přepínačem "-r". Program nyní běží a je připravený na učení a vykonávání akcí. Nejprve je potřeba danou akci naučit. Pro učení je potřebná klávesnice. Pustíte učení pomocí stlačení klávesy spuštění učení (defaultně je to Ctrl-Shift-Gray +). Od tohoto okamžiku začne program zachytávat všechny vaše stlačení klávesnice a i čas mezi těmito stlačeními - vykonejte pomocí klávesnice požadovanou akci ve vašem programu ("DOSGir" běží jako rezident v paměti). Na ukončení zachytávání stlačte klávesu ukončení učení (defaultně Ctrl-Shift-Gray -). Po dobu dalších 5 sekund (zní zvukový signál) stlačte na vašem dálkovém ovladači tlačítko přiřazené pro tuto akci (zvukový signál po příjmu kódu ztichne). Naučená akce bude uložena v příkazovém souboru ("*.cmd") a obnoví se i soubor záznamu příkazů ("DOSGir.lst"). Akce byla takto naučena. Chcete-li změnit nastavení k dané akci, můžete si editovat příslušný příkazový soubor, anebo naučit akci znovu. Příkazový soubor můžete editovat i manuálně. Jméno příkazového souboru je generované náhodně jako číslo mezi 0 - 65535 s příponou "cmd" (např. "12856.cmd", "568.cmd"). Chcete-li najít nějaký příkazový soubor s nějakou akcí musíte se podívat do těchto příkazových souborů a najít hledanou akci ručně (nebo si na to napište nadstavbový program na hledání dané akce).

Nyní si můžete zkusit poslat naučenou akci do vašeho programu pomocí stlačení přiřazeného tlačítka na dálkovém ovladači. Po stlačení tlačítka uvidíte jak se naučená akce vykonává (simuluje se stlačení klávesnice). Máte-li povolenou i zvukovou odezvu, program krátce pípá (na začátku vykonávání akce, pro každou stlačenou klávesu a na konci vykonávání). Chcete-li nahradit akci daného tlačítka jinou akcí, jednoduše opětovně naučte pro toto tlačítko novou akci - stará akce bude nahrazena novou. Chcete-li odstranit akci, jednoduše smažte příslušný příkazový soubor ("*.cmd") s touto akcí. To je potřeba použít v případě špatně přijatého kódu pro danou akci při učení (nevyužité příkazové soubory na disku). Všechny příkazové soubory se vytváří a hledají v adresáři, kde je umístěn program.

Přepínače:

-? ... pro pomoc

-c ... na konfiguraci

-r ... spuštění jako rezident

-u ... odinstalování rezidentu z paměti

Konfigurace programu (s přepínačem "-c")

1. COM port number (BIOS assignment) - číslo COM portu v závislosti na přiřazení v BIOSu

2. COM port address (lower priority than port number) - adresa COM portu (platí pouze pokud je číslo COM portu nulové)

3. COM port IRQ - přerušení COM portu

4. COM port input pin - vstupní pin COM portu: vstup signálu

5. Key for strart learning - klávesová zkratka pro spuštění učení

6. Key for stop learning - klávesová zkratka pro ukončení učení

7. Timing source - volba zdroje časování (automatická volba, systémový časovač, hodiny reálného času RTC, taktování Pentium)

8. Enable receiving sound - povolení / zakázání zvukového signálu při příjmu

9. Service mode (manually) - servisní režim (určené na servisní účely)