Étape 3: Aperçu du programme détaillé
Ici, nous irons sur les quatre nouvelles fonctions qui ont été ajoutées et expliquent à chacun d’eux. Si les autres parties du code vous confondent, vérifier le contrôle la charge Feedback Instructable pour une explication détaillée du reste du code.
Tout d’abord, la fonction read_LCD_buttons(). Cette fonction fait une analogRead() sur la tige du bouton de l’écran LCD et compare la valeur qu’il lit les valeurs de bouton de préréglage. Si la valeur correspond à la valeur programmée (plus ou moins du seuil), puis il retourne quel bouton a été enfoncé. S’il ne parvient pas à correspondre à l’une des valeurs programmées, il retourne aucun bouton ne soit utilisé.
En second lieu, la fonction updateTrip(). Ceci vérifie le haut et bas des boutons et augmente ou diminue la limite de sortie en conséquence. Il a debouncing ainsi, si la valeur de voyage ne peut pas mettre à jour trop vite. Vous pouvez ajuster updateTime pour changer comment rapidement mettre à jour les valeurs de voyage. Vous pouvez maintenir la touche enfoncée pour modifier les valeurs de voyage rapidement. En changeant updateTime, vous pouvez modifier comment rapide (ou lent) les changements de valeur voyage lorsque vous tenez le haut ou vers le bas le bouton vers le bas. Si la valeur de frappe de 0 et que vous continuez à descendre, il va rouler à 999. Si vous atteignez 999 et continuez vers le haut, il va rouler 0.
Troisième est la fonction updateLCD(). Cela écrit des nouvelles valeurs à l’écran LCD, ainsi vous pouvez voir ce qui se passe dans votre programme. Il utilise setCursor() pour déplacer le curseur sur l’écran et mettre les messages au bon endroit. la première valeur de setCursor() est la position de la ligne que le curseur se trouve dans, la deuxième valeur est de savoir si le curseur est dans la rangée supérieure ou inférieure. Étant donné que la limite de sortie peut être entre 0 et 999, le curseur se déplace à différents endroits selon si c’est une valeur de 1, 2 ou 3 chiffres. Il y a des espaces imprimés ("") qui sont utilisés pour effacer la tache où le numéro est imprimé. Si l’endroit ne était pas désactivé, lorsque vous modifiez une valeur à 2 chiffres vers le bas pour une valeur de 1 chiffre, le deuxième chiffre ne sera pas obtenir effacé lorsque le premier chiffre est mis à jour, ce qui signifie que votre écran LCD afficherait nombres bizarres.
Dernière est la fonction printFeedback(). Il est très similaire à la fonction updateLCD(), elle est juste séparée afin que la valeur de l’ampérage actuel est mis à jour en temps réel, plutôt qu’une fois chaque fois que le programme effectue une boucle. Cette fonction est appelée pour mettre à jour l’ampli est de dessiner chaque fois que la fonction getFeedback() est appelée pour lire ce que l’ampli tirer.