top of page

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 :

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
}

bottom of page