Actualmente, el control remoto de aparatos electrónicos es algo habitual. El extendido uso del mando a distancia en televisión, video y equipos de música está siendo ampliado al usarse en aparatos de aire acondicionado, para la apertura de puertas, control de reproductores portátiles, etc.
Por eso, ¿por qué no hacer lo mismo con el ordenador? En algunos casos, lo único que se hace es pulsar las teclas de cursor o las de AvPág/RePág, por ejemplo cuando se está leyendo un documento extenso. O también, hay quienes desearían no tener que acercase al ordenador cada vez que quieren pasar de pantalla en una presentación multimedia. Recientemente, la reproducción de ficheros de audio MP3 y de video DVD ha demostrado la necesidad de encontrar una forma más cómoda de controlar el ordenador.
En esta página se hallan el hardware y software necesarios para controlar remotamente un ordenador PC mediante cualquier mando a distancia estándar. El programa ha sido diseñado básicamente para simular la pulsación de teclas en la ventana activa y para controlar el ratón. También es posible lanzar la ejecución de otras aplicaiones, y para dar completa libertad, se puede acceder a la función PostMessage de la API de Windows.
Se necesita un dispositivo que convierta información emitida en infrarrojos en un formato que el ordenador sea capaz de entender. Puesto que el receptor de infrarrojos para mandos a distancia es un circuito integrado comercial, gran parte del trabajo está ya hecho. Hay quienes conectan directamente la salida de estos circuitos a un pin del puerto paralelo. Aunque esta solución no requiere más circuitería, el programa en el ordenador necesita funcionar de forma rápida y regular, algo que no siempre es posible en entornos multitarea como Windows. Además, los ordenadores normalmente vienen con un solo puerto paralelo que se suele utilizar para la conexión con la impresora.
Por tanto, parece más conveniente utilizar ese puerto serie libre COM2 que 'casi nadie' utiliza. Por supuesto, eso implica algo más de complejidad en el circuito, pero tampoco mucha. Obsérvese el circuito que hay debajo para hacerse una idea.
Este circuito mide cada periodo de una señal digital y lo envía a través del puerto serie.
Se basa en un contador conectado a un registro de desplazamiento. Cuando se produce una transición de bajo a alto (flanco ascendente) en la salida del inversor U1a, se genera un pulso estrecho por medio de la puerta NAND U2a y la red C1-R1. Este pulso ordena la carga del valor del contador en el registro de desplazamiento y éste lo envía al puerto serie. Mientras, el pulso es invertido por U1b y la subsiguiente transición de alto a bajo (flanco descendente) es utilizada por la puerta NAND U2b y la red C2-R2 para generar otro pulso estrecho que pone a cero el contador. En la siguiente figura se muestran las señales mencionadas en una escala de tiempos amplificada (el periodo de la señal del receptor de infrarrojos es mucho mayor que la anchura de pulsos).
El ordenador recibe valores enteros cercanos al máximo para 8 bits (255). Esas pequeñas diferencias son suficientes para poder distinguir entre distintas secuencias de infrarrojos.
Para demostrarlo, debajo pueden verse dos representaciones gráficas de valores recibidos.
Dos secuencias diferentes:
Dos secuencias iguales:
Dando una cierta tolerancia a los valores recibidos, el programa en el ordenador es capaz de reconocer secuencias iguales.
- Comprobar que la frecuencia del reloj es 19200 Hz (o cercana). Si no es posible hacerlo con un osciloscopio, intentar recibir valores similares a los que se ponen de ejemplo (para ello, utilizar el programa SerialWatcher 97KB,zip) cambiando el valor del potenciómetro. Un valor orientativo del potenciómetro, midiéndolo con un multímetro es 15500 ohmios, aunque este valor puede variar dependiendo de la tolerancia de los componentes e instrumentos.
- Asegurarse de que la velocidad establecida en el programa es 19200, no 9600.
- Apagar las luces de la estancia. El receptor de infrarrojos empieza a funcionar de forma anómala a partir de un cierto nivel de luz ambiental.
Esta es una foto instantánea de baja calidad, pero permite comprobar la simplicidad del circuito. El cable de conexión al puerto serie procede de un ratón desguazado. El receptor de infrarrojos está abajo a la derecha. Los circuitos integrados son, de derecha a izquierda: 74HC132, 74HC14, 74HC393, 74HC165, el potenciómetro del reloj, DS14C232 y sus condensadores asociados. El condensador que hay en la mitad inferior es para filtrar la tensión de alimentación.

Microcontrolador MC68HC11
El circuito para la versión con microcontrolador resulta más sencilla y fácil de construir que la versión con circuitos integrados SSI estándar, y por un coste similar. En estos momentos estoy utilizando el 68HC11A1P, versión fácil de encontrar y además se puede insertar en las placas blancas de prototipo. El circuito a usar es el mismo que Motorola pone en la seción 2.5 del manual de referencia del HC11 ('MC68HC11 Reference Manual') para el modo simple aunque seleccionando el modo 'boostrap'. Si añadimos el integrado MAX232 o equivalente para conectar las patillas PD0/RxD y PD1/TxD al puerto serie del ordenador, y conectamos la salida del receptor de infrarrojos a la patilla PA2 ('input capture 1'), el circuito queda terminado.
Después, el programa para el HC11 puede cargarse en la RAM o en la EEPROM del propio microcontrolador.
- EEPROM. Se suele utilizar el programa PCBUG11 de Motorola. Para que el programa funcione automáticamente al resetear el micro, hay que conectar juntas las patillas RxD y TxD.
- RAM. Después del reset (y sólo en modo 'boostrap') el micro espera que le enviemos por el puerto serie el programa para guardarlo en la RAM. Cuando se termina el envío, empieza la ejecución del programa enviado. Aunque el tamaño disponible está muy limitado, es un buen método de comprobar rutinas antes de grabarlas en la EEPROM ('sólo' disponemos de 100.000 ciclos de escritura-borrado). Para facilitar este proceso, he realizado un programa que permite la descarga de ficheros S19 por este método (BLIR para Win95, 99KB fichero zip comprimido, incluye un programa de prueba para el HC11).
El programa para control remoto del HC11 (fuente, compilado con AS11) utiliza el temporizador interno del micro para medir el tiempo entre flancos de bajada de la salida del receptor de infrarrojos (anchura de pulso).
Universal Infrared Receiver
Diseñado por Ties Bos. Es un pequeño circuito construido en base a un microcontrolador PIC. Su uso principal es controlar el reproductor WinAmp, aunque ahora también es compatible con PC Remote. Se conecta al puerto serie sin necesitar fuente de alimentación externa. Funciona con cualquier mando a distancia típico.
Parece una buena opción, especialmente si se dispone del programador necesario para la familia PIC de microcontroladores. Para más información, ver la página http://www.geocities.com/SiliconValley/Sector/3863/infrared.html
Tekram AV-100
Este dispositivo es la solución ideal para aquellos que no quieren perder tiempo con circuitos y hojas de características. Fue adquirido para compararlo con la solución a medida propuesta antes, y obviamente tiene sus ventajas pero también sus inconvenientes:
- No necesita fuente de alimentación suplementaria.
- Buen aspecto exterior (aunque posiblemente sea más atractiva una placa de prototipo llena de circuitos integrados y cables).
- Solo funciona consigo mismo, es decir, sólo acepta comandos enviados desde su propio mando a distancia.
- El programa incluido es de poca utilidad (no simula pulsación de teclas).
Puede encontrarse a un precio que varía desde $20 a $35 (US). No existe página en Internet para este producto por parte del fabricante. Para utilizar este dispositivo es necesario establecer una velocidad de 9600 en el programa PC Remote Control.
![]() |
![]() |
![]() |
IrDA estándar
La tecnología de infrarrojos usando los protocolos IrDA (Infrared Data Association) está ganando rapida aceptación como medio de transmisión sin cables en el mundo de los ordenadores. La circuitería IrDA es simple. Consiste en un codificador/decodificador para transmitir/recibir y un transductor de infrarrojos (el LED transmisor y el fotodiodo receptor). El codificador/decodificador se conecta a una UART, que es parte de todo ordenador.
Afortunadamente, la mayoría de los transceptores IrDA son compatibles con la modulación de 38-kbps usada en los mandos a distancia de televisión. Eso significa que pueden trabajar con ese tipo de señales infrarrojas. Como usuario final, existen varias opciones para añadir la función IrDA en el ordenador. Si tienes un ordenador portátil, entonces es probable que ya sea parte de la configuración básica. No obstante, parece que hay bastantes configuraciones en este tipo de ordenadores que no funcionan con los infrarrojos típicos de TV. Para ordenadores de sobremesa, existen principalmente dos opciones, dependiendo de la placa base que se tenga. Usualmente las placas Pentium poseen la circuitería de entrada/salida preparada para comunicación por infrarrojos. Existe un conector especial donde se conecta el transductor. La otra opción es comprar un transceptor tipo serie que se conecta al puerto serie estándar (RS-232) del ordenador. Desde el punto de vista del uso como IrDA, abajo se muestran las principales diferencias entre estas dos opciones:
Para puerto serie
Máxima transferencia de datos a 115,2K bps.
Fácil conexión al puerto serie del PC.
Suele funcionar desde el principio.Para placa base
Máxima transferencia de datos hasta 4M bps (dependiendo del modelo).
Conexión más compleja (chequeo de pines, etc.).
Puede no funcionar bien como IrDA por problemas de Bios.
PC Remote Control ha sido probado con éxito usando ambos tipos de dispositivos IrDA:
Los mandos a distancia de TV envían comandos en un solo sentido, con ráfagas a baja velocidad y a distancias de hasta 9 metros. Usan radiación directa por medio de LEDs con un moderado angulo del cono de alcance para mejorar la facilidad de uso. La comunicación sin cables por IrDA transfiere ficheros punto a punto y bidireccionalmente en ráfagas de alta velocidad y a corta distancia usando radiación directa por medio de LEDs con un estrecho angulo del cono de alcance. Las transmisiones IrDA requieren apuntar de forma relativamente cuidadosa, y son fáciles de bloquear. Por esa razón, no se puede esperar una gran distancia de recepción al trabajar con mandos a distancia de TV. El manual del usuario del IR2000L especifica que puede haber comunicación a una distancia de 3 metros. El Irmate especifica solo 1 metro. Se puede obtener más distancia para ambos, pero usando un buen mando a distancia y apuntado bien.
- IRmate IR-210 Adaptador de Infrarrojos para puerto serie. Internamente posee un transceptor TFDS 3000, probablemente fabricado por TEMIC, un LED infrarrojo y un PIC16C54. El conjunto incluye los drivers IrDA para Win95 y un programa llamado Tranxit (para Win3.1) que permite conectar dos ordenadores. La apariencia externa es calcada a la del AV-100.
La velocidad de puerto serie a la cual el dispositivo envía valores reconocibles es 2400 bps. No es seguro que esta velocidad sea la misma para todos los aparatos de este tipo.
Hay algunos comandos que cambian mucho cada vez, haciendo difícil su reconocimiento. Para esos casos, un alto valor de tolerancia en la comparación puede usarse, a riesgo de confundir luego diferentes comandos. Un valor apropiado de tolerancia para la mayoría de los casos es 20.
- Actisys IR2000L conectado a una placa base Asus P2B. Hay que activar en la Bios "UART2 Use Infrared" para especificar que dicha UART trabajará con IrDA en vez de con el puerto COM2. El conector de infrarrojos en la placa base posee 5 líneas (+5V, NC, IRRX, GND, IRTX) mientras que el del IR2000L tiene 8 líneas (IRTX, IRRX1, GND, Vcc, IRRX2, SEL1/ID1, SEL2/ID2, ID3). En el manual del usuario de Actisys se explica cómo conectarlos correctamente. La opción que uso es: +5V a Vcc, IRRX a IRRX1, GND a GND, IRTX a IRTX.
Hay varias velocidades para el puerto serie que funcionan bien, aunque 4800 bps parece ser la mejor. Otros adaptadores del mismo tipo también funcionan bien a esa velocidad. Algunos botones de mando a distancia envían exactamente la misma información, por lo que es imposible distinguir entre ellos.
- Asus IR-eye conectado a la misma placa base que antes. Funciona exactamente igual que el modelo de Actisys.
Fabricantes de adaptadores IrDA
PC Remote Control
Este es el software complementario al hardware explicado arriba. Mediante él puede controlarse el ordenador con el mismo mando a distancia que se usa para otros aparatos electrónicos, como si se estuviera físicamente usando el teclado o el ratón.
Acciones disponibles:
Se requiere solo un corto periodo de aprendizaje, después del cual PC Remote Control compara los datos que provienen del puerto serie con los previamente aprendidos, y si la comparación resulta cierta, se ejecuta la acción especificada para ese comando infrarrojo de forma transparente en la ventana activa.
- Pulsación de tecla. También Alt, Ctrl o Shift a la vez.
- Control del ratón.
- Ejecución de otras aplicaciones.
- Acceso a la función PostMessage de la API de Windows.
Principales características del programa:
- Simulación de la pulsación de teclas como si se estuviera físicamente utilizando el teclado.
- Las acciones son automáticamente repetidas mientras el botón del mando a distancia se deja pulsado (función 'typematic').
- Ilimitado número de acciones asociadas para cada comando y ejecutadas por orden o a la vez.
- Posibilidad de multiplicar las acciones posibles de un comando por medio de acceder directamente a las acciones de un bucle, como lo hace la tecla Shift en un teclado normal, pero sin límite.
- Funcionamiento autómatico al arrancar si se desea.
- Soporte multilenguaje. Se puede cambiar el texto que aparece en pantalla al idioma preferido. Idiomas disponibles (por defecto en Inglés):
Vista preliminar de la ventana principal del programa:
![]()
Descarga de software:
PC Remote Control es shareware. Disponible registro en línea mediante el servicio ShareIt! y Paypal.
- Descargar aquí
(Versión 4.0.0.205; para Windows 95/98/ME/NT4/2000/XP; 738KB fichero ZIP) - SerialWatcher (para Windows 95/98/ME/NT4/2000/XP; 135KB fichero ZIP)
Sencillo programa para visualizar los datos que vienen por el puerto serie. Ideal para comprobar circuitos!