Haz una pregunta
  Foros de Electrónica » Diseño digital » Interfaces y Programación
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

15/03/2010 #1

Avatar de sebitronic

Generar tonos dtmf en visual basic 2005
Hola. Estoy armando un proyecto para la escuela y tenia pensado armar un cochecito a control remoto controlado desde la PC. Tenia pensado para la interfaz usar tonos DTMF, un soft en VB los generaria a traves de la salida de sonido a la cual estaria conectado un transmisor de FM, en el cocchicito estaria un MP3 con radio para la recepcion de los tonos DTMF, a la salida de sonido del MP3 iria un 8870 para detectar el tono y entregar una salida binaria que el PIC detectaria y actuaria en consecuencia.

Mi problema surge en la forma de generar los tonos DTMF, solo se programar en VB y se me ocurrieron dos ideas. La primera, reproducir archivos de audio con los tonos, eso lo se hacer. La segunda era la de generar los tonos con el programa, pero no se si podra hacer en VB y tampoco puedo conseguir los archivos de audio con los tonos DTMF.

desde ya muchas gracias.
16/03/2010 #2

Avatar de tecnogirl

Respuesta: Generar tonos dtmf en visual basic 2005
Ideas:

- Si tu PC graba sonidos, ponle un microfono y usa un telefono DTMF y graba el sonido de cada tecla... cada uno en un archivo separado.

- Encontre un applet de Java que lo hace por software: http://www.dsptutor.freeuk.com/dtmf/ToneGenerator.html

Saludos.
16/03/2010 #3

Avatar de sebitronic

Respuesta: Generar tonos dtmf en visual basic 2005
Gracias tecnogirl, tu prupuesta me dio una idea, conecto la salida de audio de la pc a la entrada de microfono y con esta aplicación genero los tonos.
16/03/2010 #4

Avatar de pepechip

Respuesta: Generar tonos dtmf en visual basic 2005
solo tienes que utilizar un programa de libre distribucion para la grabacion y modificacion de audio, el cual ya dispone en sus archivos los tonos dtmf.
busca en google el audacity
16/03/2010 #5

Avatar de asherar

Respuesta: Generar tonos dtmf en visual basic 2005
Otra forma podría ser usar un chip generador de DTMF (UM95089 o similares), el "complemento" del 8870. Ambos usan un cristal de 3579545 Hz.
En el 95089 la frecuencia se selecciona mandando a tierra 2 de 8 líneas (una "f" y una "c").
En lugar de conmutarlas desde un teclado de 4x4 o 3x4, como se usa normalmente, se podrían manejar desde el puerto paralelo de la pc.
18/03/2010 #6

Avatar de tecnogirl

Respuesta: Generar tonos dtmf en visual basic 2005
Alejandro Sherar escribio: "... En el 95089 la frecuencia se selecciona mandando a tierra 2 de 8 l¡neas (una "f" y una "c")..."

Hola Alejandro... Si pudieras explicar mas lo anterior ? cúales lineas serian ?.
Saludos
18/03/2010 #7

Avatar de asherar

Respuesta: Generar tonos dtmf en visual basic 2005
Debería haber puesto "el par de frecuencias" teniendo en cuenta que son dos.

El integrado está pensado para manejarse desde un teclado de hasta 16 teclas: 4 filas x 4 columnas.
Por eso hay 4 patillas 3, 4, 5,y 9 (/C1, /C2, /C3, /C4) con las que se selecciona la frecuencia asociada a la columna de la tecla oprimida. Lo mismo pasa con las patillas 14, 13, 12, 11 que seleccionan la frecuencia asociada a la fila (/R1, /R2, /R3, /R4, respectivamente, R por ROW=FILA).
Por lo tanto, los bits 2 a 9 del puerto paralelo se pueden conectar a las /Cn, /Fn (n=1,...,4) para mandar a tierra 1 fila y 1 columna. Con esto se seleccionan las dos frecuencias que forman el par DTMF.

Un cuidado importante es asegurar el estado alto en las patillas de entrada (pull-up interno de 10k - 20k).
Recuerden que el puerto paralelo en alto da solo 3 V "y pico" y una corriente de la que no conviene abusar.
Por suerte el integrado acepta Vcc desde 2.5 V.
Un par de pilas de 1.5V, unas resistencias serie de valor bajo en el puerto, y listo.

Una miradita a la hoja de datos no viene mal.

Saludos
19/03/2010 #8

Avatar de tecnogirl

Respuesta: Generar tonos dtmf en visual basic 2005
Gracias... y saludos
19/03/2010 #9

Avatar de sebitronic

Respuesta: Generar tonos dtmf en visual basic 2005
Muchisimas gracias, en especial a Alejandro, no conocia la existencia de ese integrado. hoy voy a ir a comprarlo y a empezar a probarlo,(tartenme de vicioso de la electronica por eso, hoy es My Birthday :P)
19/03/2010 #10

Avatar de asherar

Respuesta: Generar tonos dtmf en visual basic 2005
sebitronic dijo: Ver Mensaje
Muchisimas gracias, en especial a Alejandro, no conocia la existencia de ese integrado. hoy voy a ir a comprarlo y a empezar a probarlo,(tartenme de vicioso de la electronica por eso, hoy es My Birthday :P)
Bueno, bueno, bueno!!!

Que los cumplas muy feliz!

Como regalo de cumple, cuando llegue a casa te subo el código de VB6 que genera los códigos para entrarle al UM95089, y una fotito de mi probador elemental !!!
19/03/2010 #11

Avatar de sebitronic

Respuesta: Generar tonos dtmf en visual basic 2005
Gracias Alejandro muchas gracias
19/03/2010 #12

Avatar de asherar

Respuesta: Generar tonos dtmf en visual basic 2005
Lo prometido es deuda.
De todos modos tomalo sólo como un "bonus track", porque verás que este pequeño
procedimiento no es nada del otro mundo.

La disposición de pines es tal que:

Código:
Chip   - DB25 
 3       -    2
 4       -    3 
 5       -    4 
 9       -    5 
15      -    6  
14      -    7 
13      -    8 
12      -    9
Lo que sigue es la rutina de teclado. También adjunto el frm completo.
Al final van algunas rutinas que usa adentro.

Código:
Public Sub Command1_Click(Index As Integer)
Dim Puerto As Integer
Dim Comando As Integer

Puerto = 888

Comando = 0
out Puerto, 0

Select Case Index
    Case 0:
        Bit_put 0, Comando
        Bit_put 4, Comando
    Case 1:
        Bit_put 0, Comando
        Bit_put 5, Comando
    Case 2:
        Bit_put 0, Comando
        Bit_put 6, Comando
    Case 3:
        Bit_put 0, Comando
        Bit_put 7, Comando
    
    Case 4:
        Bit_put 1, Comando
        Bit_put 4, Comando
    Case 5:
        Bit_put 1, Comando
        Bit_put 5, Comando
    Case 6:
        Bit_put 1, Comando
        Bit_put 6, Comando
    Case 7:
        Bit_put 1, Comando
        Bit_put 7, Comando
    
    Case 8:
        Bit_put 2, Comando
        Bit_put 4, Comando
    Case 9:
        Bit_put 2, Comando
        Bit_put 5, Comando
    Case 10:
        Bit_put 2, Comando
        Bit_put 6, Comando
    Case 11:
        Bit_put 2, Comando
        Bit_put 7, Comando
    
    Case 12:
        Bit_put 3, Comando
        Bit_put 4, Comando
    Case 13:
        Bit_put 3, Comando
        Bit_put 5, Comando
    Case 14:
        Bit_put 3, Comando
        Bit_put 6, Comando
    Case 15:
        Bit_put 3, Comando
        Bit_put 7, Comando
    
End Select

out Puerto, 255 - Comando
Delay_ms 500
out Puerto, 255

End Sub
 
'----------------------------------------------------
Public Sub Bit_put(ByVal bit As Integer, ByRef reg As Integer)
reg = reg Xor (2 ^ bit)
End Sub

'----------------------------------------------------
' Retraso aproximado a 1 mili segundo
Public Sub Delay_ms(ByVal tiempo As Long)
Dim t As Long, x As Long

For t = 0 To tiempo
For x = 0 To 1000
    DoEvents
Next x
Next t

End Sub

'----------------------------------------------------
' En algún archivo *.bas debe ir esto, para declarar las rutinas de la dll 
' inpout32.dll, que debe estar en la misma carpeta del exe
' Por si no las tenés también las adjunto.
'
Public Declare Function inp Lib "inpout32.dll" _
Alias "Inp32" (ByVal PortAddress As Integer) As Integer

Public Declare Sub out Lib "inpout32.dll" _
Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)
El transistor que se ve en la foto es un tip 31 (medio sobredimensionado) para la salida al parlantito.
Imágenes Adjuntas
Tipo de Archivo: jpg 100_1591_20pc.JPG (60,4 KB (Kilobytes), 99 visitas)
Tipo de Archivo: jpg 100_1589_20pc.JPG (50,0 KB (Kilobytes), 78 visitas)
Archivos Adjuntos
Tipo de Archivo: zip INPOUT32.zip (24,1 KB (Kilobytes), 136 visitas)
Tipo de Archivo: zip DTMF.zip (962 Bytes, 138 visitas)
20/03/2010 #13

Avatar de COSMICO

Respuesta: Generar tonos dtmf en visual basic 2005
Alejandro Sherar.
muy bueno esto del dtmf.Me dare tiempo para probarlo.
28/08/2011 #14
Moderador

Avatar de D@rkbytes

sebitronic dijo: Ver Mensaje
Hola. Estoy armando un proyecto para la escuela y tenia pensado armar un cochecito a control remoto controlado desde la PC. Tenia pensado para la interfaz usar tonos DTMF, un soft en VB los generaria a traves de la salida de sonido a la cual estaria conectado un transmisor de FM, en el cocchicito estaria un MP3 con radio para la recepcion de los tonos DTMF, a la salida de sonido del MP3 iria un 8870 para detectar el tono y entregar una salida binaria que el PIC detectaria y actuaria en consecuencia.

Mi problema surge en la forma de generar los tonos DTMF, solo se programar en VB y se me ocurrieron dos ideas. La primera, reproducir archivos de audio con los tonos, eso lo se hacer. La segunda era la de generar los tonos con el programa, pero no se si podra hacer en VB y tampoco puedo conseguir los archivos de audio con los tonos DTMF.

desde ya muchas gracias.
Saludos, viendo este comentario, pues en mi pagina encontraran este tipo de aplicación mas un proyecto de ejemplo con PIC16F628A
www.galeon.com/exodusklient/
28/11/2011 #15


asherar dijo: Ver Mensaje
Debería haber puesto "el par de frecuencias" teniendo en cuenta que son dos.

El integrado está pensado para manejarse desde un teclado de hasta 16 teclas: 4 filas x 4 columnas.
Por eso hay 4 patillas 3, 4, 5,y 9 (/C1, /C2, /C3, /C4) con las que se selecciona la frecuencia asociada a la columna de la tecla oprimida. Lo mismo pasa con las patillas 14, 13, 12, 11 que seleccionan la frecuencia asociada a la fila (/R1, /R2, /R3, /R4, respectivamente, R por ROW=FILA).
Por lo tanto, los bits 2 a 9 del puerto paralelo se pueden conectar a las /Cn, /Fn (n=1,...,4) para mandar a tierra 1 fila y 1 columna. Con esto se seleccionan las dos frecuencias que forman el par DTMF.

Un cuidado importante es asegurar el estado alto en las patillas de entrada (pull-up interno de 10k - 20k).
Recuerden que el puerto paralelo en alto da solo 3 V "y pico" y una corriente de la que no conviene abusar.
Por suerte el integrado acepta Vcc desde 2.5 V.
Un par de pilas de 1.5V, unas resistencias serie de valor bajo en el puerto, y listo.

Una miradita a la hoja de datos no viene mal.

Saludos
Hola

Podrias explicarme como conectar un teclado 4x4 al integrado 90589, la verdad es que no entiendo el diagrama del datsheet.
gracias
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Interfaces y Programación

Lenguajes de programación, gestión y manejo de puertos

Cerrar
Foros de Electrónica » Diseño digital » Interfaces y Programación

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.