TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: bbebbe9 en 29 de Octubre de 2007, 15:18:57
-
Alguien me podria dar una idea de como reproducir el DING DONG de un timbre con un PIC16F684,
saludos
-
Bienvenido al foro bbebbe9.
Este no es un ding dong, pero talvez pueda servirte para iniciar y probar valores, lo saque alguna vez de un post de aca del foro:
#include<16f648a.h>
#fuses NOWDT,NOPROTECT,PUT,NOLVP,NOMCLR
#use fast_io(a)
#use fast_io(b)
#use delay(internal=4MHZ)
#define frec 200 // prueba cambiado tb el valor de frecuencia
int i,j;
void sound(int vel,int tono) // vel y tono se pueden cambiar y se optienen distintos sonidos
{
for(i=0;i<=vel;i++) // vel = duracion del tono
{
for(j=0; j<=4; j++)
{
output_high(PIN_B0); // La distancia entre pulso y pulso viene determinada
delay_us(frec*(6-tono)); // por el parámetro tono
output_low(PIN_B0);
delay_us(frec*(6-tono));
}
}
}
void main()
{
set_tris_b(0);
output_b(0);
while(true)
{
sound(120,1); // el llamado a la funcion de sonido, con los valores deseados
sound(180,4);
}
}
ojo que este esta en CCS, si quieres en otro lenguaje, talvez alguien mas pueda ayudarnos
-
se em olvidaba el esquema es sencillo, solo necesitas un piexo o un parlantillo talvez:
(http://img143.imageshack.us/img143/589/sondfm0.jpg)
-
si, estas en lo correcto, pero para empezar puede ser de ayuda el codigo que encontre en el foro
-
esto: http://www.todopic.com.ar/foros/index.php?topic=12497.0;topicseen estaba unos posts abajo de este, talves sirva mas
-
A menos que bbebbe9 me corrija, creo que lo que él busca es el sonido "idéntico" al ding-dong de un timbre. El código de Cryn por lo que veo sólo es una generador de frecuencias de onda cuadrada lo que hará que suene totalmente metálico el sonido y artificial. Para simular el ding-dong de un timbre lo más sencillo sería tenerlo digitalizado en la memoria del PIC (o externamente en una memoria). Con ocho bits de resolución bastan, y con una frecuencia de sampleo de 5 KHz se escucha muy convincente. La otra opción sería generar la envolvente (ADSR) con el PIC, pero la verdad para lo que se quiere hacer es demasiado. Lo mejor es digitalizarlo y ya.
opino igual, una opción es grabar (o conseguir) en la PC el sonido del ding-dong y luego convertirlo a formato RIFF a 8 bits con un muestreo de 10Khz ó 5Khz como menciona JCC40 y luego mediante un editor hexadecimal tomar los bytes que conformar el sonido y grabarlo en el pic. Luego en el pic es cuestión de hacer un algoritmo de reproducción.
-
conoces algun conversor a riff?? o se puede convertir facilmente con algun programa de güindous??
-
el propio grabador de sonidos del windows, cargas el archivo de audio -> guardar como -> eliges .wav y en propiedades eliges la configuración: 8bits, 11Khz, etc.
-
Hola PalitroqueZ.
¿Con que programa puedo pasarlo a hexadecimal? Gracias.
Nos vemos.
-
nota: hay que conocer el formato riff para saber a partir de que dirección tomar los bytes, como sabran los archivos se organizan por estructuras y tienen que cumplir con unos encabezados segmentados.
para mas info ver (http://www.lpi.tel.uva.es/~nacho/docencia/ing_ond_1/trabajos_01_02/formatos_audio_digital/html/wavformat.htm)