Paso 2: Sketch de Arduino
Si ha conectado todo según el esquema compartido, subir el boceto adjunto su reloj comenzará y mostrar el tiempo que se establece en el RTC.
Algunas explicaciones a lo croquis
byte mem_r [36], mem_g [36], mem_b [36];
No escribo los valores calculados de color e intensidad directamente en la memoria de LEDs. Almacenar valores calculados del RGB en este tres matrices. La causa de que es la siguiente: no puedo leer esta información de los LEDs por lo que no puedo cambiar su intensidad manteniendo el color original.
Byte [] color_r = {0, 10, 0, 0, 10, 10, 5};
Byte [] color_g = {0, 10, 0, 10, 10, 0, 5};
Byte [] color_b = {0, 10, 10, 0, 0, 0, 5};
Yo uso este tres matrices para definir los colores de mi reloj. Como cambiar mis colores, sólo se necesitan modificar estos valores.
void readIntensity() {...
El bosquejo lee la luminosidad del entorno a través del pin A0. Que tenga que cambiar los límites de medida y los valores de intensidad correspondientes si utiliza diferentes LDR resistor en el divisor de tensión.
void sw_ver (ver byte) {}
Después de reiniciar puede leer la versión del software de los LEDs. Puede ser una función útil si desea identificar la versión corriente.
Ajuste de la hora y la fecha
Si desea establecer la fecha y la hora en el RTC, tienes que quitar los signos de comentario de esta línea.
setDS3231time(00,58,18,4,31,03,16);
Después de que actualiza la hora y la fecha, subir el dibujo a tu Arduino y reiniciar en el momento correcto.
(Luego comentar esta línea y subir la versión comentada para evitar tiempo de reajuste en cada reinicio).