Étape 7: Partie 1 - le Code
Le code utilise sept différents tout en boucles pour chaque menu. Au sein de chacune d'entre elles tout en boucles sont si les déclarations et les commandes de l’écran. Les sept menus sont :
Menu principal •
• Sélectionnez alarme, luminosité ou moniteur IO
• Temps de réglage de l’alarme
• Moniteur de IO
• Réglage de la luminosité
• L’alarme est activée ; Désactiver?
• Menu de math alarme (c’est le menu lorsque l’alarme se déclenche)
Lors de la mise sous tension de l’appareil, cette fonction effectue une boucle :
displayCurrentTime() ;
Cette fonction obtient l’heure du CCF et l’écrit à l’écran dans une configuration à deux lignes. La date s’affiche centrée sur la ligne 1 et le temps est centré sur la ligne 2.
Réglage de l’alarme est simple : utiliser les touches haut-bas pour changer le temps et les boutons de gauche à droite pour passer de l’heure, minute et seconde. À l’avenir je pourrais incrémenter chaque minute et la seconde valeur par cinq pour plus de simplicité et ajouter des curseurs clignotants à laquelle la valeur est changée.
Lorsque vous appuyez sur le bouton OK, l’heure est réglée, et cette ligne de code s’exécute :
si (okDebounce == HIGH) {}
alarmSetting = 1 ;
timePosition = 0 ;
mathValOne = random (11, 20) ;
mathValTwo = random (9, 15) ;
mathValThree = random (20, 150) ;
inputAnswer = (mathValOne * mathValTwo + mathValThree) - aléatoire (-35, 35) ;
Delay(20) ;
MenuPosition = 7 ;
Delay(100) ;
clearLCD() ;
Delay(500) ;
}
alarmSetting stocke si l’alarme est activée ou désactivée avec une variable booléenne: 1 pour sur et 0 pour désactiver. Ceci est utilisé dans d’autres parties du code pour vérifier si l’alarme est activée ou non.
timePosition est tout simplement une variable utilisée pour stocker la valeur temps est changée (seconde, minute ou heure). Cela il réinitialise à 0 ou seconde. (0 seconde, 1 minute et 2 heure).
Les trois lignes de code détermine le problème de math. Il prend une valeur aléatoire entre les valeurs indiquées basé sur une graine de randomSeed(analogRead(2)) dans le programme d’installation.
inputAnswer est une variable qui stocke ce que les entrées de l’utilisateur comme réponse. La ligne de code illustré définit simplement la variable à une valeur qui se trouve à proximité de la réponse.
Les cinq lignes de code efface l’écran LCD et modifie le menu.