Paso 20: Reloj Final código
Como antes, el código se adjunta como un archivo .txt - carga en WordPad y copiar/pegar en el IDE o cambie el nombre de .pde para cargar directamente.
Hay un montón de funciones en el código pero el RTC, codificador y funciones de visualización son las mismas que hemos visto en el código de prueba de los módulos anteriores.
El bosquejo fue escrito unos 20 minutos en un momento en mi viaje diario de trabajo y por lo tanto no es probablemente la pieza más sistemática de codificación te verá. Sin embargo, proporcionan funciones para:
Lectura/escritura 1307 RTC
Escritura a la pantalla de 4 dígitos e indicador "armado"
Desplazarse a través de la pantalla de 4 dígitos
Lectura de encoder bajo interrupción
Interruptor del codificador de lectura y 2 interruptores momentáneos
Configuración RTC de exhibición/codificador
Pantalla de fecha y día
Armar/desarmar alarmas
Guardar estado armado a RTC RAM con respaldo de batería
Mostrar alarmas actuales
Configuración de hasta 7 diferentes alarmas cada con hora, día y zumbador encendido
Guardar alarmas en EEPROM
Establecer tiempo de rampa (tiempo de minutos a máximo brillo), mantener (el tiempo de brillo máximo) y el zumbador retardo (tiempo entre alcanzar el brillo máximo y a partir de zumbador)
Luz nocturna modo (codificador de vuelta)
Modo de luz de seguridad (luz completo aleatorio entre 18:00 y 1:00 con promedio de 45 minutos entre ciclos)
Alarma de zumbador con aumento de señal
Repetición de alarma por zumbador (7 minutos o hasta que el extremo de la lámpara "tiempo de espera").
He tenido este código que se ejecuta hace algunos meses y funciona bien para una luz de la Aurora de la mañana. Sin embargo, puede haber situaciones que no he encontrado aún, así que no puedo ser cierto que tiene libre de errores. Sin embargo, es completamente abierto y hackeable, así que si encuentra un error, no dude en comentar con la naturaleza del error y preferentemente la solución! Si no puede solucionarlo, hago lo que puedo.