Paso 4: El código
Programar el Arduino mini pro se puede hacer en un número de maneras. Utilizar un tablero de adaptador del USB que se conecta el Arduino a mi PC por cable USB. En mi opinión es la forma más sencilla para cargar un sketch en arduino.
Así que primero lo primero; el descargo de responsabilidad. Soy todavía relativamente nuevo en programación y aunque generalmente puedo conseguir cosas para trabajar de la manera que quieras, es a menudo una forma mucho mejor de hacerlo. Dicho esto, si cualquiera puede hacer cualquier mejora al código entonces estaría encantado de oír hablar de ellos. Cada día es un día de escuela :D
El código ofrece al usuario un número de maneras de ajustar la hora. La primera simplemente lleva a la fecha en el momento de compilar el código y la PC y el RTC establece en aquel momento. El RTC debe ser capaz de mantener el tiempo con precisión a partir de este momento hacia adelante hasta que se agote la batería de la moneda. El segundo método es esencialmente el mismo que el primero, sólo las entradas del programador el tiempo deseado manualmente en el código y que se utiliza en lugar de la hora del sistema. El tercer método es para usuarios que no quieren o no pueden acceder al código. Puede establecer el tiempo usando los botones en la parte posterior del reloj. Esto se hace marcando simplemente, cada uno en segundo lugar, si el botón es apretado y luego, si el botón es apretado, ejecución de un método para ajustar el tiempo manualmente. El problema con esto es que tenga presionado el botón durante un segundo entero conseguir el reloj para registrar la prensa; una pulsación corta y liberación no funcionen cada vez. Una vez que se llama al método de tiempo, el usuario puede utilizar los dos botones en la parte trasera del reloj, un botón hará avanzar los minutos y el otro botón guardará los minutos Coloque y cambie al modo de horas para que el primer botón ahora avanza las horas. Pulsando el segundo botón una segunda vez guardar la posición de horas y comenzar el reloj funcionando.
El reloj guarda tiempo por una serie de anidado para bucles. El interior lazo más es responsable de contar a los segundos. Una manera simple de hacer esto es que solo demora de arduino por 1 segundo pero que no va a funcionar para este reloj. Cada segundo y cada 150 segundos (2,5 minutos) hay un corto de animación que toma algún tiempo. Usted podría cuenta para este tiempo y luego simplemente la demora de arduino el resto para hacer el retardo total hasta un segundo, pero de nuevo esto lleva tiempo arrastrarse como el reloj es una fracción de segundo de cada segundo. El funcionamiento de este reloj es comprobando la RTC y simplemente esperar a que ha avanzado por un segundo sin necesidad de utilizar ningún retraso. Una vez más, hay mejores formas de mantener como comprobación de la RTC para toda información de tiempo (horas minutos y segundos) y sólo tiene el pixel neo anillos Mostrar en consecuencia. Si alguien quiere rediseñar el código para que sea más eficiente y preciso entonces estaría feliz de saber de ellos.
En cuanto a la regulación automática en habitaciones oscuras, el sensor lux mide la luz ambiente cada segundo y si cae por debajo de un valor determinado (que puede cambiar) cambiará el brillo global de los LEDs. El brillo del LED está configurado por un número entre 0 y 255, normalmente lo tengo a 30 durante el día y 1 noche. Pero pronto encontré ese conjunto incluso a 1 fue demasiado brillante para mí a dormir (me gusta la oscuridad total para dormir) así ponerlo a 0. Los LEDs se atenúan hasta que aparecen fuera, pero el reloj sigue la cuenta. También hay un LED montado en el Arduino sí mismo que puede ser lo suficientemente brillante como para confundir el sensor, éste fue superado por que se pega un cuadrado pequeño de cinta aislante sobre el LED.
Hay también algunos métodos no utilizados que son para algunos efectos de animación diferentes que ven bien, en caso de que sentía como experimentando con la forma del reloj parece.
Si no se preocupan por el código y solo quiero construir un reloj, todo lo que tienes que hacer es decidir cómo desea establecer el tiempo y subir este código para el arduino y lejos que vaya.