Hoy en da los telfonos celulares pueden programarse para sonar con cualquier ringtone. Esta tendencia me incentiv a la creacin de un generador de melodas personal, el cual puede ser modificado para conectarse al telfono de casa, a la bocina de auto, el timbre de la peurta o llavero.
RINGTONES PERSONALIZADOS
Este circuito genera melodas personalizadas o ringtones que se pueden aplicar a cualquier funcin, sea el timbre de la casa o la bocina del auto. Para ello se implementan varias tablas en memoria que contienen la partitura y variables necesarias para las notas musicales. Estas tablas se ubican en memoria de programa y utilizan instrucciones RETLW, las cuales devuelven una constante. Las melodas se graban durante la compilacin y no pueden ser alteradas. Para cambiar alguna meloda se debe codificar la partitura y modificar el sector de la tabla correspondiente a la meloda a cambiar. Para este circuito se implementa el PIC16F627 el cual utiliza Reset y Oscilador Interno, de manera de tener disponibles 3 pines extra en el Puerto A para funciones especiales. Los Pines RA<3:0> se encuentran conectados a un Dip-Switch de 4 llaves y a 4 resistencias Pull-UP. Estos pines seleccionan la meloda a tocar. El pin RA6 est conectado a un pulsador, que al ser presionado comienza la reproduccin de la meloda. En el Puerto B se conectan 7 LEDs que generan un efecto visual y se encienden segn la nota musical. El pin RB7, llamado SPK, controla el encendido y apagado del transistor de salida que produce el sonido a travs de un parlante.
Para identificar cada octava, se coloca un nmero al lado de la nota musical. Para calcular las frecuencias de las notas musicales se recurre siempre a la nota central de cuarta octava o A4 (LA4) de 440Hz. La frmula para obtener el resto de las notas es el siguiente:
La variable i representa la distancia de la nota LA. Si est a la derecha el signo es positivo y si est a la izquierda es negativo. Si queremos obtener la frecuencia de la nota DO que est 9 teclas a la izquierda.
A cada nota musical le corresponde un tiempo de ejecucin. Al igual que en las frecuencias, la escala de tiempos duplica al tiempo de ejecucin anterior. Ver tabla 1.
notas consecutivas. El valor de los tiempos y los retardos no puede calcularse con una rutina dentro del PIC y es necesario utilizar una tabla con valores para cada nota para el retraso y para los lazos de repeticin. Estas tablas se denominan TABLA_V (valor de retraso o VALOR) y TABLA_T (tiempo de repeticin o TIME). Ver tabla 2. Existen trece valores que corresponden a un silencio y doce notas musicales de la cuarta octava. La quinta octava aprovecha los mismos valores de la cuarta octava, pero su valor de retardo de divide por dos y su tiempo de repeticin se duplica, aprovechando las propiedades de las notas musicales.
La mayora de las melodas no necesita ms de dos octavas para ser reproducida. En el caso de necesitarse ms notas, puede modificarse el programa eliminando la bandera QUINTA y haciendo una tabla con 32 notas seguidas, la cual abarcara has ta 3 octavas (tener en cuenta que ocupa ms memoria de programa). La otra forma es ms complicada y necesita trasladar todas las notas de la meloda de manera que se ubiquen dentro