Arduino - Afficheur LCD 1602

  • lcd1602
  • lcd-i2c


Les afficheurs LCD existent sous toutes tailles, de couleurs différentes et pouvant afficher plusieurs lignes et plusieurs caractères par lignes.
Les afficheurs LCD utilisent deux types de controleurs:

  • le controleur HD44780
  • le controleur ST7032


Le HD44780 utilise un bus de data de 8 bits, qu'il faut relier aux broches de l'Arduino.

soit en mode 4 bits, et il utilisera 7 broches de l'Arduino
soit en mode 8 bits, et il utilisera 11 broches de l'Arduino
sans oublier  les 3 pins pour le controle , l'alimentation et la luminosité


Le ST7032 utilise l'interface I2C (qui est présente sur l'Arduino - broche A4 - SDA et broche A5 - SCL), il n'a besoins que de :

2 pins (SCL / la clock en A5 et SDA / les datas en A4
2 pins pour l'alimentation


Le LCD 1602 utilise le contrôleur HD44780 et 1602 signifie que l'afficheur va pouvoir afficher 16 caractères sur chacune des 2 lignes.



Le Brochage du lcd 1602 - HD44780

Brochage du LCD 1602
Brochage du LCD 1602
BrochesNomsRoles
1VssGnd - Masse
2Vdd+5 volts
3V0Réglage du contraste
4RSSélection du registre (commande ou données)
5RWLecture ou Ecritre (du registre)
6EEntrée de validation
7DB0Bit de données 0 (data)
8DB1Bit de données 1 (data)
9DB2Bit de données 2 (data)
10DB3Bit de données 3 (data)
11DB4Bit de données 4 (data)
12DB5Bit de données 5 (data)
13DB6Bit de données 6 (data)
14DB7Bit de données 7 (data)
15AAnode du rétro-éclairage (+5v)
16KCathode du rétro-éclairage (Gnd - Masse)

Le schema

arduino-lcd-cablage


Notre montage est réalisé avec le simulateur Tinkercad


Nous utiliserons un potentiomètre de 250 KOhms relié entre le +5v et le Gnd pour le réglage du contraste et une résistance de 220 Ohms sur l'anode du LCD pour le rétro-éclairage


Mode d'utilisation :

  • Mode 8bit - data - DB0 jusqu'à DB7
  • Mode 4 bit - data - DB4 jusqu'à DB7


Nous utiliserons le mode 4 bits

Câblage avec l'Arduino Uno en Mode 4 bit


LCD1602 - Arduino Uno

  • Broche 1 (Vss)  sur la broche Gnd -Masse
  • Broche 2 (Vdd) sur la broche +5v
  • Broche 3 (V0) sur curseur du potentiomètre 250 KOhms
  • Broche 4 (RS) sur la broche Digital 12
  • Broche 5 (R/W) sur la broche Gnd - Masse
  • Broche 6 (E) sur la broche Digital 11
  • Broche 11 (DB4 - Data) sur la broche Digital 5
  • Broche 12 (DB5 - Data) sur la broche Digital 4
  • Broche 13 (DB6 - Data) sur la broche Digital 3
  • Broche 14 (DB7 - Data) sur la broche Digital 2
  • Broche 15 (A - Anode rétro-éclairage) sur résistance de 220 Ohms puis +5v
  • Broche 16 (K - Cathode rétro-éclairage) sur le Gnd - Masse


Avant de mettre sous tension, vérifier votre cablage, une erreur pourrait etre fatale pour l'Arduino Uno et/ou le LCD 


le code

  • arduino-lcd-code
  • arduino-affichage-texte


Nous utiliserons la librairie LiquilCristal.h


// Utilisation de la librairie LiquidCrytal.h

#include <LiquidCrystal.h>


// Définition des broches RS, E, et Data (DB4 à DB7)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);  


void setup() {
  //configurer le nombre de colonnes et de lignes de l'écran LCD:

  lcd.begin(16, 2);


  // Affichage du message " hello world ! "
  lcd.print(" hello, world ! ");
}


void loop() {
  // Position du curseur sur la colonne 0, ligne 1
  lcd.setCursor(0, 1);
  // Temporisation de 10 
  lcd.print(millis() / 10);
}





Affichage d'un Chronomètre

  • Arduino-Chrono-Code
  • Arduino-Chrono


Nous allons afficher un chronomètre sur la 2ème ligne avec le code millis()


Le code


// include the library code:
#include <LiquidCrystal.h>


// initialization librairie avec les pins de l'Arduino
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);


void setup() {
  lcd.begin(16, 2);
}


void loop() {
  // Colonne 0 = 1ere colonne
  // Ligne 0 = 1ère ligne
  
  // Position colonne 0, ligne 0

  lcd.setCursor(0,0);
  lcd.print("Salut Claude");
  
  // Position colonne 0, ligne 1
  lcd.setCursor(0, 1);
  lcd.print("Chrono :");
  
  // Position colonne 10, ligne 1
  lcd.setCursor(10, 1);
  lcd.print(millis() / 60);  
}

 


Faire clignoter l'afficheur

Arduino-Clignote-Code


Nous utilisons les codes lcd.noDisplay et lcd.display pour faire clignoter l'afficheur

  • lcd.noDisplay()  // Extinction du LCD
  • lcd.display()  // Allumage du LCD


Nous allons eteindre et allumer le LCD avec un temporisation delay() pour donner un effet de clignotement du LCD


Le code


// include the library code:
#include <LiquidCrystal.h>


// initialization librairie avec les pins de l'Arduino
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);


void setup() {
  lcd.begin(16, 2);
}


void loop() {
  // Colonne 0 = 1ere colonne
  // Ligne 0 = 1ère ligne
  
  // Position colonne 0, ligne 0

  lcd.setCursor(0,0);
  lcd.print("Salut Claude");
  
  // Position colonne 0, ligne 1
  lcd.setCursor(0, 1);
  lcd.print("Chrono :");
  
  // Position colonne 10, ligne 1
  lcd.setCursor(10, 1);
  lcd.print(millis() / 60);
  
  delay(1000);
  // Extinction du LCD
  lcd.noDisplay();
  delay(200);
  // Allumage du LCD
  lcd.display();
  delay(500);
  delay(100);
}
 




Liste des fonctions de LiquidCrystal


Liste des fonctions de la bibliothèque LiquidCrystal:


https://www.arduino.cc/en/Reference/LiquidCrystal



Personnaliser

Google Analytics

Google Analytics est un service utilisé sur notre site Web qui permet de suivre, de signaler le trafic et de mesurer la manière dont les utilisateurs interagissent avec le contenu de notre site Web afin de l’améliorer et de fournir de meilleurs services.

Facebook

Notre site Web vous permet d’aimer ou de partager son contenu sur le réseau social Facebook. En l'utilisant, vous acceptez les règles de confidentialité de Facebook: https://www.facebook.com/policy/cookies/

Twitter

Les tweets intégrés et les services de partage de Twitter sont utilisés sur notre site Web. En activant et utilisant ceux-ci, vous acceptez la politique de confidentialité de Twitter: https://help.twitter.com/fr/rules-and-policies/twitter-cookies