Paso 6: Escribir el código
Escribí el código en etapas incrementales. Comencé con la lectura de tiempo de Real Time Clock (RTC) y mostrar en la ventana de salida serie del Arduino. Recuerde que debe tener el DS1307RTC y carga la biblioteca de tiempo del paso anterior en el entorno de Arduino.
A continuación, he creado tres bytes, uno para cada registro de cambio y cada uno se asigna a una luz LED específica:
Yo entonces activar o desactivar los bits específicos utilizando la función bitSet() de Arduino. Por ejemplo, para activar el último bit de registerByte1, ZWANZIG (veinte), utilizo esto:
He creado un grande si / entonces estructura para establecer el registerBytes correcto para corregir posiciones de encendido/apagado basado en el tiempo de la RTC. Una vez que todos los registerBytes fueron instalados correctamente, luego empujarlos hacia fuera por updateShiftRegisters() llamando al:
Adjunto está mi código. Definitivamente podría ser optimizado pero funciona correctamente sin problemas.