TPBD1 : Partie 4 Chapitre 2 – Écran LCD (utilisation)

Accueil/TPBD1 : Partie 4 Chapitre 2 – Écran LCD (utilisation)
TPBD1 : Partie 4 Chapitre 2 – Écran LCD (utilisation) 2016-12-20T11:37:53+00:00

Niveau: Débutant

Le matériel

Pour réaliser ce tutoriel, vous aurrez besoin de :

Un écran LCD?

Voici ce qu’est un écran LCD :

Mais celui la n’a rien a voir avec l’arduino , non non , moi je vous parle de ces écrans LCD :

Cela sont plus petits oui , mais c’est déjà pas mal , en arduino ( en plus évolué ) on trouve aussi des LCD couleurs et tactiles (pour un futur tuto?) :

Dans ce tutoriel nous allons travailler avec le LCD de base. Celui ci est capable d’afficher du texte et bien plus encore!

Branchements

A) Comment relier son LCD à sa carte Arduino et l’initialiser?.

L’afficheur LCD utilise 6 à 10 broches de données ((D0 à D7) ou (D4 à D7) + RS + E) et deux d’alimentations (+5V et masse). Les 10 broches de données peuvent être placées sur n’importe quelles entrées/sorties numériques de l’Arduino.

Le montage à 8 broches de données :

Image utilisateur

 

Le potentiomètre que vous voyez ci dessus permet de régler le contraste du LCD , pratique!

Pour utiliser le LCD nous devons utiliser la librairie Liquid Crystal.

Petit code pour tester :

//https://tutoarduino.wordpress.com
#include "LiquidCrystal.h" //ajout de la librairie

LiquidCrystal lcd(11,10,9,8,7,6,5,4,3,2); //liaison 8 broche de données /! n'oubliez pas de modifier!!!
LiquidCrystal lcd(11,10,5,4,3,2); //liaison 4 broche de données /! n'oubliez pas de modifier!!!

void setup()
{
lcd.begin(16,2); //uniquement pour LCD 16*2 si vous utilisez un 8*2 remplacer cette ligne par lcd.begin(8,2);
lcd.write("Coucou !"); //petit test pour vérifier que tout marche
}

void loop() {}

// Vérifiez les branchements !

si « coucou » s’affiche c’est que tout fonctionne sinon laissez un message sur notre forum : arduino.leforum.eu

B) Hello world!

Ceux qui font de la programmation le savent bien , hello world est le premier programme qu’ils ont pour la plupart écrits.

Pour écrire du texte, puis sauter une ligne vous devez utiliser cette ligne de code :

lcd.println("votre texte");
  • Sans sauter de ligne:
lcd.print("votre texte");
  • pour faire disparaitre le texte (« effacer l’ecran »):
lcd.clear();

Maintenant écrivez hello world sur votre lcd !

Applications avancés

A) Se déplacer à l’écran.

Déjà nous allons voir comment faire apparaitre et disparaitre le texte à l’écran ( mais le garder en mémoire)!

  • noDisplay() : fait disparaître le texte
  • display() : fait apparaître le texte (s’il y en a un évidemment)
//
#include <LiquidCrystal.h> //on inclut la librairie

// initialise l'écran avec les bonnes broches

LiquidCrystal lcd(8,9,4,5,6,7);

void setup() {
// règle la  taille du LCD
lcd.begin(16, 2);
lcd.print("Hello World !");
}

void loop() {
lcd.noDisplay();
delay(500);
lcd.display();
delay(500);
}
Et voilà le texte clignote sur le LCD!
Maintenant nous allons voir comment le déplacer !
Pour mettre votre texte sur la deuxième ligne de l’écran et faire un petit espace :

  • lcd.setCursor(2,1); //place le curseur aux coordonnées (2,1) 2 = ligne , 1 = l'espace

Et maintenant pour faire partir votre texte vers la droite :

  • lcd.scrollDisplayRight();
Et vers la gauche :
  • lcd.scrollDisplayLeft();
Cela peut être pratique avec des boutons ! À vous de jouer!

B) Créer un caractère

Une fonction très intéressante pour les smiley cœur … ! Je vais faire un cœur <3

Pour créer notre cœur , il faut utiliser la technique du tableau à cases :

 byte coeur
[8] = { B00000, B00000, B01010, B10101, B10001, B01010, B00100, B00000 };
Il n’est pas très réussi mais bon… Dans l’exemple nous allons l’utiliser :
Voici le code qui vous permet d’afficher le cœur (très moche) , ou le caractère que vous avez créé :
//
#include <LiquidCrystal.h> //on inclut la librairie

LiquidCrystal lcd(8,9,4,5,6,7);

byte coeur[8] = {
B00000,
B00000,
B01010,
B10101,
B10001,
B01010,
B00100,
B00000};

void setup()
{
lcd.createChar(0, coeur); //apprend le caractère à l'écran LCD
lcd.begin(16, 2);
lcd.write((uint8_t) 0); //affiche le caractère de l'adresse 0
}

// Vérifiez les branchements !
Voilà ce tutoriel est à présent terminé!