Nous allons utiliser un afficheur alphanumérique LCD de 2 lignes de 16 caractères. Les écrans compatibles avec la bibliothèque Arduino sont reconnaissables par leurs 16 broches que je vais brièvement décrire :
N° Nom Rôle
1 VSS Masse
2 Vdd +5V
3 V0 Réglage du contraste
4 RS Sélection du registre (commande ou donnée)
5 R/W Lecture ou écriture
6 E Entrée de validation
7 à 10 D0 à D3 Bits de données de poids fort
11 à 14 D4 à D7 Bits de données de poids faible
15 LED+ Anode du rétroéclairage (+5V)
16 LED- Cathode du rétroéclairage (masse)
Il existe 2 façons de pilote l’écran. Soit en utilisant les 16 connexions (mode 8 bits), soit en utilisant 4 connexions de moins (mode 4 bits). Le mode 4 bits, malgré qu’il soit plus lent, a l’avantage d’être plus simple et moins gourmand en pins. Comme nous n’avons pas besoin de changement d’information rapide, nous allons utiliser ce mode.
On reprend le tableau précédent et je vous explique où brancher vos broches :
N° Nom Rôle
1 VSS Masse générale du montage
2 Vdd +5V de l’Arduino
3 V0 Broche centrale du potentiomètre 10K
4 RS Pin 12 de l’Arduino
5 R/W Comme nous allons uniquement écrire sur l’écran, à relier à la masse
6 E Pin 13 de l’Arduino
7 à 10 D0 à D3 Comme nous utilisons le mode 4 bits, à la relier à la masse
11 à 14 D4 à D7 Pins 7,6,5 et 4 de l’Arduino. Oui, dans cet ordre
15 LED+ +5V de l’Arduino
16 LED- Masse générale du montage
Ça commence à faire beaucoup de fil tout ça ! La boite qui devait contenir le projet devait être plus petite, c’est pour ça que j’ai directement soudé les fils sur l’écran comme un malpropre. Mais sachez qu’il existe des connecteurs pour rendre votre montage moins définitif : https://www.gotronic.fr/art-connecteur-he14-mh100-4457.htm
Côté code, nous allons utiliser la librairie LiquidCrystal qui va nous simplifier la vie pour dialoguer avec l’écran. Pour l’installer dans l’IDE, il faut se rendre dans Croquis > Inclure une bibliothèque > Gérer les bibliothèques. Dans la barre de rechercher, chercher « LiquidCrystal ». Si la biliothèque est déjà installé, il est indiqué « INSTALLED » à côté de son nom, sinon il y a un bouton pour l’installer.
On peut lancer le code d’essai de l’écran :
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,13,7,6,5,4); // (RS, E, d4, d5, d6, d7)
void setup() {
lcd.begin(16,2); //on initialise la communication avec 16 colonnes et 2 lignes
lcd.clear(); // on efface l'écran
lcd.print("Oui are"); // on écrit la premiere ligne
lcd.setCursor(0,1); //on passe à la ligne suivante
lcd.print("Makers"); // on écrit la deuxieme ligne
}
void loop() {
}
En soit, ce n’est pas super utile d’afficher un texte fixe sur un écran. Nous allons alors afficher la température en mélangeant ce code avec celui de l’étape 1 :
#include <Adafruit_MLX90614.h>
#include <LiquidCrystal.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
LiquidCrystal lcd(12,13,7,6,5,4); // (RS, E, d4, d5, d6, d7)
void setup() {
Serial.begin(9600);
mlx.begin();
lcd.begin(16,2); // 16 colonnes et 2 lignes
lcd.clear(); // On efface l'écran
lcd.print(F("Temperature :")); // On écrit sur la 1ere ligne
}
void loop() {
/* Affichage de la température */
lcd.setCursor(0,1); // On se place au debut de la 2eme ligne
lcd.print(mlx.readObjectTempC());
lcd.print(" ");
lcd.write(178); // Astuce pour afficher °
lcd.print("C");
/* Temps d'attente */
delay(1000);
}
Source : https://openclassrooms.com/courses/perfectionnez-vous-dans-la-programmation-arduino/programmez-un-ecran-lcd
http://eskimon.fr/26-arduino-701-les-ecrans-lcd