Paso 5: Entender el programa
Descargar el programa adjuntado y abrir para arriba así que usted puede hacer referencia a ella como discutir cada parte.
El programa cambia casos sobre el botón de ser empujado. Por lo tanto, avanza el caso siguiente cada vez que se pulsa el botón. Cuando en el caso 0, el led bicolor es de color rojo para indicar que está inactivo. Cuando se pulsa el botón y cambia el modo, parpadea en verde y se queda apagado.
Modos de
Luz blanco cálida 1.)
Esto es básicamente una simple luz blanca cálida.
2.) ciclo de día/noche
Esto se debe mi modo favorito de todos ellos y la pasé más tiempo en. Por lo tanto, dedico un poco de tiempo romper su funcionamiento. Pero primero, mira el vídeo para tener una idea de cómo va a funcionar. La versión actual simplemente extiende esto a más de 12 horas de 7:00 a 19:00. El sistema utiliza un módulo de reloj en tiempo real (RTC) para mantener el tiempo incluso cuando el poder está apagado. Esto evita complicaciones con el uso de un ciclo basado en los ritmos circadianos, esto significaría que el usuario debe activar el sistema en un tiempo exacto para que funcione correctamente.
En primer lugar, el problema fundamental que tenía que resolver aquí era garantizar la suave transición entre los colores como que estira uniformemente durante periodos de tiempo cada hora. La parte difícil fue desvaneciéndose cada uno dirigido hacia arriba y hacia abajo entre valores diferentes al mismo tiempo asegurando que los valores PWM se le asigna a los segundos cada hora. Además, era necesario asegurarse de que pueden hacerse fácilmente ajustes a los colores. Después de liarla con temporizadores internos del atmega328 para lograr un PWM mayor resolución y el uso de interrupciones, he decidido contra este enfoque porque me pareció era innecesaria.
Finalmente, me di cuenta de estaba overthinking todo y he conseguido que funcione un enfoque mucho más simple y más eficaz. El programa comprueba la hora constantemente y y calcula la diferencia de brillo entre cada LED. A continuación, actualiza cada led con el valor PWM que debe estar en ese momento en la hora. Es algo difícil para mí explicar como el programa realiza unos pequeños ajustes para mantener la transición lisa. Lo mejor sería verificar el código adjuntado para detalles adicionales. Este enfoque básicamente le permite activar el sistema en cualquier momento sin afectar el ciclo día/noche.
Selección de color
Después de pasar un poco de tiempo viendo timelapses de amaneceres y puestas de sol, me decidí por una paleta de colores que reproduce el proceso exactamente como podía conseguirlo. El ciclo comienza a las 7:00 de la mañana y termina a las 19:00. Transiciones entre color progresivamente durante todo el día. Incluye un total de cinco secuencias, crepúsculo, amanecer, mediodía, atardecer y anochecer. Después de 19:00, el sistema enciende las luces rojas para imitar oscuridad las hormigas mientras que permite observación continua por la noche.
Si está usando esto para un acuario o terrario, puede modificar la fase de 'la noche' a tu gusto. Me imagino azul claro sería bueno pero eso depende de usted.
Iluminación sensible 3.)
Este modo ajustar el nivel de luz basado en iluminación ambiental para que el brillo siempre se mantiene en un cómodo valor y no es demasiado tenue o deslumbrante brillante. Como se pone más oscuro, la iluminación consigue más oscuro también. Cambiar esto a su gusto.
Un LDR es empleado aquí en un divisor de tensión para medir el brillo de la luz ambiente que se utiliza para calcular un brillo apropiado para las tiras de led. Este es el modo que utilizo más a menudo cuando no está en modo de ciclo día/noche.
Desvanecimiento de RGB aleatorio 4.)
Este modo fundidos cruzados entre una selección al azar de colores suavemente. La biblioteca de LEDFader se utiliza aquí para suavizar el proceso de decoloración y se ve muy bonita por cierto. Esto se muestra en el video también.