Étape 8: Non bloquante rafraîchissant retarder de LCD
Arduino lorsque nous entrons dans une boucle ou nulle ou affaire, il peut répéter manytimes, plus que vous pourraient vouloir lui. Retour de personnes souvent utilisé ou retard pour éviter cette condition si nécessaire.
Écran LCD lorsqu’il est connecté au registre à décalage est un peu plus lent (pas besoin de rafraîchir il 75hz par seconde quand même: P)
donc quand nous entrons dans un cas, il pourrait essayer de voir la même valeur plusieurs fois par seconde et cela crée un effet de scintillement. Puisque je ne suis pas suivi en temps réel données j’ai besoin LCD pour actualiser uniquement une fois que quand il montre quelque chose. J’ai donc créé un octet « refreshcount » chaque fois que la minuterie pense que son temps d’affichage de l’ordre du jour, il fait deux chose
+ 1 Numéro de repérage
réinitialiser compteur de rafraîchissement à 1
Maintenant, il entre dans le cas et si la vitesse de rafraîchissement est 1 il permet de lire les consignes de repos en cas énoncé. et immédiatement fait actualise comte à « 0 » alors quand quand la prochaine fois il boucle lcd n’est pas actualisé, ce scintillement stable et non lu. même chose se répète pour chaque cas.
réinitialiser le refreshcount > Afficher sur écran LCD > pas plus actualiser
Voici le code de l’arduino
cas 5: / / CPU Temp
Si (refreshcount == 1)
{
LCD.Clear() ;
lcd.setCursor (0, 0) ;
LCD.Print (F ("ordinateur Temp")) ;
lcd.setCursor (0, 1) ;
LCD.Print (CPU_temp, 1) ;
LCD.Print (F ("C")) ;
refreshcount = 0 ;
}