LE MODULE AFFICHEUR RGB
Le module afficheur RGB comporte un écran LCD 2 lignes 16 colonnes avec rétro-éclairage RGB.
Ce module doit être relié à un connecteur I2C de la base.
La bibliothèque gérant ce module est téléchargeable ici et ses principales fonctions sont :
-
rgb_lcd lcd. Cette fonction permet de créer l'objet.
-
lcd.begin(16, 2) initialise l'objet.
-
lcd.setRGB(R, G, B) permet de configurer la couleur de fond.
-
lcd.setCursor(colonne,ligne) où colonne représente le numéro de la colonne et ligne le numéro de la ligne. Cette fonction permet de positionner le curseur de l'écran.
-
lcd.print(variable) permet d’afficher la valeur de la variable.
-
lcd.print("Message") permet d’afficher la chaîne de caractère comprise entre les guillemets.
-
lcd.clear() permet d'effacer l'écran.
Exemple :
Nous souhaitons afficher la tension issue d'un potentiomètre. La couleur de fond de l'afficheur est blanche.
Liste du matériel :
-
1 base RIP
-
1 module potentiomètre "Grove" avec support RIP
-
1 module afficheur RGB "Grove" avec support RIP
Câblage :
Module "Grove"
Module potentiomètre
Module afficheur LCD
Connecteur Base
A0
I2C
Programme :
/* RGB_Grove est un programme qui affiche la tension issue d'un potentiomètre sur un afficheur RGB */
#include <Wire.h> // appel des bibliothèques
#include "rgb_lcd.h"
#define potentiometre A0 // affectation des broches
rgb_lcd lcd; // création de l'objet lcd
const int colorR = 255; // définition des constantes de couleur
const int colorG = 255;
const int colorB = 255;
int val=0;
float tension;
void setup()
{
lcd.begin(16, 2); // initialisation de l'objet lcd
lcd.setRGB(colorR, colorG, colorB); // couleur de fond du lcd
}
void loop()
{
val=0;
val=analogRead(potentiometre); // conversion AN
tension = map(val, 0, 1023, 0, 5000); // tension varie de 0 à 5000 mV
tension=tension/1000; // on ramène tension en V
lcd.clear(); // effacement de l'écran
lcd.print("Tension="); // on écrit Tension=
lcd.print(tension); // on écrit la valeur de la tension
lcd.print("V"); // on écrit V
delay(1000); // pause d'une seconde avant la prochaine conversion
}