Skip to content

Instantly share code, notes, and snippets.

@ypelletier
Last active February 16, 2017 17:44
Utilisation d'un afficheur LCD 16 X 2 (compatible Hitachi HD44780 et de la bibliothèque LiquidCrystal.
/**********************************************************
Utilisation d'un afficheur LCD 16 X 2 (compatible Hitachi
HD44780 et de la bibliothèque LiquidCrystal.
http://electroniqueamateur.blogspot.ca/2017/01/utiliser-un-afficheur-lcd-2-x-16-avec.html
**********************************************************/
// Nous indiquons que nous utiliserons la bibliothèque
// LiquidCrystal:
#include <LiquidCrystal.h>
// Définition des pins de l'Arduino qui sont branchées
// aux pins de l'afficheur LCD
const int pinRS = 12; // pin 4 (RS) de l'afficheur branchée à pin 12 de l'Arduino
const int pinEnable = 11; // pin 6 (Enable) de l'afficheur branchée à pin 11 de l'Arduino
const int pinD4 = 5; // pin 11 (D4) de l'afficheur branchée à pin 5 de l'Arduino
const int pinD5 = 4; // pin 12 (D5) de l'afficheur branchée à pin 4 de l'Arduino
const int pinD6 = 3; // pin 13 (D6) de l'afficheur branchée à pin 3 de l'Arduino
const int pinD7 = 2; // pin 14 (D7) de l'afficheur branchée à pin 2 de l'Arduino
// Initialisation de la bibliothèque LiquidCrystal en utilisant les pins définies ci-dessus:
LiquidCrystal lcd(pinRS, pinEnable, pinD4, pinD5, pinD6, pinD7);
// Préparation de deux chaînes de caractère
// qui seront affichées lettre par lettre:
char ligne1[ ] = "Lettre par"; // 16 caractères max
char ligne2[] = "lettre..."; // 16 caractères max
void setup() {
// On indique que notre afficheur comporte 2 lignes de 16 caractères:
lcd.begin(16, 2);
}
void loop() {
// *****Affichage d'un texte fixe:****************************************
// On place le curseur au troisième caractère (2) de la première ligne (0)
lcd.setCursor(2, 0);
// On écrit un message (il débutera à la position du curseur):
lcd.print("Electronique");
// On place le curseur au quatrième caractère (3) de la deuxième ligne (1)
lcd.setCursor(3, 1);
// On écrit un message sur la 2e ligne:
lcd.print("en amateur");
// on laisse le temps de lire le message
delay(3000);
// on efface:
lcd.clear();
// *****Texte défilant vers la gauche:****************************************
// On place le curseur au premier caractère (0) de la première ligne (0)
lcd.setCursor(0, 0);
// On écrit un message qui débute à la position du curseur:
lcd.print("Texte defilant");
delay(1000);
// On place le curseur au premier caractère (0) de la deuxième ligne (1)
lcd.setCursor(0, 1);
// On écrit un message qui débute à la position du curseur:
lcd.print("Vers la gauche");
delay (1000);
// On déplace le texte de 16 position vers la gauche
for (int i = 0; i < 16; i++) {
lcd.scrollDisplayLeft();
delay(300);
}
// on efface:
lcd.clear();
// *****Texte défilant vers la droite:****************************************
// On place le curseur au premier caractère (0) de la première ligne (0)
lcd.setCursor(0, 0);
// On écrit un message:
lcd.print("Texte defilant");
delay(1000);
// On place le curseur au premier caractère (0) de la deuxième ligne (1)
lcd.setCursor(0, 1);
// On écrit un message:
lcd.print("Vers la droite");
delay (1000);
// déplacement de 16 position vers la droite
for (int i = 0; i < 16; i++) {
lcd.scrollDisplayRight();
delay(300);
}
// on efface:
lcd.clear();
// *****Affichage d'un texte un caractère à la fois:**************************
//curseur placé au début de la première ligne
lcd.setCursor(0, 0);
delay(800);
// on écrit, un après l'autre, tous les caractères de la chaîne "ligne1"
for (int i = 0; i < (sizeof(ligne1) - 1); i++) {
lcd.print(ligne1[i]);
delay(300);
}
// On place le curseur au 7e caractère de la 2e ligne:
lcd.setCursor(6, 1);
// on écrit, un après l'autre, tous les caractères de la chaîne "ligne2"
for (int i = 0; i < (sizeof(ligne2) - 1); i++) {
lcd.print(ligne2[i]);
delay(300);
}
delay(1000);
//on efface
lcd.clear();
// *****Affichage d'un texte clignotant:****************************************
// On place le curseur au huitième caractère (7) de la première ligne (0)
lcd.setCursor(7, 0);
// On écrit un message qui débute à la position du curseur:
lcd.print("Je");
// On place le curseur au cinquième caractère (4) de la deuxième ligne (1)
lcd.setCursor(4, 1);
// écriture de la deuxième ligne:
lcd.print("clignote!");
// on fait clignoter le messages à quelques reprises:
for (int i = 0; i < 3; i++) {
delay(1000);
lcd.noDisplay();
delay(500);
// Turn on the display:
lcd.display();
}
delay(2000);
// on efface:
lcd.clear();
// *****Affichage d'un curseur clignotant:****************************************
// On place le curseur au premier caractère (0) de la première ligne (0)
lcd.setCursor(0, 0);
// On écrit un message qui débute à la position du curseur:
lcd.print("Curseur:");
// On montre le curseur clignotant pendant 3 secondes (il se trouve immédiatement
// après le mot qu'on vient d'écrite
lcd.blink();
delay(3000);
// On place le curseur au premier caractère (0) de la deuxième ligne (1)
lcd.setCursor(0, 1);
// On écrit un message qui débute à la position du curseur:
lcd.print("(Ou va-t-il?)");
// On déplace progressivement le curseur vers la droite:
for (int i = 9; i <= 15; i++) {
lcd.setCursor(i, 0);
delay(800);
}
lcd.noBlink();
lcd.clear();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment