[Resolu] Programmation de base ...

Salut

Ce n'est pas un bug de la lib, ou alors un bug de nommage.
Tout le problème tient dans la définition de ce que fait la fonction "lcd.scrollDisplayLeft()", ou plutot la commande correspondante qui est envoyé au LCD.

En fait quand on lit le nom de cette fonction on s'attend à ce qu'elle prenne tous les caractères qui sont dans l'affichage et les décales vers la gauche. En fait ce n'est pas le cas.

Tous les écrans de ce genre sont basés sur le même composant de gestion HD44780 qu'ils soient 2x16, 2x20, jusqu'à 2x40
A l'intérieur du composant il y a une mémoire organisé en 2x40 caractères
Quand l'écran est plus petit que 2x40, ce qui est affiché est une fenêtre sur cette mémoire.
Or cette fenêtre est glissante.

La commande "lcd.scrollDisplayLeft()" ne va pas déplacer les caractères dans la mémoire vers la gauche mais elle va déplacer la fenêtre d'affichage vers la droite.

A l'initialisation, la fenêtre affiche les colonnes 0 à 15.
Ensuite quand tu place ton curseur en 0,16 et que tu écris "Arduino Rocks ?", tu écris dans les colonnes 16 à 32 en mémoire.
La commande lcd.scrollDisplayLeft() va ensuite décaler la fenêtre de visu vers les colonnes 16 à 32 et non pas déplacer les caractères vers 0 à 15.

Donc pour que la phrase "En cours" soit visible en dessous de "Arduino Rocks ?", il faut l'écrire 16 caractères plus loin en (1,16)

Donc ton code marchait bien.
Individuellement les fonctions marchaient toutes seules mais dès qu'on les met ensemble elles donnaient l'impression de ne plus marcher car on ne voyait pas "En cours" s'afficher puisque en dehors de la fenêtre de visu courante.

A+