#include <LiquidCrystal_I2C.h>
// lcd(adresse hexa, nombre de colonne, nombre de ligne)
LiquidCrystal_I2C lcd1(0x25, 20, 4);
LiquidCrystal_I2C lcd2(0x26, 20, 4);
LiquidCrystal_I2C lcd3(0x27, 16, 2);
//fonction lcdPrintCenter(1er paramètre, 2e paramètre, 3e paramètre).
//fonction lcdPrintCenter(texte à afficher, choix de l'écran lcd, No de la ligne).
void lcdPrintCenter(String texte, int lcd, int ligne) {
//int wide = 20; // Défini le nombre de colonne par ligne.
int len = texte.length(); // Défini la longeur de la variable "texte"
switch (lcd) { // Commute vers l'afficheur correspondant à la variable "lcd"
case 1: // Sélectionne lcd1.
lcd1.setCursor((20 - len) / 2, ligne); // positionne le curseur au centre de la ligne choisie et soustrait la longeur du text à afficher
lcd1.print(texte); // Affiche le texte demandé sur lcd1.
break; // Quitte la case 1
case 2: // Sélectionne lcd2.
lcd2.setCursor((20 - len) / 2, ligne); // positionne le curseur au centre de la ligne choisie et soustrait la longeur du text à afficher
lcd2.print(texte); // Affiche le texte demandé sur lcd2.
break; // Quitte la case 2
case 3: // Sélectionne lcd3.
lcd3.setCursor((16 - len) / 2, ligne); // positionne le curseur au centre de la ligne choisie et soustrait la longeur du text à afficher
lcd3.print(texte); // Affiche le texte demandé sur lcd3.
break; // Quitte la case 3
} // Quitte la fonction switch.
} // Quitte la fonction lcdPrintCenter(texte à afficher, choix de l'écran lcd, No de la ligne).
void setup()
{
lcd1.init(); lcd1.backlight();
lcd2.init(); lcd2.backlight();
lcd3.init(); lcd3.backlight();
delay(1000);
lcdPrintCenter("lcd 1", 1, 0);
delay(1000);
lcdPrintCenter("lcd 2", 2, 0);
delay(1000);
lcdPrintCenter("lcd 3", 3, 0);
}
void loop()
{
}