Bug Ecran LCD

Bonjour,

J'ai toujours le même souci avec un écran LCD, des caractères différents s'affichent au bout d'un certain temps.
Le programme marche sans souci, seul l'affichage se bug.

Le programme doit lire une valeur d'hygrométrie instantannée toutes les minutes, il enregistre le min, max et la moyenne sur 12h. Ces valeurs changent toutes les 12h.

Voici la partie du programme dont je suppose à problème:
//lecture du capteur HR
void lecture_capteur_HR()
{
HR_prec=capteur_HR;
Volt_capteur_HR=analogRead(0); //Volt_capteur_HR est un float
Volt_capteur_HR= Volt_capteur_HR*5/1024;
//changement d'echelle V=>%HR
capteur_HR=((Volt_capteur_HR-0.8)*100/3.27)-7; //capteur_HR est un int
moyenne();
lcd.clear();
delay(1);
lcd.setCursor (0,0);
lcd.print("lim: mo: i: co");
lcd.setCursor (0,1);
lcd.print (min_HR);
lcd.print (" ");
lcd.print(max_HR);
lcd.print(" ");
lcd.print(moyenne_HR);
lcd.print(" ");
lcd.print(capteur_HR);
lcd.print(" ");
lcd.print(consigne);
}

Merci d'avance.
Je joins la photo du bug en question.

Bonjour,
Pour que ton code soit plus lisible, il faut utiliser les balise # car dans l'environnement Arduino est difficile d'utiliser, par exemple, les smileys :grin:
Pour ton écran :

  • comment est-il alimenté ?
  • as-tu un condensateur chimique sur l'alimentation du LCD ?
  • utilises-tu le rétro-éclairage ?
    @+

Bonjour,

Merci de la réponse, le rétroéclairage est allimenté.
Le branchement de l'écran LCD est comme sur ce lien: http://www.google.fr/imgres?imgurl=http://www.lagrottedubarbu.com/images/schema_arduinoLCD.jpg&imgrefurl=http://www.lagrottedubarbu.com/tag/arduino/&h=480&w=640&tbnid=hWG5e7Wr8ad5FM:&zoom=1&tbnh=99&tbnw=132&usg=__tCmvzDbnThED-KpwtIXhGRaCbZA=&docid=EXJMA0n0RtlTXM&sa=X&ei=YFC2U4-zGcOxO43zgcAJ&ved=0CCUQ9QEwAQ&dur=5005

Donc il n'y a pas de condensateur chimique branché sur l'écran.

void lecture_capteur_HR()
{
  HR_prec=capteur_HR;
  Volt_capteur_HR=analogRead(0);   //Volt_capteur_HR est un float
  Volt_capteur_HR= Volt_capteur_HR*5/1024;
  //changement d'echelle V=>%HR
  capteur_HR=((Volt_capteur_HR-0.smiley-cool*100/3.27)-7;   //capteur_HR est un int
  moyenne();
  lcd.clear();
  delay(1);
  lcd.setCursor (0,0);
  lcd.print("lim:  mo:  i: co");
  lcd.setCursor (0,1);
  lcd.print (min_HR);
  lcd.print (" ");
  lcd.print(max_HR);
  lcd.print(" ");
  lcd.print(moyenne_HR);
  lcd.print("   ");
  lcd.print(capteur_HR);
  lcd.print(" ");
  lcd.print(consigne);
}

Salut,

C'est assez typique d'une alimentation instable ou bruitée. Un condensateur au plus proche du lcd permet en général d'éliminer le problème

OK très bien,

C'est vrai que lorsque je l'avais mis sur une batterie 7,5V, il avait tenu plus longtemps. Du coup j'utilise un générateur de tension variable mais j'ai eu le même problème. J'essaye de brancher un condensateur en parallèle sur l'alimentation du LCD et je reviens vers vous ensuite.

Merci d'avance. :slight_smile:

Une autre petite question: Est-ce normal que l'écran bug si on le retire et on le rebranche sur la plaquette LAB?

Pour info je met une photo de l'écran en fonctionnement normal:

Bonjour
Un truc qui pourrait aussi améliorer les choses, c'est de refaire les soudures sur ton LCD, elles ne sont pas très propres.
Il y a aussi peut-être un fil qui bouge genre le E du LCD

bonne continuation
a+

Je vais vérifier mais j'ai déjà changer le LCD (avec l'écran ARDUINO vendu dans le kit du débutant), j'ai exactement le même souci, la connectique va être revérifié pour être réellement sûr.

Merci quand même, c'est gentil.

@+

L'instabilité n'est pas forcément lié à l'alim, elle peut provenir d'un autre composant qui injecterait des parasites

Ah d'accord je comprends, pour l'instant,

H+3: toujours pas de bug, je croise les doigts et j'essayerai sur un autre composant (ventilateur ou capteur_HR) s'il y a un souci.
H+7: L'écran fonctionne normalement.

Je suppose que le souci venait de l'alimentation du LCD donc grâce à vos posts j'ai pu résoudre ce problème. Je le laisse tourner tout le we pour être sûr.

Merci à tous, je vous suis reconnaissant.
J'espère ne pas revenir... :stuck_out_tongue:
Bonne continuation.

sebbus:
J'espère ne pas revenir... :stuck_out_tongue:
Bonne continuation.

Pas pour ce sujet en tout cas !

Alors bonjour à tous,
l'écran a fonctionné tout le we. Cependant j'ai voulu changer ma consigne et j'ai remarqué que lorsque le transistor de l'alimentation du ventilo se déclenchait l'écran se mettait à bugger. Donc j'ai placé un condensateur sur le ventilateur (voir le schéma suivant)... A voir pour la suite.

ZUT, ça ne remarche plus du tout (après un jour). Encore le même problème, je ne sais plus trop quoi essayer, une idée??

Bon au final, j'ai réussi à trouver d'où cela venait... J'en ai honte...
Je n'avais péas rejoint la masse du 12V du ventilateur à la masse de l'arduino...
Du coup le courant remontait dans la carte par le transistor.

Merci quand même