Arduino, Tutoriels

Comment utiliser TCS230 Capteur de Couleur avec Arduino

Tcs230 Capteur De Couleur Avec Arduino

Introduction

Le capteur de couleurs TCS230 est un dispositif puissant qui permet à un microcontrôleur Arduino de détecter et reconnaître différentes couleurs. Dans cet article, nous allons explorer en détail le fonctionnement de ce capteur et apprendre comment le connecter à une carte Arduino. De plus, nous découvrirons comment utiliser le capteur pour afficher les informations sur les couleurs détectées sur le port série de l’IDE Arduino. Enfin, nous proposerons un exemple de code complet qui associe certaines couleurs à des actions spécifiques, telles que l’allumage de LEDs.

Fonctionnement du capteur de couleurs TCS230

Le capteur de couleurs TCS230 fonctionne en mesurant l’intensité du spectre des couleurs à l’aide d’une matrice de photodiodes. Cette matrice comprend 16 photodiodes pour chaque couleur primaire (rouge, vert, bleu) et 16 photodiodes sans filtre. En exposant l’objet dont nous souhaitons connaître la couleur à la lumière, le capteur mesure les fréquences des différentes couleurs réfléchies par l’objet. En fonction des fréquences mesurées, le capteur détermine la couleur de l’objet.

Capteur De Couleurs Tcs230 Fonctionne En Mesurant L'Intensité Du Spectre Des Couleurs À L'Aide D'Une Matrice De Photodiodes.
Capteur de couleurs TCS230

Fiche technique Capteur de couleur

Dans la palette de couleurs RVB, toute couleur peut être représentée comme une combinaison des trois couleurs primaires : le rouge (R), le vert (G) et le bleu (B). Afin de déterminer une couleur spécifique, il est donc nécessaire de mesurer le spectre des composantes rouge, bleu et vert. Pour cette tâche, le capteur utilisé est le TCS230, qui se compose d’une matrice de 8×8 photodiodes comprenant 16 photodiodes pour chaque couleur primaire (rouge, vert et bleu) ainsi que 16 photodiodes supplémentaires sans filtre. Le TCS230 fonctionne avec une tension d’alimentation comprise entre 2,7 et 5,5 volts pour son module.

Capture Decran 2023 08 04 154805
fiche technique de capteur de couleurs TCS230

Comment connecter le capteur de couleur à Arduino

Matériels requis

Pour connecter le capteur de couleurs TCS230 à une carte Arduino (que ce soit un Arduino Uno, Nano ou Mega), nous avons besoin d’une breadboard, de quelques fils de connexion et éventuellement de LEDs avec des résistances de 220 Ohm pour créer des indicateurs visuels des couleurs détectées.

Schéma de connexion

  • Broche S0 du capteur TCS230 à une broche numérique de l’Arduino (par exemple, broche 4).
  • Broche S1 du capteur TCS230 à une broche numérique de l’Arduino (par exemple, broche 5).
  • Broche S2 du capteur TCS230 à une broche numérique de l’Arduino (par exemple, broche 7).
  • Broche S3 du capteur TCS230 à une autre broche numérique de l’Arduino (par exemple, broche 6).
  • Broche OUT du capteur TCS230 à une broche numérique de l’Arduino (par exemple, broche 8).
Design Sans Titre 2

Code Arduino pour le capteur de couleur TCS230

Voici le code Arduino permettant de lire les valeurs de fréquence des couleurs détectées et de les afficher sur le port série :

#define s0  4
#define s1  5
#define s2  7
#define s3  6
#define out 8

byte red = 0;
byte green = 0;
byte blue = 0;

void setup() {
  Serial.begin(9600);
  
  pinMode(s2, OUTPUT);
  pinMode(s3, OUTPUT);
  pinMode(out, INPUT);
} 

void loop() { 
  color();

  Serial.print("RED: ");
  Serial.print(red);
  Serial.print(" GREEN: ");
  Serial.print(green);
  Serial.print(" BLUE: ");
  Serial.println(blue);

  delay(500);
}

void color() {
  digitalWrite(s2, LOW);
  digitalWrite(s3, LOW);
  red = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);

  digitalWrite(s3, HIGH);
  blue = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);

  digitalWrite(s2, HIGH);
  green = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH); 
}

Ce code utilise les broches S2, S3 et OUT du capteur pour obtenir les valeurs de fréquence des différentes couleurs. Il lit ces valeurs et les affiche sur le port série de l’IDE Arduino.

Associations de couleurs avec des actions spécifiques

Dans cet exemple, nous associons certaines valeurs de fréquence à des couleurs spécifiques (rouge, vert, bleu) et utilisons des LEDs pour indiquer les couleurs détectées.

Schéma de connexion

Détermination De La Couleur Avec Le Module Tcs230
Détermination de la couleur avec le module TCS230

Code Arduino

#define s2  2
#define s3  3
#define out 4

#define redLED 10
#define greenLED 11
#define blueLED 12

byte red = 0;
byte green = 0;
byte blue = 0;

void setup() {
  Serial.begin(9600);
  
  pinMode(s2, OUTPUT);
  pinMode(s3, OUTPUT);
  pinMode(out, INPUT);

  pinMode(redLED, OUTPUT);
  pinMode(greenLED, OUTPUT);
  pinMode(blueLED, OUTPUT);
} 

void loop() { 
  color();

  Serial.print("RED: ");
  Serial.print(red);
  Serial.print(" GREEN: ");
  Serial.print(green);
  Serial.print(" BLUE: ");
  Serial.println(blue);

  if(red > 60 && blue > 90 && green > 90) {
    Serial.println("RED COLOR");
    digitalWrite(redLED, HIGH);
    digitalWrite(greenLED, LOW);
    digitalWrite(blueLED, LOW);
  }

  if(red > 90 && blue > 60 && green > 90) {
    Serial.println("GREEN COLOR");
    digitalWrite(redLED, LOW);
    digitalWrite(greenLED, HIGH);
    digitalWrite(blueLED, LOW);
  }

  if(red > 90 && blue > 90 && green > 60) {
    Serial.println("BLUE COLOR");
    digitalWrite(redLED, LOW);
    digitalWrite(greenLED, LOW);
    digitalWrite(blueLED, HIGH);
  }
  
  delay(500);
}

void color() {
  digitalWrite(s2, LOW);
  digitalWrite(s3, LOW);
  red = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);

  digitalWrite(s3, HIGH);
  blue = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH);

  digitalWrite(s2, HIGH);
  green = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH); 
}

Dans ce code, nous avons ajouté trois LEDs (rouge, vert et bleu) connectées aux broches 10, 11 et 12 de l’Arduino. En fonction de la couleur détectée, la LED correspondante s’allumera pour indiquer la couleur détectée.

Vidéo descriptif d’association des LEDs pour indiquer les couleurs détectées

Vidéo descriptif

Conclusion

Le capteur de couleurs TCS230 est un outil puissant pour détecter et reconnaître différentes couleurs avec Arduino. En utilisant le code fourni et en ajoutant quelques LED, il est possible de créer des applications pratiques telles que le tri des couleurs, la détection de couleurs sur des bandes de test, etc. Avec ce capteur, les possibilités de projets créatifs sont illimitées !

Lien outilles

  1. Téléchargement de l’Arduino IDE : https://www.arduino.cc/en/software
  2. Pour plus d’articles : https://www.moussasoft.com/tutoriels-electroniques
  3. TwitterMoussa Lhoussaine (@Moussasoft_com) / Twitter

Arduino – Home

Laisser un commentaire