abonnel-siteweb/data/pages/electronique/arduino/display-by-i2c-lcd1602.txt

80 lines
2.6 KiB
Plaintext
Raw Permalink Normal View History

2024-01-07 10:02:35 +01:00
====== Afficher sur écran LCD 1602 par interface I2C ======
===== Code include =====
La bibliothèque ''LiquidCrystal_I2C'' doit être connu de l'IDE.
{{electronique:arduino:idearduino_croquis_includelibrary.png?nolink|}}
===== Cablage =====
{{electronique:arduino:schema_display-by-i2c-lcd1602.png?nolink|}}
===== Code =====
<code C>
/********************************
* 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
}
/************************************************************/
</code>