Utilisation d’un écran LCD

Branchement

Les pattes de l’écran sont numérotées de 1 à 16 lorsque l’écran est placé devant soi, les pattes en haut à gauche.

Numéro de la patte Signification Branchement
n° 1 GND GND
n° 2 +5V +5V
n° 3 Constraste potentiomètre ou résistance 1k
n° 4 Sélecteur de registre (RS) Digital 12
n° 5
n° 6 Activation Digital 11
n° 7 Données DB0
n° 8 Données DB1
n° 9 Données DB2
n° 10 Données DB3
n° 11 Données DB4 Digital 5
n° 12 Données DB5 Digital 4
n° 13 Données DB6 Digital 3
n° 14 Données DB7 Digital 2
n° 15 Éclairage Résistance 1k relié au +5v
n° 16 GND (pour éclairage) GND

Initialisation

#include <LiquidCrystal.h>

// define pin numbers
#define RS 12
#define ENABLE 11
#define D4 5
#define D5 4
#define D6 3
#define D7 2

// create LCD
//LiquidCrystal lcd(RS, ENABLE, D4, D5, D6, D7);
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  // initialize LCD (use 16 columns and 2 lines(
  lcd.begin(16, 2);
}

Message fixe

////////////////////////////////////////////////////////////
void loop() 
{
  lcd.clear();
  lcd.setCursor(0,0);     //on place le curseur sur le caractere 0 de la ligne 0.
  lcd.print("Premiere ligne.");
  delay(2000);
  lcd.setCursor(0,1);    //on place le curseur sur le caractere 0 de la ligne 1.
  lcd.print("Deuxieme ligne.");
  delay(2000);
}

 

Message déroulant

On peut faire défiler le message d’un côté ou de l’autre vers les fonctions
lcd.scrollDisplayLeft() ou lcd.scrollDisplayRight().

////////////////////////////////////////////////////////////
void loop()
{
  lcd.clear();
  lcd.setCursor(5,0);
  lcd.print("C'est");  
  lcd.setCursor(5,1);
  lcd.print("parti !");
  delay(1000);
  for(int x=0; x<16; x++) {
    lcd.scrollDisplayRight(); // scroll display left 16 times
    delay(250);
  }
}

 

Rappels des commandes

Commandes Siginification
LiquidCrystal(rs, enable, d4, d5, d6, d7) ; initialisation 4 bits
lcd.begin(cols, rows); initialisation du nombre colonne par ligne
lcd.clear(); efface l’écran et met le curseur en haut à gauche
lcd.home(); repositionne le curseur en haut et à gauche SANS effacer écran
lcd.setCursor(col, row) ; positionne le curseur à l’endroit voulu (colonne, ligne) (1ère=0 !)
lcd.print(« texte ») ; affiche la chaîne texte
lcd.cursor() ; affiche la ligne de base du curseur
lcd.noCursor() ; cache le curseur
lcd.blink() ; fait clignoter le curseur
lcd.noBlink() ; stoppe le clignotement du curseur
lcd.noDisplay() ; éteint le LCD sans modifier l’affichage
lcd.display() ; rallume le LCD sans modifier l’affichage
lcd.scrollDisplayLeft(); décale l’affichage d’une colonne vers la gauche
lcd.scrollDisplayRight(); décale l’affichage d’une colonne vers la droite
lcd.autoscroll() ; les nouveaux caractères poussent les caractères déjà affichés
lcd.noAutoscroll(); stoppe le mode autoscroll

Niveau supérieur : Quelques repères