joi, 23 februarie 2012

Telecomanda pentru calculator

Probabil cand ati vizionat filme la calculator v-ati dorit sa stati comod si sa puteti comanda de la distanta playerul. Acest lucru nu este greu de realizat. Va trebui sa realizati un mic montaj electronic si sa folositi un program specializat.
Principiul este simplu: emiteti cu o telecomanda in spectrul infrarosu, practic orice telecomanda folosita la un aparat electronic din casa si receptionati cu un dispozitiv construit de Dvs. atasat la calculator. Acest montaj electronic contine un receptor in infrarosu (similar celor folosite in televizoare) care va receptiona semnalele primite, le va transforma in semnale electrice si le va trimite catre portul serial al calculatorului. Programul folosit citeste semnalele primite la portul serial si executa anumite operatii functie de programarea anterioara a acestuia.
Receptorul in infrarosu
Este un montaj electronic foarte simplu de realizat folosind schema electronica de mai jos.
schema electronica receptor telecomanda pentru calculator
Sugestie pentru realizarea practica a receptorului de telecomanda in infrarosu.
receptor telecomanda pentru calculator
Principala componenta folosita este receptorul in infrarosu TSOP1738 proiectat pentru receptia semnalelor pe frecventa 38kHz. Acesta receptioneaza deasemenea si semnale pe frecventele adiacente 36kHz si 40kHz (frecventa folosita la telecomenzile pentru aparatele SONY).
Alimentarea montajului se face de la pinul RTS al portului serial al calculatorului. Tensiunea este stabilizata cu o dioda Zener de 5,1V si filtrata cu un condensator de 100nF.
Semnalul de iesire este conectat la pinul DSR. Intre tensiunea de alimentare si tensiunea de iesire este montat un rezistor de 3,3kohmi deoarece iesirea receptorului in infrarosu este de tip open-colector.
Componentele costa aproximativ 10 RON si le puteti cumpara de la un magazin de specialitate. Personal acest montaj l-am realizat pe un cablaj de test pe care l-am inclus in carcasa de plastic a unei mufe DB9. Printr-un cablu flexibil cu 3 conductoare am conectat montajul cu mufa DB9 mama care se va conecta la portul serial al calculatorului.
receptor telecomanda pentru calculator
Girder
Ca program am folosit Girder pe care il puteti obtine de la adresa http://www.promixis.com/downloads.php
Acestui program i se pot instala plug-in-uri. Un astfel de plug-in care permite utilizarea schemei recomandate anterior il gasiti la adresa http://www.cesko.host.sk/girderplugin.htm#Downloads
Download-ati arhiva zip IgorPlugXP. Dezarhivati si veti obtine fisierul IgorPlugXP.dll pe care-l copiati in directorul \Girder\Plugins\
Configurare Girder
File -> Settings -> User Interface -> Language -> selectati Roumanian -> Apply -> OK
Acum interfata va fi in limba romana.
Vom configura plug-in-ul IgorPlugXP copiat dupa instalare
Fisier -> Setari -> Conectori -> bifati IgorPlug-UDP/IP -> dublu clic pe IgorPlug-UDP/IP -> selectati portul serial in care ati conectat receptorul in infrarosu (de ex. COM1)
receptor telecomanda pentru calculator
Principiul de functionare este simplu: aplicatia Girder invata codurile primite de la telecomanda si le asociaza unei comenzi (de exemplu Play) trimise aplicatiei controlate (de exemplu BSPlayer).
Veti avea nevoie de o telecomanda (in stare de functionare) de la un alt aparat electronic care va fi oprit (power off) cat timp telecomanda va fi folosita la calculator (pentru a nu actiona simultan si asupra acestuia).
Daca la un moment dat telecomanda utilizata nu mai functioneaza ea poate fi inlocuita cu alta iar aplicatia Girder va invata din nou alte coduri pentru fiecare comanda.
Ca exemplu vom configura comenzile pentru actionarea programului BSPlayer.
Fisier -> Nou
Vom programa o tasta de pe telecomanda pentru deschiderea aplicatiei astfel:
1. Click dreapta in fereastra din stinga "Adauga grup principal" (Toplevel Group)
2. Se redenumeste dupa dorinta, click dreapta "Redenumeste" (Rename) - de exemplu BSPlayer
3. Click dreapta in fereastra din stinga "Adauga comanda" (Add command)
4. Se redenumeste dupa dorinta, click dreapta "Redenumeste" (Rename) - de exemplu Porneste BSPlayer
5. Apasa buton "Invata eveniment" (Learn Event), apoi apasa butonul dorit de pe telecomanda
6. In dreapta jos se apasa tab-ul "Sistem de operare" (O.S.)
7. Din meniul derulant se alege "Executa" (Execute)
8. In cimpul "Fisier" (File) se completeaza calea spre executabilul care lanseaza aplicatia, va puteti folosi de "Cauta" (Browse)
9. In cimpul "Optiuni de pornire" (Startup Options) din meniul derulant se alege "Implicit" (Implicit)
10. Se apasa "Aplica" (Apply)
11. Fisier -> Salveaza -> denumiti fisierul (va avea extensia gml)
12. Fisier -> Setari -> General -> bifati Auto-incarca -> selectati fisierul salvat anterior folosind "Cauta"
13. "Aplica" (Apply) si OK
receptor telecomanda pentru calculator
Puteti face o proba. Apasati tasta telecomenzii programata anterior, bulina verde din coltul dreapta jos al ferestrei aplicatiei Girder isi va schimba culoarea in galben iar BSPlayer-ul se va deschide.
Pentru ca aplicatia Girder sa poata comunica cu BSPlayer trebuie activat plug-in-ul SendMessage.
Fisier -> Setari -> Conectori -> bifati din lista SendMessage -> Aplica -> OK
Pentru ca plug-in-ul sa fie incarcat in memorie trebuie restartata aplicatia Girder. Inchideti Girder. In tray (dreapta jos, linga ceas) gasiti un icon ca o telecomanda, clic dreapta Iesire Girder. Deschideti din nou Girder.
Pentru fiecare comanda in parte Girder trimite catre BSPlayer un cod. Lista acestor coduri o gasiti aici. In lista in dreptul fiecarei comenzi gasiti valoarea parametrului Wparam.
In continuare vom programa aplicatia Girder pentru comanda Play (pentru Play Wparam=20). Similar puteti programa orice comanda.
1. Click dreapta in fereastra din stinga "Adauga comanda" (Add command)
2. Se redenumeste dupa dorinta, click dreapta "Redenumeste" (Rename) - de exemplu Play
3. Apasa buton "Invata eveniment" (Learn Event), apasa butonul dorit de pe telecomanda
4. In dreapta jos apasa tab-ul "Conectori" (Plugins)
5. Se selecteaza (apasa) SendMessage (devine albastra)
6. Apasa butonul "Tinta" (Target)
7. Debifeaza "Trimisa sarcinii de prim-plan" (Send to foreground task)
8. Bifeaza casuta "Nume-clasa" (Class Name) si completeaza in acel cimp: BSPlayer, "Aplica" (Apply) si OK
9. Apasa butonul "Setari" (Settings)
10. La Message Number completeaza: 1026
11. La Wparam completeaza: codul corespondent din lista pentru comanda dorita (pentru Play valoarea este 20)
12. La IParam completeaza: 0
13. "Aplica" (Apply) si OK
NOTA: Cand este necesar ca o comanda sa nu se repete (evitarea unei apasari repetate accidentale) se selecteaza rindul (Event String) al comenzii respective. In dreapta sus la "asteptare antirepetare [ms]" (Antirepeat wait time[ms]) se completeaza 500 (uzual). Aceasta setare este recomandata comenzilor duble (la prima apasare o stare, la a doua apasare alta stare) de genul Play/Pause sau Mute (activat/dezactivat).
Similar exemplului anterior puteti programa orice comanda dorita pentru BSPlayer folosind lista codurilor mentionata anterior.
Pentru WinAmp si Windows Media Player se folosesc alte liste cu coduri.
Sus

Niciun comentariu:

Trimiteți un comentariu