Paso 7: Parte 1 - el código de
El código usa siete diferentes mientras bucles para cada menú. Dentro de cada uno de ellos mientras los bucles son si declaraciones y comandos de la pantalla. Los siete menús son:
• Menú principal
• Elija alarma, brillo o monitor de IO
• El tiempo de alarma
• Monitor de IO
• Control de brillo
• Alarma es ¿Apaga?
Menú de matemáticas • alarma (este es el menú cuando la alarma se apaga)
Cuando el se enciende el dispositivo, esta función coloca:
displayCurrentTime();
Esta función obtiene el tiempo de la RTC y la escribe en la pantalla en una configuración de dos líneas. La fecha se muestra centrado en la línea 1 y el tiempo está centrado en la línea dos.
Configuración de la alarma es simple: Utilice los botones arriba-abajo para cambiar el tiempo y los botones izquierda y derecha para cambiar entre horas, minutos y segundos. En el futuro me podría incrementar cada minuto y el segundo valor por cinco para simplicidad y agregar cursores intermitentes a que tiempo se cambia valor.
Cuando se presiona el botón Aceptar, el tiempo se ajusta y se ejecuta esta línea de código:
si (okDebounce == HIGH) {}
alarmSetting = 1;
timePosition = 0;
mathValOne = random (11, 20);
mathValTwo = random (9, 15);
mathValThree = random (20, 150);
inputAnswer = (mathValOne * mathValTwo + mathValThree) - azar (-35, 35);
Delay(20);
MenuPosition = 7;
Delay(100);
clearLCD();
Delay(500);
}
alarmSetting almacena si la alarma está activada o desactivada con una variable booleana: 1 para a y 0 para apagado. Esto se utiliza en otras partes del código para verificar si la alarma está activada o no.
timePosition es simplemente una variable que se utiliza para almacenar el valor de que tiempo se cambia (segundo, minuto u hora). Esto restablece a 0, o segundo. (0 para el segundo, 1 minuto y 2 por hora).
Las siguientes tres líneas de código determina el problema de matemáticas. Selecciona un valor aleatorio entre los valores indicados en base en una semilla de randomSeed(analogRead(2)) en la configuración.
inputAnswer es una variable que almacena las entradas de usuario como respuesta. La línea de código que se muestra simplemente establece la variable a un valor que está cerca de la respuesta real.
Las siguientes cinco líneas de código borra la pantalla y cambia el menú.