viernes, 3 de diciembre de 2010

Programando

El código está dividido en ficheros y cada fichero corresponde al manejo de cada uno de los integrados. De este modo la correspondencia queda así:

- sonido.h  -> Librería para el manejo del ecualizador.
- DisplayIC.h DisplayIC.cpp -> Librería para el manejo del display y el teclado
- Radio.h Radio.cpp -> Librería para el manejar el estado general de la radio del coche
- TEA5767.h TEA5767.cpp tealibtest.pde -> Librería para el manejo del módulo de radio. Ya que este módulo es comercial, incluyo también un ejemplo de uso por si alguien estuviera interesado en la librería para algún proyecto.
- TimedFunc.cpp TimedFunc.h timedf.pde -> Librería para programar ejecución de funciones de forma cíclica con intervalo variable, programar funciones que se ejecuten sólo una vez pasado cierto tiempo y un ejemplo para usarla.

- radioMazda.pde -> el programa principal

Evidentemente no voy a explicar el código, pero si no sabéis programar con Arduino es suficiente decir que existen dos funciones principales setup() y loop() (que son llamadas por un main() que no es visible al usuario). La función setup() se ejecuta sólo una vez al comenzar y se encarga generalmente de configurar puertos, periféricos, variables, etc... La función loop() se ejecuta de forma infinita y es donde se programa todo el comportamiento de la placa.

Quedaría como algo así:

main()
{
   setup();
   while (1) loop();

}

El programa básicamente lo que hace es mirar el teclado de la radio y actuar en consecuencia. Además gestiona una interrupción para actualizar el reloj de la radio.

Aprovechando que la radio siempre tiene corriente, el reloj se mantiene en RAM y se actualiza con una interrupción. Cuando la radio está apagada el arduino pasa a modo bajo consumo en el que se apagarán todos los periféricos excepto el timer responsable de generar la interrupción. No es que el consumo de esta placa sea importante en este caso (recordemos que la fuente de alimentación es la batería del coche) pero nunca está de más el no desperdiciar los amperios!

No hay comentarios:

Publicar un comentario