Go Down

Topic: Ecran TFT 3.5 rafarichissement écran (Read 232 times) previous topic - next topic

chris4775

Bonjour,
Je viens de terminer le montage d'une station météo avec un écran TFT de 3.5 et la mcufriend_kbv librairie. Tout se passe bien et les variables s'affichent correctement aussi bien en intérieur qu'en extérieur.
J'utilise pour cela un DS1307 pour l'affichage de la date et de l'heure et un Bme 280 pour la météo. En I2C tout ça.
Le problème vient du rafraîchissement de l'écran toutes les x secondes en fonction des "mauvaises méthodes" que j'utilise pour l'empêcher. Delay, millis, rien n'y fait, il y a toujours un moment où l'affichage "saute" .
Évidemment, il faut que les minutes puissent s'afficher correctement c'est à dire que le blocage de l'écran ne doit pas se stopper plus de 60 secondes !!
Il me semble que l'idéal serait de bloquer l'affichage de la date pendant 24 heures !! celui de l'heure pendant une heure et celui des minutes pendant une minute. La date étant le plus gênant c'est surtout sur celle ci que je coince.
Si quelqu'un peut m'aider à trouver une solution ce serait bien car j'ai atteins là les limites de mon incompétence!!
Merci

EGT59

Bonjour,

Pour quelles raisons veux tu bloquer l'affichage pendant 60s ? Sur l'afficheur, les minutes ne changeront sur le TFT que quand ta RTC enverra la nouvelle minute, non ?

Postes ton code stp c'est mieux.

Entre balises bien sûr et n'oublies pas ctrl + t avant de le poster


chris4775

Je pense que je me suis peut être mal expliqué.
Mon problème c'est ce que j'appelle peut être par erreur, le rafraîchissement d'écran.
Toutes les x secondes l'écran met à jour les variables et cela se traduit par une très brève saute d'image, un balayage du haut vers le bas. Si je met un délais () d'une minute pour valider les minutes de l'horloge le balayage a lieu toutes les minutes of course.
Mon idée !!! était que si j'arrivais à figer l'affichage de la date pendant 24 heures il n'y aurait qu'un changement. Mais bon ?
Je ne connais pas bien le fonctionnement de ces écrans et il doit bien y avoir moyen d'éviter ce balayage de façon logicielle. Il existe également un problème avec ces écrans qui est le remplacement d'un caractère par un autre qui se traduit par une superposition des caractères réglées par un "sticker" qui efface la variable à chaque changement !!!
Quelqu'un qui connaît le fonctionnement de ces écrans doit savoir de quoi je parle.
Mon code fait 600 lignes et je sais pas si c'est utile de le poster mais si c'est nécessaire j' essayerai de le placer comme il faut.
merci

infobarquee

mets au moins la fonction d'affichage de l'horloge.
pas besoin d'effacer les chiffres, tu mets simplement a jour les heures, minutes, secondes
vu que tu travaille avec des x et y en coordonnées, il suffit d'afficher par exemple avec x et y pris au hasard
Code: [Select]
myGLCD.printNumF(heure, 3 , 490, 35);
myGLCD.printNumF(minutes, 3 , 490, 45);
myGLCD.printNumF(seondes, 3 , 490, 55);
AUCUNE AIDE PAR MP

chris4775

Merci pour votre aide.
Utilisant la mcufriend_kbv librairie, je ne connais pas "myGLCD" mais c'est "tft.print" mais bon là n'est pas le problème.
J'ai un peu avancé avec un résultat probant à 50%.
Pour la partie Heures ainsi que les variables du Bme280 (température, Pression, Altitude et Humidité) à l'aide de la fonction millis je n'ai plus qu'un clignotement par minute ce qui est normal vous me direz pour l'affichage des minutes et non plus une dizaine comme avant. Mieux.. et facile ...
Pour la date j'ai fait un essai qui a l'air de fonctionner mais dont je ne verrai le résultat qu'à minuit ce soir au changement de date.
En effet, j'ai enregistré la date du jour dans le Setup "date=(now.days); puis je fais un affichage à partir du Setup de la date pour avoir un premier affichage.

Dans le Loop, je vérifie si la date (now.days) est la même que celle du Setup. Si oui, rien ne se passe si non ,je fais la mise à jour de la date et je refais un "date=(now.days) à la fin.

Je pense que c'est un peu folklo mais je maîtrise pas assez la programmation pour faire plus classe. Surtout j'attends ce soir !!

Si vous avez une meilleure et une plus conforme idée je suis preneur.

Merci

Go Up