header image 2 header image 2  
 
 
 
 
Estrategia de solución

 

Con la intención de poder manejar luces al ritmo de la musica, nuestro primer paso fue desarrollar un hardware capaz de simular las luces que se quieren controlar a través del puerto paralelo, aunque sencillo, ilustra muy bien lo que se quiere lograr, y con un poco desarrollo de hardware extra se puede lograr controlar luces más potentes y de mayor intensidad. Entonces el primer paso fue construir las luces que controlaríamos, logrando el siguiente esquemático:

 
 
 
 
   

 

Lo siguiente fue lograr controlar nuestras luces desde el computador , para lo cual desarrollamos un programa en C (pp.c) que manejara el puerto paralelo, un programa sencillo a través de la salida estándar le pregunte al usuario cual luz desea encender, y éste le responda con un numero en octal que represente a los tres leds, por ejemplo para encender el led 1 y 3 basta responderle con un 5 al programa.

Una vez realizado el control de las luces comenzó el desarrollo en java de la aplicación, resultando un software con el siguiente esquema:

 

Donde la Tarjeta de audio, es como su nombre lo dice el hardware encargado de reproducir audio en el computador y pp es el programa escrito en C que maneja el puerto paralelo. El resto (en azul) son las distintas clases creadas que se detallan a continuación:


Reproductor: es el main de la aplicación, es quien instancia a las demás clases e inserta los componentes creados por ellas en su panel.


Player: clase que posee los controles de reproducción y entrega los datos del flujo de audio al gráfico, analizador y la tarjeta de sonido.

Graficador: clase que genera un gráfico y a medida que se le entregan datos se actualiza.

Analizador: esta clase posee 3 controles para manejar los niveles (en db) de sensibilidad de las luces, si el nivel de audio en alguno de los 3 rangos (bajos, medios y altos) le pide a paralelo que prenda la luz correcta, o que la apague en caso contrario.

Paralelo: Acá es donde la comunicación con las luces sucede, pero no de manera directa, sino a través del programa auxiliar pp que es en definitiva quien maneja el puerto paralelo.