Ce module est un écran LCD noir et blanc de 2 lignes et 16 colonnes, un rétro-éclairage fonctionnant à l'aide de leds RGB est disponible.

1. La bibliothèque rgb_lcd.h

L’ajout d’une bibliothèque à l’IDE Arduino est nécessaire à l’utilisation du module LCD RGB Backlight, celle-ci est disponible sur le Github de Seeed Studio : lien

Ensuite, ajoutez le fichier .zip à l’IDE Arduino :

Il suffit d’inclure à présent la bibliothèque au début du code Arduino de cette manière :

#include <Wire.h> //Ajout de la bibliothèque i2c pour utiliser le lcd
#include "rgb_lcd.h" //Ajout de la bibliothèque du lcd

2. Initialisation du lcd avec lcd.begin()

Nous donnons ci-dessous un code exemple de l’initialisation de l’écran Grove RGB LCD :

rgb_lcd lcd; //Constructeur rgb_lcd pour l'objet lcd

void setup() //Initialisations
{
    lcd.begin(16, 2); //Initialisation du lcd de 16 colonnes et 2 lignes
}

Ecrire où l’on veut avec lcd.setCursor()

L’écran lcd du module Grove RGB LCD dispose de 16 colonnes et 2 lignes, si on ne précise rien quand on code l’instruction permettant d’écrire des choses dessus, la colonne 0 et la ligne 0 sont prisent en défaut ce qui a pour conséquence d’écrire en haut à gauche :

Mais comment fait-on si on souhaite commencer à écrire au milieu ? Il suffit d’utiliser la fonction lcd.setCursor(), dont nous expliquons le fonctionnement ci-dessous :

3. Tout effacer avec lcd.clear()

La fonction lcd.clear() permet d’effacer entièrement l’écran lcd, nous donnons la structure de cette fonction ci-dessous :

4. Ecrire avec lcd.print()

La fonction lcd.print() permet d’écrire ce que l’on veut sur le lcd mais ne gère pas le dépassement (écrire au delà des 16 colonnes et 2 lignes), c’est au développeur de vérifier deux fois que ce qu’il souhaite écrire tienne bien dans la place impartie. Nous donnons la structure de cette fonction ci-dessous :

  • Pour écrire une chaîne de caractères :

  • Pour écrire le contenu d’une variable :

Nous donnons ci-dessous un code exemple complet de l’utilisation de lcd.print() et montrons le résultat sur l’écran lcd :

#include <Wire.h> //Ajout de la bibliothèque i2c pour utiliser le lcd
#include "rgb_lcd.h" //Ajout de la bibliothèque du lcd

rgb_lcd lcd;  //Constructeur rgb_lcd pour l'objet lcd

int cpt=0; //Déclaration d'un entier "cpt" initialisé à 0 pour compter le nombre de cycles d'affichages

void setup() //Initialisations
{
    lcd.begin(16, 2); //Initialisation du lcd de 16 colonnes et 2 lignes    
}

void loop() //Programme principal
{
    lcd.setCursor(0,0); //On commence à écrire en haut à gauche
    lcd.print("hello, world!"); //On écrit "hello, world!"
    lcd.setCursor(0,1); //On se met sur la ligne du bas à gauche
    lcd.print("STI2D SIN"); //On écrit "STI2D SIN"
    delay(3000); //On attend 3s
    lcd.clear(); //On efface le lcd

    lcd.setCursor(0,0); //On commence à écrire en haut à gauche
    lcd.print("Lycee GT"); //On écrit "Lycee LGT"
    lcd.setCursor(0,1); //On se met sur la ligne du bas à gauche
    lcd.print("L.Rascol Albi"); //On écrit "L.Rascol Albi"
    delay(3000); //On attend 3s
    lcd.clear(); //On efface le lcd

    lcd.setCursor(0,0); //On commence à écrire en haut à gauche
    lcd.print("Affichage : "); //On écrit "Affichage : "
    lcd.setCursor(13,0); //On se met sur la 13 ème colonne de la première ligne
    lcd.print(cpt); //On écrit le contenu de la variable cpt
    delay(3000); //On attend 3s
    lcd.clear(); //On efface le lcd

    cpt++ //On incrémente de 1 la variable cpt
}

5. Changer la couleur du rétro-éclairage avec lcd.setRGB()

Le module LCD RGB Backlight comme son nom l’indique contient des leds RGB pour Red Green Blue. En faisant varier l’intensité de chaque composante nous pouvons choisir la couleur du rétro-éclairage parmi une infinité. Nous donnons ci-dessous la structure de la fonction lcd.setRGB() à paramétrer dans le void setup().

L’intensité de chaque couleur se code sur 8 bits, soit une valeur entre 0 et 255. Nous donnons ci-dessous un code exemple pour un éclairage en rouge et montrons le résultat sur l’écran lcd :

#include <Wire.h> //Ajout de la bibliothèque i2c pour utiliser le lcd
#include "rgb_lcd.h" //Ajout de la bibliothèque du lcd

rgb_lcd lcd;  //Constructeur rgb_lcd pour l'objet lcd

void setup() //Initialisations
{
    lcd.begin(16, 2); //Initialisation du lcd de 16 colonnes et 2 lignes
    lcd.setRGB(255,0,0); //Configuration de l'éclairage en rouge
}

void loop() //Programme principal
{
    lcd.setCursor(0,0); //On commence à écrire en haut à gauche
    lcd.print("hello, world!"); //On écrit "hello, world!"
    lcd.setCursor(0,1); //On se met sur la ligne du bas à gauche
    lcd.print("STI2D SIN"); //On écrit "STI2D SIN"           
}