Abstract:
|
Este proyecto se centra en la experimentación de sonidos en la placa de desarrollo
Open18F4520 del microcontrolador PIC18F4520, con la intención de reproducir melodías
mediante la programación de este, presentándose como objetivo final facilitar herramientas
para el usuario interesado en crear su propia composición. Este objetivo se ha cumplido
mediante la creación de librerías sencillas y rápidas de utilizar.
A través de la programación en lenguaje C utilizando un PWM hardware (Pulse Width
Modulation, es decir, modulación por ancho de pulso), o un PWM software con el uso de
interrupciones de un Timer, se ha llegado a la creación de librerías de sonido rápidas de
utilizar, sin necesidad de conocimientos musicales específicos del usuario más allá de las
notas de la canción que desee reproducir y las octavas de dichas notas. Precisamente el uso
de una u otra librería dependerá de dichas octavas ya que, por un lado, las notas de las
octavas más bajas se generan con las librerías de software. Sin embargo, el resto de
octavas se pueden configurar mediante el PWM hardware, prefiriéndose el uso de estas
librerías de hardware al proporcionar una calidad de sonido más ajustada a la deseada.
Se ha creado también una librería definitiva general que engloba tanto las octavas bajas
como las altas, indistintamente de la forma en que se generan, con la intención de facilitar la
tarea al usuario y permitir la reproducción de melodías que contengan notas tanto de las
octavas más bajas como de las altas.
Cabe mencionar la optimización de las librerías que se han ideado para este proyecto, al
reducir el uso de ROM y RAM respecto las creadas en un principio: en las primeras se
realizan los cálculos pertinentes con el uso del PIC18F4520, mientras que en las
optimizadas se implementa directamente el resultado de estos cálculos en el código
(realizados de forma auxiliar con el uso de hojas de cálculo). Se ha verificado la mejora de
optimización conseguida al implementar directamente los resultados de los cálculos en el
código.
Por último, se ha incluido un ejemplo de uso de cada una de las cinco librerías
proporcionadas, sin necesidad de hacer grandes modificaciones para adaptar el ejemplo a la
melodía deseada por el usuario, cumpliendo así el papel de guía para éste. |