Guía para construir un receptor universal de control Como primer punto, ¿ Porque construir un receptor de control remoto para mi PC? Bueno, la explicación es sencilla: A mi me ocurrió la inquietud hace un tiempo, cuando estaba viendo una película desde mi computadora con la salida al TV( DIVX ), y me pareció incomodo tener que pararme a cada rato a detener la película, subir el volumen y esas cosas, mientras el televisor lo maniobraba cómodamente sentado en el living... y me pregunté: se podrá hacer lo mismo con el PC ?? Ocupando lo que ya tengo (el control remoto) e invirtiendo lo mas mínimo en recursos. Este proyecto tiene una utilidad infinita, ya que también es aplicable a la utilización de programas, escuchar música con el Winamp u otros, o simplemente, para suspender o apagar el PC. Todo depende de nuestra imaginación. Investigando por Internet encontré muchos modelos y artículos sobre el tema, pero involucraban demasiados conocimientos en electrónica y capital. El modelo aquí presentado es la recopilación de esos artículos y, según considero yo, lo mas sencillo, económico y próximo a nuestra realidad local, en especial, para obtener los materiales. 100 % probado y efectivo. Un punto importante a considerar es que este receptor utiliza la entrada de un puerto COM serie, por lo que es necesario disponer por lo menos un puerto libre. En todo caso hay otros artículos que mencionan la utilización de otros puertos, como el Paralelo y el IRDA, pero en esta ocasión no serán abordados. En esta Primera Parte se montará solamente el Circuito dejando para la Segunda parte la instalación y configuración del receptor. Bueno, menos cháchara y manos a la obra: MATERIALES Los "Ingredientes" En detalle: -1 condensador de 4,7 µF x 25 V. -1 diodo 2N4148 ( $ 15 ) -1 transistor ( circuito integrado ) LM78L05 o similar, regulador de voltaje a 5V, 100 mA ( $ 165 - $ 300 ) Vista desde abajo (desde las patitas), la configuración va así OUT GND IN -1 conector hembra DB-9, con su correspondiente "cubierta" -cable con 3 hilos, de largo suficiente -receptor de infrarrojo IRM8601S o cualquiera que sea "compatible" ( ver detalle mas abajo ) Herramientas 1 Cautín 30 Watts, o el que se tenga a disposición Soldadura Destornillador pequeño de Paleta Alicate Cortante y de Punta En general no se tendrán mayores problemas para obtener estos materiales en cualquier casa electrónica y como verán a su vez en suma, bastante económicos. Lo mas importante y relevante del proyecto, es el circuito integrado receptor de IR, que no tiene nada que ver con esos tipo LED que algunas veces ofrecen en las casas de electrónica. De partida tiene que tener 3 patitas. Yo lo ocupé el IRM8601S, que a pesar de que no es el original que el proyecto tenía, es una versión "compatible" y económica. Como alternativas se pueden ocupar adicionalmente los siguientes tipos, siempre y cuando tengamos claro el tipo de señales que vamos a enviar y obtener de él . ( VCC 5V, GND, DATA ) Tipos de receptors "Probados" Vishay TSOP 1738 Vishay TSOP 1838 Everlight IRM-8601S ( es el que utilizaremos en esta Guía ) Vishay TSOP 11.. series Siemens SFH 506 (discontinuado) Siemens SFH 5110 (sucesor del SFH 506) Radio Shack 276-0137 Everlight IRM 8100-3-M (Radio Shack part no. 276-0137B) Mitsumi IR Preamp KEY-COOSV (0924G) TOSHIBA TK19 444 TFMS 5360 TEMIC TFMS 5380 Por Telefunken Semiconductors Sharp IS1U60 (Disponible como RS) Precaución: Algunos usuarios han reportado problemas con el receptor IS1U60. No funciona bien en ambientes muy iluminados y prácticamente inutilizable con lámparas fluorescentes Sony SBX 1620-12 Sharp GP1U271R Kodenshi PIC-12043S Daewoo DHR-38 C 28 Una vez teniendo los claros materiales y las ideas nos ponemos a trabajar. Circuito CIRCUITO Para la construcción del circuito, según se estime conveniente y se pueda realizar, es posible armarlo en una placa, de acuerdo al siguiente esquema ( Basado en el receptor TSOP 1738): en castellano sería: Pero como no lo pego mucho a fabricar una placa, y me imagino que ustedes tampoco, me tomé la libertad de soldar directamente las patitas de los componentes y meter toda la maraña dentro del conector DB-9, así se ahorra espacio, tiempo y $$$. La explicación del circuito es muy sencilla: La línea RTS (Pin 7) del puerto Serie nos entrega la energía al regulador de voltaje 78L05 el cual lo fija a 5V (que es necesario para echar a andar el receptor IR). Un diodo es colocado aquí para evitar las corrientes inversas al puerto serie. El condensador permite mantener el voltaje de 5 V estable, y las "tierras" o "negativos" se mandan todas a la tierra del puerto (Pin 5, GND). La salida de datos del receptor IR se conecta a la línea DCD (Pin 1) del puerto serie, juntamente con una resistencia "acentuadora" para la señal. El resto del trabajo se realiza todo por software, el que se encarga de analizar los datos que recibirá nuestro RECEPTOR Precaución: Ya que la configuración de los pines entre este integrado IR (TSOP-1738 = GND, VCC, OUT) es un poco distinta al que vamos a utilizar (IRM-8601S = OUT, GND, VCC), tendremos el cuidado de cambiar los cables según corresponda antes de soldar los pines. CONSTRUCCION Como primer punto tomaremos el conector DB-9 y soldaremos la patita N° 7 al terminal positivo del Diodo ( es decir el lado SIN la banda negra ) el cual dejamos bien cortito Luego agregaremos el regulador de voltaje soldando el terminal numero 2 (GND, la patita central) al pin numero 5 del DB-9 y soldamos también el terminal 1 del regulador (OUT, patita izquierda visto de frente) a la patita "negra" del diodo. Luego, agregamos la resistencia soldando uno de sus terminales al pin numero 1 del DB-9 y soldando el otro extremo a la unión del regulador con el diodo Y para finalizar con esta parte, soldamos el condensador con su terminal negativo (“– " ) al pin numero 5 (GND) o lo entrelazamos junto con el regulador y el otro terminal del condensador a la patilla libre la numero 3 del regulador. Luego recortamos el cable del Mouse y soldamos los cablecillos a las patitas del integrado receptor IR, teniendo en claro que terminales y con que cable vamos a soldar. En mi caso soldé el terminal OUT al cable Azul; el terminal GND a los cables blanco y naranja (el cable era de un Mouse de 4 hilos); y el terminal VCC al cable Verde. Una vez teniendo en claro los terminales y cables respectivos, procedemos a soldar el otro extremo del cable al conector DB-9. El cable Azul (Out) se suelda junto a la resistencia al pin 1 del Conector. El cable verde (VCC) al terminal positivo del condensador que esta junto a la patita 3 del Regulador y por ultimo el cable Blanco/Naranja (GND) al pin 5 del conector Así ya tenemos terminado el circuito electrónico y sólo nos queda meterlo dentro del encapsulado del conector DB-9 Tenemos listo el nuevo juguete. La construcción presentada es solo una sugerencia a lo que ustedes pueden realizar. Pudiendo conectar el receptor dentro del mismo gabinete ( como posible MOD ) o también como estas otras "ideas" que encontré por ahí, TODO QUEDA A VUESTRA IMAGINACION: Dentro de un antiguo Mouse: Camuflado dentro de un TIE FIGHTER: Instalación y software INSTALACION (segunda parte) Como primer punto, y lo mas obvio, es necesario conectar nuestro receptor a algún puerto COM libre de nuestro PC. NOTA: Recomiendo conectar el receptor con el PC apagado para evitar cualquier posible descarga o estática. ( Por si acaso.. el conector Gris es el del receptor ) SOFTWARES "El Driver" Ahora, y como todo hardware, es necesario instalar un "DRIVER" o controlador que reconozca y analice los datos que se obtendrán. Esta Guía esta basado en el proyecto "LIRC", Linux Infra Red Controler, (como siempre, linux la lleva... http://www.lirc.org) y por supuesto, su versión "clon" de Windows: WINLIRC. ( http://winlirc.sourceforge.net/ ) Entonces, para el caso de Windows, descargamos el programa WINLIRC (que para la emisión de esta guía está la versión winlirc-0.6.4.zip ) lo descomprimimos en alguna carpeta de nuestro disco duro, por Ej. C:\INFRA\WINLIRC. Ejecutamos el programa WINLIRC.EXE ubicado dentro de la carpeta que acabamos de crear, por ser la primera vez que ejecutamos el programa nos aparecerá un mensaje de error, que dice que el programa no se puede inicializar, pero es debido a que no ha podido encontrarse el archivo de configuración. En general, el programa tiene un asistente bastante intuitivo, por lo que no tendremos muchos problemas para programar las opciones de configuración, se cargarán entonces las opciones básicas. Entonces nos aparecerá la siguiente ventana Dejamos las opciones como aparece en el ejemplo, con la salvedad de seleccionar el puerto COM al cual corresponde nuestro receptor de IR (en mi caso, al COM2 ). Bueno, las opciones son: Port: Puerto donde colocaremos el dispositivo receptor. Sense : Sensibilidad de la recepción, Dejarlo en Auto Animax : Es una opción para un tipo de receptor/emisor especial, el que no utilizaremos Transmitter settings: Configuración del Emisor. El cual no tenemos, no importa la opción. Speed: Velocidad de transferencia de datos. Generalmente se deja en 115200, pero en algunos casos otros valores dan mejor resultado Receiver type: Tipo de receptor que utilizaremos. En este caso el nuestro esta basado en un dispositivo tipo DCD ( Data Carrier Device ) No tray icon: Deshabilita el icono que aparece al lado del reloj y que obliga a tener que ejecutar el programa nuevamente para entrar al menú de configuración. ( en caso "de" ) Config : Es la ruta donde guardaremos la configuración que vamos a crear para nuestro Control Remoto Software :El WINLIRC Descripción del System Tray del WINLIRC WinLIRC gasta la mayor parte de su vida quedándose felizmente en la barra del System Tray (al lado del reloj). Hay 5 tipos de iconos coloreados que representan los distintos estados de WinLIRC: Inicializando el Hardware y leyendo la configuración. El Hardware no se ha iniciado, o un error ha ocurrido. Listo para recibir señal. Este es el icono que se verá normalmente. Una señal ha sido exitosamente decodificada. Este icono aparece solo momentáneamente. Una Señal ha sido exitosamente Enviada. Este icono aparece solo momentáneamente. Configuración del WINLIRC Ahora procederemos a ubicar la ruta en la que salvaremos la configuración de nuestro CR presionando el botón "Browse...". En mi caso lo dejo con la configuración Básica del Winlirc.rc, según aparece en la siguiente figura: ( sobreescribimos el archivo, aunque igual se puede guardar con otro nombre) Entonces presionamos el botón "Learn" ( "Aprender") el cual nos llevará a la siguiente Ventana del asistente, que grabará y configurará todas las señales del CR: Ingresamos un nombre para nuestro control remoto, en mi caso SAMSUNG, ya que utilizaré un aparato de esa marca para esta prueba y presionamos "ENTER". Luego, el asistente de configuración nos mencionará varias opciones, que para esta ocasión dejaremos las "por defecto", pero en caso de tener algún problema con el CR sería recomendable ir probando algunas variantes. La primera opción del asistente menciona un margen de error utilizado para analizar los datos de la señal del receptor, que con un 25% es un rango aceptable, así que solo presionamos ENTER para que asuma este valor por defecto. Seguimos con la próxima ventana del asistente en la cual se nos pide ingresar los espacios, el largo, y repetición de la señal.( como no tengo idea de que tipo son, dejamos la opción por defecto presionando "ENTER" ) Ahora comienza lo bueno. Por fin empezamos a programar la recepción de CR, Si todo salió bien en la construcción del receptor, es la hora de la verdad... jejeje Se nos pide ahora presionar un botón del CR... CUALQUIERA, por lo que apuntamos nuestro Control Remoto al receptor y... a ponerle bueno... Si se capta bien la señal del CR se nos pedirá presionar nuevamente el mismo botón para inicializar la base de datos para nuestro CR, Luego de eso, se nos pedirá ingresar sucesivamente otros 10 botones del CR... CUALQUIERA. Si en alguno nos da algún error, intentamos con otro hasta que la cuenta pase. Una vez finalizado toda la etapa de "aprendizaje" del receptor, recién ahora comenzamos a ingresar las teclas del CR para almacenarlas en el archivo de configuración. Para ello debemos ingresar un nombre para la tecla que programaremos del CR y presionamos el botón ENTER Ahora presionamos el botón del CR correspondiente que asociamos al nombre, dejamos presionado hasta que termine la cuenta, y confirmamos el grabado del registro. Continuamos almacenando tantas teclas como queramos, y presionamos solo ENTER para finalizar, sin ingresar ningún nuevo nombre. Presionamos "ACEPTAR" y volveremos a la ventana de configuración donde se nos "sugerirá" analizar los datos recién obtenidos, que chequeará la información para no tener mayores problemas ni errores, Por lo que presionamos el botón "ANALYZE" Una vez finalizado el análisis de los datos, Volvemos a la ventana de configuración y salimos presionando OK. Entonce s quedara Cargado el programa en memoria y lo denotaremos inmediatamente ya que queda un "icono" en la barra de tareas. Si presionamos un botón de nuestro CR el icono de la barra cambiará a verde. El programa "El Programa" Terminamos con la configuración de nuestro receptor de CR... pero ahora, COMO hago que mi PC responda a las instrucciones del IR? Bueno, existen varios programas dedicados a dicha tarea, uno de ellos y el mas conocido es el PC REMOTE ( http://www.pcremotecontrol.com/ ), pero en esta oportunidad nos enfocaremos en el programa GIRDER ( http://www.girder.nl ), ya que es "relativamente" fácil su programación, muy completo en las tareas y opciones para trabajar Nota del editor: Girder fue adquirido por Promixis por lo cual la página de descargas es esta con la versión 3.7 descargables desde aquí Descargamos entonces la ultima versión disponible (en el mi caso para la creación de esta guía, la versión 3.2.7b) y procedemos a instalarla en nuestro PC. Al iniciar el programa encontraremos la pantalla principal. Muy sencilla y básica por lo demás. Como primera tarea que realizaremos es decirle al programa "que tipo de receptor" utilizaremos, ya que como es un programa diseñado para distintas labores es necesario descargar un plugin adicional llamado "WinLIRC2Girder.zip" obtenible también en la misma pagina. Descomprimimos el archivo en la carpeta "PLUGIN" que se encuentra dentro de la carpeta donde instalamos el GIRDER ( en mi caso "C:\Archivos de programa\girder32\plugins" ) Luego en el programa GIRDER entramos al menú FILE>Settings>lengüeta Plugins. Dentro del listado que aparece allí para los receptores, el ultimo plugin de la lista es el que utilizaremos (Winlirc). Lo chequeamos, ante lo cual el programa nos informara que el plugin aun no esta cargado en memoria, por lo que presionamos el botón APPLY. Una vez heho esto se nos habilitara el botón Settings y entramos a la ventana de configuración (Settings) del Plugin, en la cual indicaremos la ruta donde guardamos el programa WINLIRC. Presionamos OK para salir de esta ventana. Aprovechamos entonces de ver las otras opciones Como el programa está en Ingles, y no le pegamos mucho al idioma del Tío SAM, el programa tiene la ventaja de cambiar la interfase a español, para ello entraremos al menú File>Settings>lengüeta USER INTERFACE y cambiamos al idioma de la madre patria. presionamos Aplicar y luego OK Ahora viene lo más importante, comenzaremos a darle instrucciones al programa GIRDER para que al momento de presionar una tecla predeterminada del CR, nuestro "querido" WIN se ponga a trabajar. Haremos un par de ejemplos básicos para probar: Subir y bajar el volumen del PC Primero, y haciendo una pequeño análisis previo, juntaremos los comandos "relativos" en un solo grupo para hacerlo mas ordenado ( al igual que las carpetas en el PC ), para ello entramos a la ventana principal del GIRDER, vamos al menú Editar>Agregar Grupo, con lo cual aparecerá una "Carpeta", para renombrarla hacemos clic derecho sobre ella y seleccionamos "Renombrar" En mi caso Nombraré "VOLUMEN" al grupo (bastante obvio por lo demás). Ahora agregaremos el comando para subir el volumen del PC. Para ello vamos al grupo de comandos "Volumen", hacemos clic derecho sobre él y ponemos "Agregar Comando". Renombramos el comando haciendo clic derecho sobre él, en mi caso el comando se llamará "Vol+" Ahora asociaremos el comando programado a la tecla del control remoto. Para ello vamos a la ventana principal del programa lengüeta S.O. ( Sistema Operativo ) y elegimos de la lista de selección "Cambiar Volumen" Presionamos el Botón VOLUMEN, con lo cual aparecerá el siguiente cuadro (en mi caso para la tarjeta de sonido REALTEK) y seleccionamos la instrucción asociada al volumen principal del PC. Presionamos Aplicar y Aceptar Volvemos a la pantalla principal y clickeamos las opciones OSD ( despliegue en pantalla ) y buscamos en la lista de selección superior "Todos", con ello se habilita el botón "Aprender Evento" Con esto presionamos el Botón "Aprender Evento" con lo que el programa esperará a que presionemos el botón de nuestro CR, el cual asignaremos a esa función, en mi caso obviamente será el "Vol+". Si se fijan, en esta ocasión aparecerá un nuevo Sub-comando que se llama "EventString" que es donde se guardara la información. Ahora probamos nuestro comando recién programado apuntando el CR al receptor y notaremos que aparecerá un cuadro de volumen (OSD). OH!!!! QUE SORPRESA!!!! Por fin vemos resultados.... ;) Bueno, sigamos con la otra pata y programemos el "Bajar Volumen", para ello nuevamente hacemos Click derecho sobre el grupo de comandos "Volumen" y creamos el comando "Vol-", Vamos a la lengüeta S.O. y en esta ocasión pondremos un valor "negativo" (-) al valor "Step Size" para hacer que nuestro volumen descienda, clickeamos OSD, presionamos "Aplicar" y luego el botón "Aprender Evento" con lo cual presionaremos el Botón de nuestro CR que asignaremos a esa función. En mi caso "Vol-" Probamos nuestro comando apuntando el CR al receptor: QUE MARAVILLA!!! Apagar el PC Como ultimo ejemplo programaremos la función de apagar el PC, para ello crearemos otro grupo de comandos con la opción del menú EDITAR> "Agregar Grupo de Nivel Superior" y un nuevo comando como veremos en la figura, en mi caso Power OFF ( ustedes pueden agregar cuantos mas quieran ). Pasamos a la lengüeta "S.O." y de la lista seleccionaremos "Apagar", Presionamos "aplicar", luego "Aprender Evento" con lo cual presionaremos la tecla del CR que asignaremos a la función. En mi caso a la tecla "POWER". Antes de Finalizar guardaremos nuestra configuración, para ello iremos al menú Archivo>Guardar como y colocamos un nombre ad-hoc a nuestra configuración. En mi caso guardaré la configuración como "Samsung.gml" Como ultima cosa antes de finalizar guardaremos todas las configuraciones para que al momento de encender nuestro PC esté habilitado la recepción del CR. Para ello vamos al menú Archivo>Configuración, y en la lengüeta GENERAL clickeamos tal como aparece en la siguiente figura: Cargar automáticamente: GIRDER inicia automáticamente con la configuración indicada en la ruta Ocultar Girder al Inicio: El programa se va automáticamente al System Tray, sin quedar la ventana abierta. Ejecutar Girder al inicio de Windows: Obvio Guardar archivo de datos al cerrar.... : guarda automáticamente la configuración en caso de alguna modificación a los comandos. Bueno, con esto terminaremos este par de ejemplos básicos para controlar nuestro PC Remotamente. Dejo en sus manos todas las inquietudes y ganas de realizar este proyecto. Como dato adicional, es posible asignar al control remoto funciones del Mouse, como mover el cursor, hacer clicks y todo eso. Más antecedentes pueden averiguar directamente en la página de Promixis (ex-GIRDER). También, y para facilitarnos mas la vida, existen personas que han enviado sus grupos de comandos para programas puntuales ( WINAMP, MicroDVD, Etc.), con lo cual ya no tendremos que configurar algún programa en especial, para ello visiten la pagina de PLUGINS de Girder donde encontraran todo lo necesario. Por supuesto, esto es solo una muestra de lo que se puede hacer y que vuestra imaginación eche a volar todas sus capacidades. Espero que esta guía les haya sido de gran utilidad... y por supuesto, de su agrado.