Faire défiler un texte sur LCD 16x1

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.

Salut
Dans ton code tu as

lcd.begin(8, 2);

Si tu as réellement un afficheur 16x1 il faut plutôt écrire

 lcd.begin(16, 1);

Oui mais avec un afficheur 16x1 , c'est "coupé" en deux ce qui fait que j'ai

 lcd.begin(8, 2);
 // Le message que j'indique
 lcd.print("Bonjour a");
 // la deuxième partie de l'afficheur ou je note la ligne qui va suivre puis la fin du message
 lcd.setCursor(0, 1);
 lcd.print("tous !");

En gros je dois noter 8 caractères dans une parenthèse puis les 8 autres dans une autre avec la fonction lcd.setCursor(0, 1);

Je n'avais pas vu le commentaire :
// A 1x16 Line display is addressed as 2x8
Ok pourquoi pas.
Tu trouveras certainement ton bonheur ici.

Merci de tes réponses,

mais a vrai dire ça ne m'a pas vraiment aidé car la personne a un problème d'affichage rien qu'en envoyant le message a son LCD.

Tandis que moi le problème est que mon message ne défile que sur la moitié donc j'ai la fonction scroll en plus que je ne sais pas comment adapter a un écran 16X1.

Apparemment la personne positionne le curseur en 0,0 pour les 8 premiers caractères puis en 40,0 pour les suivants.
C'est ce que tu as fait ?
Sinon, je pense qu'un afficheur 16x2 ou 20x4 s'impose.

@+

Oui c'est pourtant ce que j'avais fait,
C'est très embêtant car sur cette vidéo (Electroshop 16x1 LCD - YouTube)
la personne y arrive avec le même afficheur que moi, je ne comprend pas....