Le site référence de tutoriels électroniques français

 
O'track
Sujet Auteur
Messages : 1
Inscription : dim. févr. 18, 2018 1:18 pm

Faire défiler un texte sur LCD 16x1

dim. févr. 18, 2018 1:21 pm

Bonjour à tous,
(Je ne sais pas si j'ai publié dans la bonne rubrique)

Etant débutant avec Arduino, je me suis lancé dans l'apprentissage d'utilisation d'écran LCD.

En suivant des tutos j'ai appris à simplement afficher un texte, le faire clignoter.. (pour 16x1 puisque je n'ai que ça pour le moment).

Cependant, j'essaie depuis quelques jours de faire défiler mon texte de gauche à droite et de droite à gauche mais je ne tombe que sur des tutos pour 16x2, j'ai donc simplement copié collé le code qui est sur ce site pour essayer de changer deux trois choses pour que le texte défile correctement mais sans succès, le texte est coupé en deux et défile en décalé.

Donc j'aimerai une explication pour pouvoir faire défiler correctement sur mon 16x1.

Ci joint le code que j'utilise mais qui forcément n'est pas le bon pour faire défiler sur un 16x1 :
#include <LiquidCrystal.h> // on importe la bibliothèque
LiquidCrystal lcd(12,11,5,4,3,2); // on crée l'objet écran

void setup() {
 // set up the LCD's number of columns and rows:
 // A 1x16 Line display is addressed as 2x8
 lcd.begin(8, 2);
 // Print a message to the LCD.
 lcd.print("Bonjour a");
 // Move the cursor to the beginning of the second address block
 // (note: line 1 is the second row, since counting begins with 0):
 lcd.setCursor(0, 1);
 lcd.print("tous !");
}

void loop() {

// scroll 13 positions (string length) to the left
 // to move it offscreen left:
 for (int positionCounter = 0; positionCounter < 13; positionCounter++) {
   // scroll one position left:
   lcd.scrollDisplayLeft();
   // wait a bit:
   delay(150);
 }

 // scroll 29 positions (string length + display length) to the right
 // to move it offscreen right:
 for (int positionCounter = 0; positionCounter < 29; positionCounter++) {
   // scroll one position right:
   lcd.scrollDisplayRight();
   // wait a bit:
   delay(150);
 }

 // scroll 16 positions (display length + string length) to the left
 // to move it back to center:
 for (int positionCounter = 0; positionCounter < 16; positionCounter++) {
   // scroll one position left:
   lcd.scrollDisplayLeft();
   // wait a bit:
   delay(150);
 }

 // delay at the end of the full loop:
 delay(1000);

}
 

En espérant avoir été clair dans mon post,

Merci.

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité
GZIP: Off