Autor Tema: Sonidos con PIC  (Leído 9389 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Dancrazy

  • PIC16
  • ***
  • Mensajes: 134
Sonidos con PIC
« en: 22 de Noviembre de 2006, 17:15:14 »


  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
Daniel 
Caracas, Venezuela 

-----------------

Desconectado vszener

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2395
Re: Sonidos con PIC
« Respuesta #1 en: 24 de Noviembre de 2006, 12:19:21 »
En el compilador de la casa CCS, trae incorporada una librería llamada tones.h, donde defines la frecuencia y la duracion de la nota.


Suerte!!! ;)
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Sonidos con PIC
« Respuesta #2 en: 24 de Noviembre de 2006, 15:53:16 »
Te comento que yo también conseguí una canción de Beethoven (para elisa) para la HP48 y estaba hecha a base tonos y duración, prueba esa librería que menciona vszener pero tendrás que probar si la velocidad de ejecución no afecta la melodía.

Salu2
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado Dancrazy

  • PIC16
  • ***
  • Mensajes: 134
Re: Sonidos con PIC
« Respuesta #3 en: 24 de Noviembre de 2006, 16:13:06 »


 Hola amigos VSZENER y PALITROQUEZ...    les agradezco grandemente la sugerencia,  estaba tratando de implementar una cancion a pie, pero era muy tedioso y fallaba. pero con esa libreria que me recomendaron, la cancion de beethoven funciona bien... solo que creo que tiene un pequeño error, pues la ultimas tres notas suenan discordantes (o yo metí la pata)...

saben de alguna lista de canciones así? busque pensando que serviria el Composer para tonos de los viejos telefonos móviles de Nokia o Siemens, pero ellos tienen una simbologia semejante, pero rara

pero aun, asi, me estoy divirtiendo un monton!!!

les invito a que lo prueben, pueden hacer alarmas, timbres, tarjetas musicales y muchas aplicaciones!!!

y ya me acorde, yo lo hacia con Mi HP48 en la universidad, pero tengo tanto sentido musical como una lechuga

muchas gracias!!!
Daniel 
Caracas, Venezuela 

-----------------

Desconectado vszener

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2395
Re: Sonidos con PIC
« Respuesta #4 en: 25 de Noviembre de 2006, 09:05:22 »
Decir, que en la libreria tones.h de la casa CCS, las notas están en nomenclatura anglosajona



Suerte!!! ;)
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte


 

anything