top of page

LE MODULE CAPTEUR DE COULEUR V2.0

Le module capteur de couleur comporte un circuit intégré TCS3472 délivrant 4 valeurs numériques relatives à la couleur détectée. Ces 4 valeurs sont :

  • la composante rouge (filtrée)

  • la composante verte (filtrée)

  • la composante bleue (filtrée)

  • la composante de clarté (sans filtre)

Avec ce module, nous pouvons mesurer la chromaticité de la couleur de la lumière ambiante lorsque la led du module est éteinte ou la couleur des objets lorsque la led du module est allumée. 

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 :

  • Adafruit_TCS34725 capteur = Adafruit_TCS34725(). Cette fonction permet de créer l'objet.

  • capteur.begin() initialise l'objet.

  • capteur.getRawData(&r, &g, &b, &c) permet d'acquérir les 4 valeurs délivrées par le capteur..

  • capteur.calculateColorTemperature(r, g, b) où r, g, b représentent les composantes RGB de la couleur. Cette fonction permet de calculer la température de la couleur.

  • capteur.calculateLux(r, g, b) permet de calculer le flux lumineux.

Exemple :

Nous souhaitons afficher dans le moniteur série les 4 composantes délivrées par le module, la température de la couleur et le flux lumineux .

Câblage :​

Module "Grove"

​

Module capteur de couleur

​

Connecteur Base

​

I2C

​

​

​

​

Programme :​

/* Couleur_Grove est un programme qui affiche les 4 composantes, la température de la couleur et le flux lumineux*/
 
#include <Wire.h>                                                                              // appel des bibliothèques
#include "Adafruit_TCS34725.h"
                               
int r;
int g;
int b;
int c;
int temp;
int flux;

Adafruit_TCS34725 capteur = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_700MS, TCS34725_GAIN_1X);      // création de l'objet capteur

void setup()
{
    Serial.begin(9600);                                                                      // initialisation du moniteur série
    capteur.begin();                                                                            // initialisation du capteur
}

void loop()
{
  capteur.getRawData(&r, &g, &b, &c);                                           // acquisition des 4 valeur de la température
  temp = capteur.calculateColorTemperature(r, g, b);                 // calcul de la température
  flux = capteur.calculateLux(r, g, b);                                             // calcul du flux
  Serial.print("R: ");
  Serial.print(r, DEC);
  Serial.print(" ");
  Serial.print("G: ");
  Serial.print(g, DEC);
  Serial.print(" ");
  Serial.print("B: ");
  Serial.print(b, DEC);
  Serial.print(" ");
  Serial.print("C: ");
  Serial.print(c, DEC);
  Serial.println(" ");
  Serial.print("Temperature: ");
  Serial.print(temp, DEC);
  Serial.println(" degre Kelvin");
  Serial.print("Flux: ");
  Serial.print(flux, DEC);
  Serial.print(" lux");
  Serial.println(" ");
  Serial.println(" ");
  delay(1000);
}

bottom of page