Informática

Control Remoto Infrarrojo para Software por USB y Serie

Autor: 
k74

 

   Este circuito se construyo para aprovechar un mando a distancia de un reproductor de video antiguo con el que poder controlar algunas funciones del ordenador, como el volumen, pause y demás cuando estoy tirado en la cama viendo películas DivX.

 

 Ahora con la necesidad de un nuevo mando a distancia para el control remoto por hardware, adquirí un mando universal 6 en 1 en concreto uno de la marca Electro DH Mod. 60.805, ya descatalogado, alternativa: 4in1 - Mando a Distancia Universal programable USB, Este esta programado con el código 256 en modo TV que corresponde a uno de los códigos de la marca Sanyo. Después de realizar varias pruebas elegí este código de Sanyo por ser uno con el cual funcionaba perfectamente el receptor y casi todas las teclas del mando.

 

 

 

Archivo PDF Manual mando universal Electro DH 60.805

 

  Podemos elegir entre montar el receptor por puerto serie (con pocos componentes y fáciles de encontrar) o montarlo por puerto USB (algo más complicado y necesitaremos un integrado Atmel difícil de encontrar). En cuanto a la configuración de las funciones del mando es verdaderamente larga si no lo has hecho nunca y sabes poco ingles.

 

 Montaje por puerto USB:

 

  Este montaje es muy sencillo para lo bien que funciona y esto se lo debemos a Igor Cesko que es que a diseñado el circuito, programación del microcontrolador y controlador USB. En su página Web www.cesko.host.sk viene todo el proyecto, esquemas, software, etc bien explicado y expuesto. A continuación un explicación breve de todo el proyecto.

 

  La última versión del esquema y la más completa es la que he usado, sobre todo porque incluye dos diodos Led que nos indican el estado del receptor (D1) y cuando está recibiendo señal (D2).

 

 

  El microcontrolador es de la marca Atmel de 8-bits con arquitectura RISC, en principio funciona a 10MHz pero en el montaje se usa a 12MHz para conseguir la velocidad mínima necesaria para funcionar con el bus USB (1.5Mbit/s). Comentar que es difícil de encontrar y tuve que comprarlo por Internet por algo más de 8€.

 

  Conector USB tipo A:

 

        

 Pin

   1 >  +5 (Vcc)

   2 >  - Data

   3 >  + Data

   4 >  GND

 

        Lista de componentes necesarios:

 

                - 1 Conector USB tipo A

                - 1 Resistencia de 100 Ohmios

                - 1 Resistencia de 1K5 Ohmios

                - 2 Resistencias de 1K Ohmios

                - 1 Condensador electrolítico de 4,7 microfaradios (uF) 16 voltios

                - 1 Condensador electrolítico de 10 microfaradios (uF) 16 voltios

                - 1 Condensador de poliéster de 100 nanofaradios (nF)

                - 1 Cristal de cuarzo de 12MHz

                - 2 Diodos Led de 3mm(verde y rojo)

                - 1 Receptor de infrarrojos TSOP1738, TSOP1838 o compatible (más información en el apartado: Montaje por puerto serie RS-232)

                - 1 Zócalo de 20 pines (para el microcontrolador Atmel)

                - 1 Microcontrolador Atmel AVR de 8-bit con 2KBytes de memoria Flash programable AT90S2313-10PC (Encapsulado PDIP) Archivo PDF

 

  Antes de poder conectar nuestro receptor al puerto USB necesitamos programar el microcontrolador, para ello tenemos el siguiente esquema para construir un sencillo programador por puerto paralelo y su correspondiente software que incluye el firmware a grabar. Os recomiendo configurar en la Bios de vuestro ordenador que el puerto paralelo este en modo ECP para que no os ningún problema al programar.

 

 

   

 

     Descarga IgorPlugUSBprogrammer

 

  Una vez montado y programado ya lo tenemos listo para conectarlo a nuestro puerto USB, si todo está bien nuestro Windows lo detectará y nos pedirá el controlador, este lo podéis descargar de aquí.

 

      efecto

 

  Montaje por puerto serie RS-232:

 

   

 

   El circuito se basa en un receptor de infrarrojos con preamplificador, filtro y demodulador  incorporado que trabaja a una frecuencia de 38KHz. La misma que se usa en los circuitos de infrarrojos de las televisiones, videos, etc. Con lo que son totalmente compatibles entre si. Pudiendo utilizar los mandos a distancia de cualquier aparato que tengamos para manejar nuestro ordenador.

 

   El pin 5 del conector serie es la masa (negativo) del circuito. Con el pin 7 y 1 conseguimos sacar la tensión necesaria para que el regulador de tensión nos de los 5 voltios necesarios para hacer funcionar el receptor de infrarrojos. Los condensador hacen la función de filtros de tensión por lo que se colocan antes y después del 78L05, no son imprescindibles, pero sí recomendables. La señal generada por el receptor es mandada al ordenador a través del pin 1.

 

    Esquema:

 

 

        Lista de componentes necesarios:

                - 1 Conector DB9 hembra

                - 1 Resistencia de 4K7 Ohmios

                - 1 Condensador electrolítico de 10 microfaradios (uF) 16 voltios

                - 1 Condensador de poliéster de 100 nanofaradios (nF)

                - 1 Diodo 1N4148

                - 1 Regulador de Tensión 78L05 Archivo PDF en encapsulado TO-92

                - 1 Receptor de infrarrojos TSOP1838 Archivo PDF

 

   Todos los componentes se encuentran fácilmente en cualquier tienda de electrónica menos el receptor de infrarrojos, este lo podéis pedir por Internet o sacarlo de algún aparato viejo que lleve mando a distancia. Aquí os pongo una lista de algunos receptores compatibles (38KHz), tener en cuanta que en cada modelo pueden cambiar la función de cada patilla. Este archivo Archivo PDF  nos muestra el patillaje y ventajas de la mayoría de receptores de la familia TSOP.

 

        Receptores compatibles:                                 xx = frecuencia en kHz

            - TSOP18xx Archivo PDF

            - TSOP17xx Archivo PDF

            - TSOP11xx

            - SFH506-xx Archivo PDF

            - SFH5110-xx (Sucesor del SFH506)  Archivo PDF

            - Más modelos en www.lirc.org

 

    Este el patillaje del receptor TSOP1838:

 

      

 

    Normalmente suele ser así, pero en algún caso también puede ser así:

 

      

 

    Este el patillaje del regulador de tensión 78L05:

 

       

 

  Montaje en la Mod:

 

   El receptor lo he colocado en el frontal de la caja detrás de la tira negra semitransparente que hay al lateral derecho, para el correcto paso de la señal infrarroja hacia el receptor se ha colocado una tapa plástica ahumada especial que solo deja pasar el haz infrarrojo. Con todo esto se consigue que el alcance y el ángulo de recepción sean muy buenos además de amplios.

 

     

 

 Software:

 

  Para controlar el receptor para puerto serie usaremos el winlirc.sourceforge.net y de la web www.promixis.com el Girder 3.x.x + plugin WinLIRC 2.0. El primero controla el funcionamiento del mando y el segundo asigna acciones a cada tecla. Para el receptor USB utilizo el Girder 3.x.x + plugin IgorPlugXP

  En cuanto al plugin IgorPlugXP comentar que la versión que está disponible en su Web par descargar es una versión "gratuita" y cada vez que iniciemos o cerremos el Girder aparece un ventana de información que deberemos aceptar para que funcione el receptor. Existe una versión del plugin que no tiene esta "pega" que según el autor se puede conseguir por unos 4€ a trabes de su página Web.

 

     

 

   En la Web de cada unos de los programa hay ejemplos y guías que nos ayudaran a configurar estos programas. De todas formas os pongo una guía de configuración de estos programas.

 

 Configuración del WinLIRC para receptor por puerto serie:

 

   Primero iremos a la Web del LIRC y buscaremos en la base de datos el mando a distancia que vayamos a utilizar. Si tenemos suerte y nuestro mando esta en la base de datos nos bajaremos el archivo y lo guardaremos con extensión .cf en el mismo directorio donde tengamos el WinLIRC. Si por el contrario no está nuestro mando deberemos programarlo y crear el archivo .cf a través del WinLIRC.

 

 

   Una vez iniciado el WinLIRC le daremos al botón de Reconfigure para configurar el programa. Configuraremos el puerto serie a utilizar, la velocidad, sense, tipos de receptor, etc. Si tenéis el archivo .cf de vuestro mando solo tendremos que buscarlo con el botón browse y no hará falta crear ninguna tecla.

 

 

   Con los valores que salen en la imagen de arriba el receptor me funciona perfectamente, si a vosotros os falla os daría un mensaje como el de la siguiente imagen. Si os pasa esto tendréis que comprobar que vuestro receptor este bien montado y/o probar con otra velocidad d e puerto serie o tipo de receptor.

 

 

   Si por el contrario nuestro mando no esta en la base de datos tendremos que programarlo y crearnos nuestro archivo .cf. Para esto daremos al botón de Learn. Lo primero que nos pide es que le asignemos un nombre al mando que vamos a configurar. Lo normal es poner el modelo del mando que en el caso del ejemplo es un Electro DH 60805.

 

 

   Luego nos pedirá que indiquemos un margen de error en las lecturas del receptor. De normal con poner 25 nos vale.

 

 

   Ahora tendremos que determinar el tipo de señales que usa el mando. Lo podremos hacer manualmente introduciendo el código correspondiente, pero si no lo sabemos le daremos al enter para que el propio programa de averigüe.

 

 

   Nos irá pidiendo que pulsemos una tecla varias veces. Seguiremos las instrucciones que nos valla diciendo.

 

 

   Una vez hecho esto llega el momento de programar todos los botones. Tendremos que ir escribiendo el nombre de cada botón y seguidamente presionarlo hasta que el programa lo certifique.

 

 

   Después de currárnoslo programado todos los botones le daremos al enter para para salir y nos aparecerá un mensaje como el de la siguiente imagen diciéndonos que para el mejor funcionamiento tenemos que analizar los datos.

 

 

   Pos nada le daremos al botón Analyze y si todo está bien nos saldrá algo como esta imagen:

 

 

   Eso es todo ya podemos pasar al la siguiente fase.

 

 Configuración del Girder 3.x:

 

   Bueno tendremos que descargarnos la última versión del Girder y del plug-in que necesitemos según el receptor que utilicemos. En la zona de descargas de la web www.promixis.com encontrareis muchos para soportar determinados tipos de receptores y opciones como soporte WinAMP 3.0, menús OSD, etc.

   Después de instalar el Girder y el correspondiente plug-in directamente empezaremos con la configuración del programa. Para esto iremos al menú Archivo -> Configuración...

   Primero nos dirigiremos a la pestaña de Interfaz de usuario para configurar el idioma:

 

 

  Aplicamos los cambios y seleccionamos la pestaña de General. Aquí seleccionaremos el archivo comandos de nuestro mando cuando lo generemos con el Girder. También podemos indicar al programa que arranca junto al Windows y que esconda el programa en la barra de tareas.

 

 

   En la pestaña de plugins seleccionaremos el plugin de WinLIRC, IgorPlug-USB o el que elijamos y presionaremos el botón de Configuración.

 

 

   Para que cuando iniciemos el Girder cargue automáticamente el WinLIRC solo tendremos que indicar la ruta donde se encuentra instalado. Además podremos indicar un tiempo de retraso por si nos arranca antes el Girder que el WinLIRC.

 

 

  Para el IgorPlug-USB solo tenemos que indicar que el receptor es USB.

 

 

 

   En la pestaña de OSD Settings podremos configurar el menú OSD del Girder para configurarlo con la posición y tamaño no nosotros queramos.

 

 

   Introducción de comandos en el Girder:

 

      El Girder presenta una ventana como la de la siguiente imagen. Para empezar a agregar funciones a las teclas de nuestro mando presionaremos el botón derecho del ratos sobra el espacio en blanco de la parte izquierda del programa.

 

 

  Pulsaremos la opción de Añadir Comando con lo que nos creara un grupo y un comando dentro de él. Renombraremos el comando con el nombre de la tecla que le vallamos a asignar y pulsaremos el botón de Learn Event. Ahora pulsaremos el botón de nuestro mando que queramos relacionar con este comando y nada mas pulsarlo el Girder creará un "EventString" con la tecla asignada. Aquí podemos seleccionar un tiempo de espera para que no se repita el comando si le damos dos veces seguidas. Este tiempo se deberá poner según la función que se vaya a realizar. Si es para Volumen por ejemplo lo dejaremos en cero porque nos interesa poder repetir el comando rápidamente.

 

 

   Hay multitud de posibilidades en cuanto a funciones que podemos configurar para cada tecla. En la siguiente imagen podemos ver como configurar una tecla para subir el volumen. Par ala tecla de baja el volumen solo tendremos que sustituir el + por el - en la casilla "Medida de F".

 

 

   Para configurar la tecla Mute es aún más sencillo.

 

 

   Otra posibilidad es que el Girder Ejecute una secuencia de comandos en un programa, como por ejemplo darle al botón de Play en el WinAMP. Seleccionaremos Comando y pulsaremos el botón Capturar.

 

 

   En la ventana de Captura pulsaremos sobre Empezar Captura, después haremos con el ratón la acción que queramos grabar para que se ejecute al pulsar el botón del mando a distancia. En la siguiente imagen hemos capturado la pulsación del botón Play en el WinAMP y luego hemos parado la captura. Como solo nos interesa la acción de Play seleccionaremos con la tecla Shift y el ratón los comando que necesitemos, en este caso los dos primeros.

 

 

  Después de Aceptar la captura pulsaremos el botón de objetivo. En esta ventana veremos en la parte de abajo a la derecha que tenemos activados el Nombre, Nombre de clase y Ejecutable del programa que corresponda la acción que hemos capturado. Solo dejaremos activada la casilla de Ejecutable y así nos evitaremos de problemas por ejemplo cuando el programa cambie de nombre porque hemos abierto un archivo diferente.

 

 

   Grupos de comandos:

  Para facilitarnos el trabajo y no andar capturando cada función de cada programa que queramos controlar en la Web del Girder hay una sección llamada "Girder Program Definitions" con los grupos de comandos para cada programa. Solo tendremos que bajarnos el archivo del programa que queramos y arrastrar el archivo *.gml a la ventana del Girder, con esto nos aparecerán la mayoría de comandos a controlar para el programa en cuestión. Ahora tendremos que ir asignando la tecla que deseemos a la función a controlar.

 

 

 Multi-grupos:

  Estos son necesarios para poder efectuar varios comandos con el mismo botón. Veremos el ejemplo de usar una tecla para abrir el WinAMP y a la mostrar un mensaje OSD y que cuando volvamos a dar a la misma tecla cierre el WinAMP. Primero añadiremos un Multi-grupo en el Girder y le asignaremos la tecla que queramos que ejecute el grupo con el botón Learn Event. Luego añadiremos el comando que ejecute el WinAMP:

 

 

  Después añadiremos el comando que nos muestre el mensaje OSD gracias al plugin XP OSD con el que configuraremos nuestro mensaje a nuestro gusto:

 

 

  Y solo nos falta el comando que cierre el WinAMP:

 

 

  Para que solo cierre la ventana del WinAMP y no cualquier otra tendremos que darle al botón de "Objetivo" y decirte en ejecutable el nombre del programa a cerrar, en este caso Winamp.exe:

 

 

  Una vez hecho esto hay que decirle al Girder cuando tiene que ejecutar unos comandos y cuando otros, para hacer esto tenemos que pulsar con el botón derecho del ratón sobre unos de los comandos y seleccionar "State Settings" que aparece al final del menú contextual. Para que se ejecuten los comandos de abrir WinAMP y mostrar OSD cuando pulsemos la tecla del mando la primera vez deberemos configurar el estado de cada uno de estos comandos como la siguiente imagen:

 

 

  Y para que se ejecute el comando cerrar en la siguiente pulsación de la tecla configuraremos el estado del comando cerrar de la siguiente manera:

 

 

Una tecla para varios programas:

 

  Seguro que queremos usar la tecla Play tanto en el WinAMP como en el Windows Media Player por poner un ejemplo. Para esto simplemente crearemos el correspondiente comando para cada uno de estos programas y les asignaremos la misma tecla del mando, luego usaremos el botón "Objetivo" en cada comando para decirle a cada uno en que ejecutable se tiene que realizar.

 

-----------------------

 

  Bien espero que con está guía os hagáis una idea. En cuanto al Girder se pueden configurar muchas más funciones para las teclas del mando, no las explico porque seria interminable...

Volumen

Hice al pie de la letra los pasos que estan mas arriba para subir y vajar el volumen pero no pasa nada che. tengo windows seven y en el icono de volumen donde dice mezclador me aparece el volumen del sistema y otra barrita que es el volumen que sube y baja del programa pero el volumen del sistema sigue igual que podra estar pasando??. Te agradeceria si me das una manito en el asunto!!

A mí me pasa igual, has

A mí me pasa igual, has probado las últimas versiones del Girder? 

Winirc

amigo me sacas de dudas?, necesito saber que tipo de infrarojo tengo, es el de la capturadora de video, una kworld plus tv analog lite pci, con chip philips saa7134se, y no se que tipo es, serie, usb...ovio que no es usb, pero la verdad no se como identificarlo ya que la instalacion en linux es algo complicada y no he podido hacerlo...saludos!

 curiosamente tengo una

 curiosamente tengo una capturadora con el mismo chip y para empezar en windows 7 x64 no e conseguido funcionar el mando.. si consigo algo ya aviso ;)

Compatibilidad

Quisiera saber la compatibilidad que tienen, si la tienen, los 2 proyectos tanto el de usb como el de puerto serie con Windows 7 64/32 bits. Ya que me interesaria armar o uno o el otro pero depende si hay alguna posibilidad de que funcione bajo cualquiera de esas 2 versiones del SO de lo contrario no me gustaria perder tiempo armandolos y que no funcionen ya que seria una verdadera molestia y una perdida de dinero. Desde ya muchas gracias por publicar esta guia y por la futura respuesta.

Con Windows 7 64bits no he

Con Windows 7 64bits no he conseguido hacerlo funcionar, el problema es que no existe el controlador 64bits para el modulo USB, Igor Cesko tampoco a actualizado su página con nuevos controladores desde hace mucho tiempo... y dudo que lo haga nunca.

 

Mira este foro por si te sirve de ayuda, es lo único que eh encontrado: MOD X64 Driver for IgorUSB Release

 

Si encuentras algo, por favor comentalo, gracias y saludos.

arme todo el circuito USB

arme todo el circuito USB pero no puedo configurar el winlirc por USB... que solucion me ofreces? muchas gracias

Como pone en la guía para

Como pone en la guía para usar tu receptor por USB tienes que usar el software Girder + plugin IgorPlugXP, el WInlirc solo vale para el montaje de puerto serie.

compatibilidad

hola, me imagino que tambien se podria hacer con otro mando "ingo carrefour" y otro irda "tekran ir-410w" ¿que programas me recomiendas? estupendo el articulo muy completo y mejor explicado gracias y saludos

Efectivamente con ot

Efectivamente con otros mandos universales también funciona, en cuanto al receptor Tekran mira en la web del programa Girder, a ver si tienen un controlador para ese receptor.
_________
nespresso promo

Efectivamente con otros

Efectivamente con otros mandos universales también funciona, en cuanto al receptor Tekran mira en la web del programa Girder, a ver si tienen un controlador para ese receptor.