Arduino - Afficheur LCD 1602 - Le Blog De Claude

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'Arduinosoit en mode 8 bits, et il utilisera 11 broches de l'Arduinosans 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 1602Brochage 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 bitsCâ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'ArduinoLiquidCrystal 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'ArduinoLiquidCrystal 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

Tag » Arduino Lcd 1602a