[Résolu(bis)] Bug d'affichage avec écran LCD série ...

Bonjour à tous :slight_smile:

Alors voilà, je suis débutant dans l'univers Arduino, mais je progresse tout doucement. :smiley:

J'ai besoin d'afficher un texte personnalisable sur un afficheur LCD connecté en série.
J'ai donc acheté un écran tout fait, il n'y avait plus qu'a effectuer les bon branchements.
Jusque là pas de soucis, mais là ou ça bloque, c'est au niveau de mon "hello world" qui consiste simplement à afficher un texte "constant" à l'écran.

Pour cela dans mon setup j'initialise ce qu'il faut, dans mon loop, j'envoie le texte et je fait une raz de l'écran après un court instant ( histoire que le texte ne défile pas le long de l'écran).

Cela fonctionne à 80% on va dire, mon texte s'affiche mais de temps en temps j'ai des petits bugs qui font que des caractères "fantômes" s'affichent ...

Voilà une vidéo explicative du bug :

Et voilà mon code :

void setup()
{
  Serial.begin(9600);
  Serial.write(19); //Allume le rétroéclairage
  delay(100);
}

void loop()
{
  
  Serial.print("Bizarre ce bug ...");
  
  delay(100);
  Serial.write(12); // Efface l'écran
}

Un peu d'aide ? :blush:

Merci d'avance :slight_smile:

tu utilise quel version d'IDE??

Skizo !

skizoh:
tu utilise quel version d'IDE??

Skizo !

La version 1.0 d'Arduino.

C'est bizarre en effet
Ca à l'air de se produire quand tu effaces l'écran.

Si tu n'efface pas l'écran, que ce passe t'il ?
Ou bien au lieu d'effacer l'écran il doit aussi y avoir une commande pour remettre le curseur en haut sans effaccer (commande HOME) ?

D'où vient l'écran ? doc ? lien ?

barbudor:
C'est bizarre en effet
Ca à l'air de se produire quand tu effaces l'écran.

Si tu n'efface pas l'écran, que ce passe t'il ?
Ou bien au lieu d'effacer l'écran il doit aussi y avoir une commande pour remettre le curseur en haut sans effaccer (commande HOME) ?

D'où vient l'écran ? doc ? lien ?

Oui il y a effectivement un commande pour revenir au départ, mon écran vient de là :

http://www.gotronic.fr/art-afficheur-serie-lcd03-16-17106.htm

Et voici sa doc :

http://www.robot-electronics.co.uk/htm/Lcd03tech.htm

Ok.

Donc si tu utilises Serial.write( 1 ) au lieu de (12), est-ce que les caractères zarbi sont toujours là ?

barbudor:
Ok.

Donc si tu utilises Serial.write( 1 ) au lieu de (12), est-ce que les caractères zarbi sont toujours là ?

Oui, ils sont toujours là ...

Je vois aucune raison a part un afficheur en panne.
Je suggère que tu t'adresses au vendeur.

ou que tu test sur IDE 022 moi j'ai tester un LCD avec la 1.0 et aucun résultat satisfaisant :s je promets rien mais essaye..

Skizo !

skizoh:
ou que tu test sur IDE 022 moi j'ai tester un LCD avec la 1.0 et aucun résultat satisfaisant :s je promets rien mais essaye..

Skizo !

Bah, j'utilise des fonctions qui apparaissent avec la version 1.0 (Newsoft serial) donc bon, moyen envie de repasser sur une ancienne version.

Merci de votre aide, je vais voir avec le vendeur. :slight_smile:

Peut être aussi un problème de contacts
Si la liaison série est parasitée, le LCD voit peut être des signaux erronés lui arriver.

barbudor:
Peut être aussi un problème de contacts
Si la liaison série est parasitée, le LCD voit peut être des signaux erronés lui arriver.

J'ai vérifié et testé avec 2 autres câbles, même soucis.
Tant pis, j'irais voir le vendeur.

Sinon j'ai un autre problème, je n'arrive pas à utiliser la commande set cursor (line, column), on pourrait m'aider dessus ? ^^

As tu essayé quelque chose comme cela :

Serial.write( 3 );
Serial.write( line );    // 0..1 ou bien 1..2 ?
Serial.write( col );     // 0..15 ou bien 1..16 ?

La question étant est-ce que ça commence à 0 ou à 1.

barbudor:
As tu essayé quelque chose comme cela :

Serial.write( 3 );

Serial.write( line );    // 0..1 ou bien 1..2 ?
Serial.write( col );     // 0..15 ou bien 1..16 ?



La question étant est-ce que ça commence à 0 ou à 1.

Je te bénis $)

J'ai toujours le soucis des caractères fantômes, mais au moins je peux afficher mon texte à un endroit précis :slight_smile:

Merci !

Je suppose que çà veut dire que ca marche.
Et la bonne syntaxe c'est à partir de 1 ou à partir de 0?