Afficher sur écran LCD 1602 par interface I2C

La bibliothèque LiquidCrystal_I2C doit être connu de l'IDE.

/********************************
* nom:I2C LCD1602
* fonction:Afficher sur I2C LCD1602 les caracteres suivants: "Hey ! toi" et "hello, world".
********************************/
 
/********************************/
// Librairie à inclure
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
/**********************************************************/
char array1[]="Hey ! LuiqidCrystal I2C"; //une chaine a afficher sur le LCD
char array2[]="hello, world! "; //une chaine a afficher sur le LCD
int tim = 250; //valeur d'attente
int lcd_tailleLigne = 16; // nbre Caractères par ligne
// initialiser la librairie
LiquidCrystal_I2C lcd(0x27,16,2); // affecter l'adresse à 0x27 pour 16 caractères et 2 lignes d'affichage
/*********************************************************/
void setup()
{
  lcd.init(); //initialiser le LCD
  lcd.backlight(); //allumer le LCD
  lcd.setCursor(0,0);
  lcd.print("123456789012345678901234567890");
  lcd.setCursor(0,1);
  lcd.print("abonnel.fr");
  delay(10 * tim); //attendre
  lcd.clear();
}
/*********************************************************/
void loop() 
{
  lcd.setCursor(lcd_tailleLigne,0); // mettre le curseur en bout de ligne, à droite
  for (int positionCounter1 = 0; positionCounter1 < lcd_tailleLigne - 1 + sizeof(array1) - 1; positionCounter1++)
  {
    lcd.scrollDisplayLeft(); //déplacer l'affichage
    // afficher le message ou un " "
    if (positionCounter1 >= sizeof(array1)-1) {
        lcd.print(" ");
    } else {
        lcd.print(array1[positionCounter1]); // Afficher le caractere suivant
    }
    delay(tim); //attendre
  }
 
  // Afficher la seconde ligne
  lcd.clear(); //effacer l'affichage et repositionner le curseur à 0, 0
  lcd.setCursor(lcd_tailleLigne,1); // mettre le curseur en bout de ligne, à droite
  for (int positionCounter = 0; positionCounter < lcd_tailleLigne - 1 + sizeof(array2) - 1; positionCounter++)
  {
    lcd.scrollDisplayLeft(); //déplacer l'affichage
    // afficher le message ou un " "
    if (positionCounter >= sizeof(array2)-1) {
        lcd.print(" ");
    } else {
        lcd.print(array2[positionCounter]); // Afficher le caractere suivant
    }
    delay(tim); //attendre
  }
 
  lcd.clear(); //effacer l'affichage et repositionner le curseur à 0, 0
}
/************************************************************/
  • informatique/arduino/display-by-i2c-lcd1602.txt
  • Dernière modification: 2016/11/27 14:44
  • par Cedric ABONNEL