Description
Le capteur de reconnaissance de couleur TCS230 est un module populaire pour les projets Arduino. Il permet de détecter et de reconnaître différentes couleurs en mesurant l’intensité du spectre des couleurs et en convertissant cette intensité en un signal de fréquence.
Fonctionnement du TCS230
Le TCS230 utilise une matrice de photodiodes pour détecter les couleurs primaires (rouge, vert, bleu). Chaque couleur est mesurée par un ensemble de photodiodes spécifiques, et le capteur convertit ces mesures en signaux de fréquence proportionnels à l’intensité de chaque couleur.
Connexion à un Arduino
Pour connecter le TCS230 à une carte Arduino, vous aurez besoin des éléments suivants :
- Une carte Arduino (Uno, Nano, Mega, etc.)
- Le module TCS230
- Une breadboard
- Des fils de connexion
Voici un schéma de connexion de base :
- S0 et S1 : pour mettre à l’échelle la fréquence des impulsions
- S2 et S3 : pour sélectionner les filtres de couleur
- OUT : sortie du signal de fréquence
- VCC : alimentation (3V à 5V)
- GND : terre
Exemple de code Arduino
Voici un exemple de code pour lire les valeurs de couleur avec le TCS230 et les afficher sur le moniteur série :
#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 ? HIGH : LOW);
digitalWrite(S2, HIGH);
digitalWrite(S3, HIGH);
green = pulseIn(OUT, digitalRead(OUT) == HIGH ? HIGH : LOW);
digitalWrite(S2, LOW);
digitalWrite(S3, HIGH);
blue = pulseIn(OUT, digitalRead(OUT) == HIGH ? HIGH : LOW);
}
Ce code configure les broches et lit les valeurs de couleur rouge, verte et bleue, puis les affiche sur le moniteur série.