Last active
February 16, 2017 17:44
Utilisation d'un afficheur LCD 16 X 2 (compatible Hitachi HD44780 et de la bibliothèque LiquidCrystal.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/********************************************************** | |
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