Paso 8: Codificación de los Estados de sueño y despierto
Si usted está sufriendo de falta de sueño debido a las malas noches, llevar conmigo, estamos casi allí y sueño está llegando a su manera! Esto es casi el último obstáculo para tomar. La herramienta más importante para este paso es el café.
Si desea pensador con la lógica o desea agregar botones diferentes y no eres eso fimiliar con Arduino estás confidend a pedido de repuestos, te sugiero que jugar un poco con el diseño de circuitos 123d de Autodesk. He incluido un borrador de este proyecto para partir. Tenga en cuenta que este proyecto no incluye el RTC para cronometraje desde el entorno 123d no lo admite. Una característica interesante es la emulación que ofrece, para que pueda jugar un poco con los botones.
Volver a programación. El concepto general es un loop()
declaración de que la RTC y los pulsadores cada segundo. Si el RTC devuelve un timestamp que corresponde al tiempo de acostarse o por la mañana, cambiamos el estado. Si se pulsa el botón para tomar una siesta, también cambia el estado y obtener la longitud correspondiente del pan desde el potenciómetro.
Enlace todos los sensores y las bibliotecas y definir los parámetros de: Este esquema requiere un buen montón de parámetros de tiempo y los Estados de las luces, botones... Una sugerencia es realizar un seguimiento de los números y la doble comprobación les cuando algo no funciona correctamente.
Inicializar las señales de botones y comunicación: Digitales pins en Arduino que si son entradas o salidas para funcionar correctamente.
Iniciar el bucle continuado: Esta parte parece fácil debido al uso de funciones de ayuda. El primero Lee y establece el estado de luz, la segunda comprueba si se pulsa el botón nap y la tercera da las señales adecuadas a las LED y basado en los dos anteriores Estados de botón y el tiempo.
Las funciones de ayuda: Para la definición de las funciones de ayuda, por favor ver el código completo que se adjunta o el bosquejo en 123studio. Estas ayudando a las funciones consisten en un montón de pruebas de if y algunos básicos ajuste de la señal y completamente documentadas. También se incluyen la versión de RTClib que he usado para el control de tiempo y comunicación con el pequeño RTC.