domingo, 1 de julio de 2007

Receptor Autónomo DTMF por Puerto Paralelo

Este circuito, por demás sencillo, permite conectar la salida de audio de un handy o receptor de radio y escuchar la banda a la espera de tonos. Cuando estos tonos aparecen el integrado los recibe, interpreta de cuales se trata y los pone en pantalla.
Funciona en torno a un integrado receptor de DTMF de muy bajo consumo el cual es alimentado directamente desde la computadora por medio de las líneas del bus de datos del puerto paralelo. Cada vez que un tono es decodificado su código BCD correspondiente se coloca en los pines 1, 18, 17 y 16 y la línea 14 sube, quedando en estado alto tanto como dure el tono. Luego, cuando el tono se silencia la línea retorna a cero pero el último número decodificado queda en las líneas de datos.
Así como está el circuito esta pensado para ser conectado a un radio pero también se lo puede conectar, por ejemplo, a un grabador para escuchar una conversación previamente grabada (tomada del teléfono) y saber a que número se ha llamado.
En tanto el soft, que no lo tenemos disponible en este momento, es demasiado simple de lograr. Primero se debe enviar el dato FF al bus de datos haciendo con esto que las patas 2 a 9 del conector reciban 5v y quedando así alimentado el chip. Seguidamente habrá que entrar en un ciclo repetitivo en el cual la consigna será monitorizar el estado del terminal 14 del integrado (pin 11 del puerto paralelo). Si este pin permanece bajo no se hace nada. Si sube a 1 habrá que guardar en una variable o mostrar en pantalla el dato correspondiente al número presente en los terminales 1, 18, 17 y 16 pertenecientes a D0, D1, D2 y D3 respectivamente. Estas señales, cabe aclarar, se rigen por la siguiente tabla:

Tecla Dec Bin
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
0 10 1010
* 11 1011
# 12 1100
A 13 1101
B 14 1110
C 15 1111
D 0 0000
Observando la tabla notará que la distribución de los símbolos difiere un tanto de la estándar BCD por lo que deberá realizar una tabla en el programa que determine la tecla pulsada a partir del dato en la entrada.
Ahora bien, cuando el tono es detectado y luego de ser decodificado y puesto en pantalla o memoria habrá que hacer un nuevo ciclo repetitivo, en este caso que no haga nada mas que esperar a que la pata 11 del puerto quede baja nuevamente. Esto evitará que un mismo tono de gran duración sea interpretado como varias pulsaciones siendo realmente solo una. Muchos pensarán que un simple delay es suficiente, pero en la práctica observarán que no es así. Una vez detectado que se soltó la tecla (pin 11 en bajo) se retornará al ciclo repetitivo principal.
Si desea conectar este sistema directamente a la línea telefónica deberá extraer el audio de la misma eliminando la componente DC. Para ello colocar a cada cable de la misma un capacitor de 100nF. Seguidamente de ellos dos diodos en contraparalelo y desde allí ingresar al circuito integrado.

Si alguien elabora un soft para este sistema y no tiene problema en compartirlo con otros será gustosamente recibido y publicado.