El circuito integrado HT9170 de Holtek, es un completo sistema de detección de tonos DTMF (Dual-Tone Multi-Frequency) y se puede utilizar para muchas aplicaciones interesantes, divertidas y en ocasiones, de espionaje. Por ejemplo, los sistemas de alarma utilizan este tipo de circuitos para decodificar un código ingresado por teclado y procesarlo como notación binaria. Muchos equipos pueden ser activados o quitados de servicio con este tipo de información, transmitida secuencialmente vía radio. Otra aplicación que no deja de ser interesante es la del espionaje. Un decodificador de tonos DTMF conectado a la línea telefónica de una casa, puede ser tu aliado para estar informado de todas las llamadas que se realicen, al instante. ¿Tienes a alguien a quien controlar o aplicaciones para operar a distancia? Nunca imaginarás todo lo que puedes hacer con este circuito hasta que leas el artículo.
Como alternativa al popular 8870 (con cualquier prefijo), el HT9170 de Holtek nos permite, como mencionamos en el sumario, obtener los datos precisos de cada tono DTMF que ingresa como señal de audio en su entrada. Como tú sabes, estos tonos (dobles) son utilizados en una amplia variedad de equipos, no sólo en telefonía, pero si nos remitimos a ella, con una aplicación sencilla como veremos en este artículo, los teléfonos pueden estar controlados y vigilados en todo momento. Una secuencia de tonos DTMF se convierte en números de 4 bits que se pueden almacenar en una pequeña memoria, o la misma EEPROM de un microcontrolador y todos los teléfonos de una casa, o un gran establecimiento, pueden ser controlados, obteniendo los números marcados en el mismo momento en que la comunicación se inicia. El HT9170, posee una salida (DV) que indica cuando un tono recibido se decodifica como un dato válido y se puede utilizar para informar, al circuito específico, que avance en el almacenamiento de los datos recibidos dentro de la memoria.
En la imagen superior vemos los estados lógicos que tendremos a la salida de los pines de datos (D0 – D3), en función de la tecla pulsada, según el dígito y de la polarización que brindemos al pin OE (Output Enable) que se encarga de habilitar estas salidas para su tratamiento en cualquier tipo de circuitos. Como mencionamos antes, la variedad de posibilidades de aplicación es enorme y como verás luego en el video, con un simple teléfono inalámbrico podemos tener, por citar un ejemplo, un completo radiocontrol multicanal. Nuestro propósito en este artículo es demostrarte lo sencillo que puede ser realizar el comando de un motor, de un vehículo, de una máquina herramienta, del sistema electrónico o electro-mecánico que se te pueda ocurrir de forma remota y sin errores. El circuito que utilizamos es muy simple de comprender y emplea el HT9170 como corazón del desarrollo al que le hemos agregado dos circuitos integrados lógicos CMOS. Un 4511 para utilizarlo como visor del número de tecla pulsada y unas compuertas 4011 para lograr un arreglo específico que nos permita mostrar el “cero” en el display LED que utilizamos. Este es el circuito:
La fuente de 5Volts la puedes obtener de cualquier montaje previo que hayas construido o, como en el caso nuestro, quizás tengas y utilices la práctica fuente modular para protoboard que supimos construir hace un tiempo atrás. Luego, las conexiones del 4511 al display de cátodo común no merecen mayores comentarios ya que es un circuito muy simple de implementar, con resistencias de 330 Ohms para regular la corriente que circulará por cada diodo LED que forma el display. Las entradas A, B, C y D del 4511 se conectan a las salidas D0 – D3 del HT9170 y el punto decimal del pequeño display, es energizado por el pin DV del HT9170 que nos indica que una tecla ha sido pulsada. Si bien con este circuito de demostración elemental no tendremos acceso a almacenar los datos leídos, al menos podremos deducir con este punto decimal si una tecla ha sido presionada más de una vez. A cada acción, este LED encenderá brevemente y así sabremos, por ejemplo, si se ingresó un número repetido (4556-0028). Por otro lado, vemos en la tabla de verdad mostrada al principio, que el número cero es devuelto por el HT9170 (el 8870 también lo hace de este modo) como si se tratara de un número 10 (D0 – D3 = L – H – L – H) y los decodificadores de 4 bits a 7 segmentos tradicionales, ofrecen el cero cuando los cuatro bits están en estado bajo. Para el 10 no ofrecen indicación (CMOS 4511) o presentan un caracter que difiere mucho de ser un cero (TTL 7447).
Por este motivo, hemos colocado el arreglo de los dos diodos en los pines D1 y D4 que se colocan en estado alto al ingresar el tono correspondiente al 0 (D0 – D3 = L – H – L – H). Estos diodos, ingresan a un par de puertas NAND CMOS 4011 y de allí obtenemos un estado lógico que aplicamos al pin PWDN del HT9170. Al pasar de un estado bajo a otro alto, este pin reinicia el decodificador y nos ofrece la indicación del “cero” en el display, a la vez que nos devuelve el encendido del punto decimal y nos informa que ha ingresado un tono válido. Esta situación no resultará un problema si decides utilizar un microcontrolador para leer los datos, bastará con un evento condicional ante el ingreso del número 10 y los problemas se resolverán en microsegundos. Aquí, sólo con hardware, debemos apelar a otros recursos como el que vimos en el circuito. Imagínate un sistema para un juego donde el más rápido (y más listo) pulsa primero su botón para un concurso de preguntas y respuestas. O cualquier sencillo selector de opciones entre 10 posibles cajas de cobro en un banco o en un mercado. No dejes de observar la versatilidad de este sencillo sistema. Un decodificador de tonos DTMF quizás no te diga mucho, pero las opciones que vamos presentándote pueden despertar tu interés y disparar las ideas de aplicación que estabas buscando para, por ejemplo, encender o apagar luces de tu casa con un teléfono inalámbrico adaptado al control de luminarias en forma remota.
En el video, intentamos mostrarte (con las limitaciones de la cámara) el funcionamiento del sistema. Si en lugar de utilizar un teléfono, decides emplear otros transmisores que envíen tonos DTMF, encontrarás una nueva alternativa de expansión. Esto es, ¿alguna vez has prestado atención a los tonos DTMF que emiten algunos canales de TV, anunciando que termina el espacio de publicidad? De acuerdo, lo habías oído y nunca habías comprendido su significado; ahora ya lo sabes y puedes intentar decodificar el número o texto, procesarlo dentro de un microcontrolador y habilitar o des-habilitar un MUTE o un controlador dinámico de sonido para no tener que subir y bajar el volumen del TV a cada rato. El sistema lo hará por ti gracias a los tonos DTMF.