Paso 8: Programar el microcontrolador
Me he cargado el programa en el atmega168 utilizando un avrisp mk II para burlar el gestor de arranque de virutas más usadas con Arduino. Esto es porque quería un arranque instantáneo, y también permite más espacio de programa (aunque no mucho).
Para ello, hay buenos recursos aquí, aquí y aquí para quemar un gestor de arranque. En lugar del cargador de arranque sólo utiliza el archivo .hex encontrado en la carpeta de la aplicación de la carpeta de sketch de arduino (que es el que he adjuntado a este paso y la introducción).
Para cambiar cualquier aspecto del archivo, también he incluido todo el código comentado, simplemente haga clic en 'subir al tablero' (se producirá un error a menos que tengas un arduino conectado) y volver a compilar el .hex archivo cambiará al nuevo código.
Las probabilidades son que el cristal no sea exactamente 20.0 Mhz, por lo que tendrá que ser calibrada para mantener la hora exacta. Para ello, solo tienes que cambiar la variable oneMin en el código, la mía es 60116.
La velocidad de reloj está actualmente compilada para ejecutar en 20 MHz. Para cambiarlo necesita cambiar algunos números en las preferencias de arduino y archivos de definición de tabla, como encontró aquí.