Hola a todos, se que existe un tema con esta duda, pero como data de julio del 2004, pienso que esta como un poco antiguo...
Pues bien, estoy tratando de hacer un timbre o bien una alarma con el PIC...
es decir, unos amplificadores y un speaker de PC...
Inicialmente, quiero hacer un "Ding Dong"!... mi programa es así, hasta ahora: (En PIC C CCS)
___________________________________________________________________
void Beep() //procedimiento Ding Dong
{
int i; // contador
output_low(pin_A3); // inicializo la salida del puerto donde esta el speaker a "0"
for (i=0;i<200;i++) // ciclo de generacion de señal periodica de periodo descrito + adelante
{
output_high(pin_A3); //semiciclo en "1" logico
delay_us(500); // mantener el "1" por 500 microsegundos
output_low(pin_A3); //semiciclo en "0" logico
delay_us(500); // mantener el "0" por 500 microsegundos
} //Fin de UN periodo de la señal
delay_ms(300); //esperar unos 0,3 segundos antes de generar el otro tono
for (i=0;i<200;i++) // Otro tono, igual al anterior
{
output_high(pin_A3);
delay_us(530);
output_low(pin_A3);
delay_us(530);
}
delay_ms(200);
}
________________________________________________________________
Cada ciclo FOR es un Tono, donde los valores de retardo (en microsegundos) se corresponde con
Retardo= Periodo/2
donde Periodo=1/Frecuencia
es decir, cada uno genera un tono de Frecuencia como la elegida... por ejemplo
Retardo es 500 --> Frecuencia es 1/(500*1E-6 )*2= 1000 Hz produzco un tono de 1000 Hz, durante
1000*10^(-6)*200veces=0,2 seg
Sé que en la calculadora HP48G, por ejemplo, se le proporciona la frecuencia y la duración del tono al comando BEEP y se genera el tono... y de esa manera algunos programadores han generado tonos monofonicos...
Pues mi pregunta es, por este metodo y quizas pasando un arreglo de frecuencias al procedimiento BEEP, sabe alguien donde saber como generar un sonido lo mas cercano posible al DING DONG de un timbre de puerta?
Y luego de esto, colocar una balada, como la de los mas antiguos telefonos celulares?
encontre una pagina donde alguien sabia (no se como), que teoricamente "El Himno a la Alegria" de Beethoven era:
326 326 347 391 391 347 326 588 522 522 588 326 347 588 588
donde cada una es una frecuencia en Hertz (hercios) y cada una debe ser emitida durantte 0,3 segundos. lo coloque en el pic y fue bien hasta que llego a la frecuencia 588... alli emitio un tono totalmente fuera de armonia, lo retomo en 326 y lo perdio en el ultimo
Esa persona incluyo una informacion que puede interezar a los que saben de teoria musical
Notes and frequencies:
Notes Frequency (Hz):
MI 326
FA 347
SOL 391
LA 435
SI 489
DO 522
RE 588
MI 652
Existe algun metodo mejor?
se que existe un chip (en forma de transistor TO92) que se le conecta un condensador, una resistencia, el speaker y se le manda un pulso pequeño, él se encarga de generar una tonada completa o el Ding dong.... pero aqui en Venezuela no lo encuentro... o sea que tengo que resolver el problema por software...
Por cierto, si son tan afortunados en sus paises de conseguirlo, les digo que el componente se llama UM66... y diviertanse
Gracias