Le TCS34725 est un capteur de couleur capable de détecter l'intensité du rouge, du vert, du bleu et de la lumière claire. Il est largement utilisé dans les projets de détection de couleurs, y compris la robotique, la domotique et les applications sensibles aux couleurs. Ce tutoriel vous guidera à travers la configuration et l'utilisation du capteur de couleur TCS34725 avec un Arduino.
Ce dont vous aurez besoin
- Conseil d'administration d'Arduino (par exemple, uno, mega, nano)
- Module de capteur de couleur TCS34725
- Fils de planche à pain et de cavalier
- Un ordinateur avec l'ide Arduino installé
- Bibliothèques: Bibliothèque Adafruit TCS34725
Étape 1: Comprendre le capteur de couleur TCS34725
Le TCS34725 est un capteur compatible I2C qui fournit des données d'intensité de couleur et de lumière. Il comprend:
- Capteur RGBC: Mesure les intensités lumineuses rouges, vertes, bleues et claires.
- Filtre de blocage IR: Améliore la précision des couleurs dans diverses conditions d'éclairage.
- DIRIGÉ: LED blanche intégrée pour un éclairage cohérent (facultatif à utiliser).
Étape 2: Câblage du TCS34725 à l'Arduino
Le TCS34725 communique avec l'Arduino via le protocole I2C.
Relations
Épingle à capteur | Épingle arduino |
---|---|
Vin | 5V |
GND | GND |
SDA | A4 |
SCL | A5 |
Note: Pour les planches Arduino avec des broches SDA et SCL dédiées (par exemple, Mega), connectez les broches SDA / SCL du capteur à celles à la place.
Étape 3: Installation de la bibliothèque requise
Pour utiliser le capteur TCS34725, vous avez besoin de la bibliothèque ADAFruit TCS34725.
Étapes pour installer la bibliothèque
- Ouvrez l'ide Arduino.
- Aller à Sketch> Inclure la bibliothèque> Gérer les bibliothèques.
- Recherchez "Adafruit TCS34725".
- Faire un clic Installer.
Étape 4: Téléchargement d'exemple de code
Voici un exemple de base pour lire et afficher les valeurs de couleur du capteur TCS34725.
Exemple de code
#include <Wire.h>
#include "Adafruit_TCS34725.h"
// Create an instance of the sensor
Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_700MS, TCS34725_GAIN_1X);
void setup() {
Serial.begin(9600);
if (!tcs.begin()) {
Serial.println("TCS34725 not found. Check your wiring or I2C address.");
while (1); // Halt execution if sensor not found
}
Serial.println("TCS34725 is ready!");
}
void loop() {
uint16_t r, g, b, c;
float lux, colorTemp;
// Get the raw data from the sensor
tcs.getRawData(&r, &g, &b, &c);
// Calculate color temperature and lux
colorTemp = tcs.calculateColorTemperature_dn40(r, g, b, c);
lux = tcs.calculateLux(r, g, b);
// Print the results
Serial.print("Red: "); Serial.print(r); Serial.print(" \t");
Serial.print("Green: "); Serial.print(g); Serial.print(" \t");
Serial.print("Blue: "); Serial.print(b); Serial.print(" \t");
Serial.print("Clear: "); Serial.print(c); Serial.print(" \t");
Serial.print("Color Temp: "); Serial.print(colorTemp); Serial.print(" K \t");
Serial.print("Lux: "); Serial.println(lux);
delay(1000); // Update every second
}
Étape 5: Utilisation des données
1. Détection des couleurs
Vous pouvez cartographier les valeurs RVB pour identifier des couleurs spécifiques. Par exemple:
if (r > g && r > b) {
Serial.println("Red Detected");
} else if (g > r && g > b) {
Serial.println("Green Detected");
} else if (b > r && b > g) {
Serial.println("Blue Detected");
}
2. Déclencher des actions basées sur la couleur
Utilisez des couleurs détectées pour contrôler les LED ou les moteurs. Par exemple:
if (r > g && r > b) {
digitalWrite(ledPin, HIGH); // Turn on red LED
}
3. Réglage du capteur
Modifiez le gain et le temps d'intégration du capteur pour différentes conditions d'éclairage:
- Temps d'intégration: Détermine la durée de la mesure de la lumière. Options: 2,4 ms à 700 ms.
- Gagner: Amplifie le signal. Options: 1x, 4x, 16x, 60x.
Exemple:
tcs.setIntegrationTime(TCS34725_INTEGRATIONTIME_154MS);
tcs.setGain(TCS34725_GAIN_4X);
Meilleures pratiques
- Éclairage cohérent: Utilisez la LED intégrée du capteur ou assurez-vous des conditions d'éclairage stables.
- Calibrer pour la précision: Ajustez le gain et le temps d'intégration pour les lectures optimales.
- Bruit de filtre: Utilisez des fils courts et une mise à la terre appropriée pour minimiser le bruit électrique.
Dépannage
-
Capteur non détecté:
- Vérifiez les connexions SDA et SCL.
- Vérifiez l'adresse I2C (par défaut: 0x29).
-
Lectures inexactes:
- Assurez-vous un éclairage approprié et évitez les ombres.
- Ajustez le gain et le temps d'intégration.
-
Valeurs fluctuantes:
- Ajouter un condensateur à travers l'alimentation électrique pour stabiliser le capteur.
Applications du capteur TCS34725
- Tri des couleurs en robotique
- Détection de lumière ambiante
- Étalonnage des couleurs en photographie
- Contrôle LED RVB
- Systèmes d'éclairage automatisé
Conclusion
Le TCS34725 est un capteur de couleurs puissant et facile à utiliser pour les projets Arduino. En suivant ce guide, vous pouvez intégrer le capteur dans vos conceptions, permettant la détection des couleurs, la mesure de la lumière ambiante, etc. Expérimentez avec différentes configurations pour explorer le plein potentiel de ce module polyvalent!