Capteur de couleur tcs230 Arduino

Le capteur de couleurs TCS230 Arduino est capable de reconnaître 4 couleurs et convertit l’intensité du spectre des couleurs en un signal de différentes fréquences. Voyons le dispositif du capteur de couleur rgb, le schéma de connexion à Arduino Uno et présentons quelques croquis avec des exemples d’utilisation du color sensor et la sortie d’informations sur le spectre des couleurs (couleur de l’objet) sur le port série de l’Arduino IDE et avec des LEDs.


Pour cette activité, nous aurons besoin:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • color sensor TCS230
  • LEDs et résistances
  • une breadboard
  • fils de connexion

Matériel supplémentaire sur ce sujet:

  1. Branchement capteur de gestes APDS-9960
  2. Branchement capteur de lumière UV Arduino
  3. Branchement capteur capacitif tactile TTP223

Capteur de couleur Arduino datasheet, pinout

Dans la palette de couleurs RVB, toute couleur peut être représentée comme une combinaison des trois couleurs primaires: rouge (R), vert (G) et bleu (B). Il est donc nécessaire de mesurer le spectre rouge, bleu et vert pour déterminer la couleur. Le capteur utilisé est le TCS230, composé d’une matrice de 8×8 photodiodes – 16 photodiodes pour trois couleurs et 16 photodiodes sans filtre. Tension d’alimentation du module de 2,7 à 5,5 volts.

Fonctionnement du capteur de couleur tcs230 (datasheet)
Fonctionnement du capteur de couleur tcs230 Arduino pinout, datasheet

Caractéristiques sensor TCS3200 Arduino:

  • Alimentation: de 2.7V à 5.5V
  • Haute résolution de conversion intensité de lumière vers fréquence

Le capteur est utilisé pour détecter la couleur d’un objet à une distance maximale de 10 mm. Il est équipé de quatre diodes électroluminescentes (DEL) qui éclairent l’emplacement de la mesure. Sur la face arrière du capteur se trouvent des tampons avec des contacts. Le capteur TCS230 est connecté à l’Arduino via ces contacts. Les contacts « S0 » et « S1 » sont utilisés pour mettre à l’échelle la fréquence des impulsions à la sortie « OUT » du module TCS230.

Comment branchement le capteur de couleur Arduino

Branchement le capteur de couleur rgb Arduino
Branchement le capteur de couleur rgb Arduino

L’étalonnage du capteur TCS230 doit être effectué dans une bonne lumière et à la même distance du sujet. En cas de changement de la lumière ambiante ou de la distance par rapport au sujet, tous les réglages peuvent être désactivés. Notez que le capteur détecte facilement le rouge, mais ne distingue pas bien le bleu et le vert. Pour sortir les informations sur le port série Arduino IDE, assemblez le circuit et chargez le programme dans la carte.

Programme Arduino pour le capteur de couleur

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

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: " + String(red));
 Serial.print(" GREEN: " + String(green));
 Serial.println(" BLUE: " + String(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); 
}

Explication du code pour le capteur de couleur tcs3200 arduino:

  1. la procédure void color() est utilisée pour interroger le color sensor;
  2. dans la procédure void loop() les données reçues sont sorties sur le port série.
Détermination de la couleur avec le module TCS230
Détermination de la couleur avec le module TCS230

Lorsque nous démarrons le programme et ouvrons le port série, nous verrons les valeurs pour chacune des trois couleurs et le message indiquant quelle couleur a été sélectionnée, lorsque nous amenons l’échantillon au capteur. Il faut noter que si le message de couleur ne correspond pas à la couleur réelle, il est nécessaire de modifier les valeurs des fréquences dans le programme, en les ajustant selon les valeurs RGB.

Programme Arduino pour le color sensor RGB

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

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

void setup() {
 Serial.begin(9600);
 
 pinMode(10, OUTPUT);
 pinMode(11, OUTPUT);
 pinMode(12, OUTPUT);
 
 pinMode(s2, OUTPUT);
 pinMode(s3, OUTPUT);
 pinMode(out, INPUT);
} 
 
void loop() { 
 color();

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

 if(red > 60 && blue < 90 && green < 90) {
   Serial.println("RED COLOR");
   digitalWrite(10, HIGH);
   digitalWrite(11, LOW);
   digitalWrite(12, LOW);
   }

 if(red < 60 && blue > 90 && green < 90) {
   Serial.println("BLUE COLOR");
   digitalWrite(10, LOW);
   digitalWrite(11, HIGH);
   digitalWrite(12, LOW);
   }

 if(red < 60 && blue < 90 && green > 90) {
   Serial.println("GREEN COLOR");
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   digitalWrite(12, 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); 
}

Explication du code pour detecteur tcs3200 Arduino et LEDs:

  1. en fonction de la couleur de l’objet, une certaine LED s’allume;
  2. en utilisant des instructions if supplémentaires dans le programme color sensor, vous pouvez spécifier plus de trois couleurs à définir.

Conclusion. Le tri des couleurs a plusieurs applications dans la vie réelle, et nous pensons qu’il est très utile lorsqu’il peut être réalisé avec une solution peu coûteuse comme la plateforme Arduino. Le module de color sensor TCS2300 sera utile dans les projets où la reconnaissance des couleurs est nécessaire – par exemple, pour la correspondance des colorants, le tri des couleurs, la détection des couleurs des bandes de test, etc.





5 Replies to “Branchement capteur de couleurs TCS230 Arduino”

  1. Il y a peut être une erreur dans la partie loop, vous écrivez trois fois la même condition if(red > 60 && blue > 90 && green > 90) {.

    1. Merci, j’ai corrigé le programme.
      Mais il faut noter que beaucoup de choses dépendent de l’éclairage et de la surface de l’objet. Il faut donc ajuster les conditions individuellement à chaque fois.

      1. Je cherche une solution pour detecter les objets noir et brun avec de tailles arrive jusqua 100 micrometre au minimum pour une surface carrée de10cm/10cm

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.