Arduino UNO R4 - capteur de couleur TCS3200D/TCS230
Ce guide vous montrera comment utiliser l'Arduino UNO R4 et le module capteur de reconnaissance des couleurs TCS3200D/TCS230 pour calibrer et lire les valeurs RVB des objets et détecter les couleurs.
- Comment connecter le capteur de couleur TCS3200D/TCS230 à Arduino UNO R4
- Comment calibrer le capteur pour votre environnement
- Comment écrire un code pour Arduino UNO R4 afin de lire les valeurs RVB du capteur

Préparation du matériel
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables STEM V4 IoT (Arduino inclus) | |
| 1 | × | Kit de Capteurs DIYables (30 capteurs/écrans) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du capteur de couleur TCS3200D/TCS230
Le module capteur de reconnaissance de couleur TCS3200D/TCS230 utilise une matrice de photodiodes 8x8. Seize photodiodes sont équipées de filtres rouges, seize ont des filtres verts, seize ont des filtres bleus, et seize sont clairs (sans filtre). Le module convertit l'intensité lumineuse en un signal de fréquence carrée. En faisant varier les filtres de couleur et en mesurant la fréquence de sortie (ou la largeur d'impulsion), on peut estimer les valeurs RGB d'un objet.
De nombreux modules intègrent des LEDs blanches pour éclairer la cible. Cela rend les lectures plus cohérentes et aide le capteur à détecter les couleurs de manière fiable, même en faible luminosité.
Plan de brochage
Le module capteur de couleur TCS3200D/TCS230 possède généralement ces broches :
- Broche VCC : Reliez cette broche au VCC (5 V).
- Broche GND : Reliez cette broche à GND (0 V).
- Broches S0, S1 : Sélection de l'échelle de fréquence de sortie.
- Broches S2, S3 : Sélection du filtre couleur.
- Broche OUT : Sortie de fréquence sous forme d'onde carrée.
- Broche OE : Activation de la sortie (active lorsque le niveau est bas). La plupart des modules connectent déjà cette broche à la masse en interne, vous n'avez donc pas besoin de la câbler. Si ce n'est pas le cas pour le vôtre, connectez-la à la masse.

Comment cela fonctionne
Le capteur doit recevoir deux informations : quel canal de couleur mesurer et à quelle amplitude régler le signal de sortie. Deux paires de broches de commande s'en chargent :
- S0 et S1 contrôlent l'échelle de fréquence de sortie :
- S0 = BAS, S1 = BAS : mise hors tension
- S0 = BAS, S1 = HAUT : mise à l'échelle de 2 %
- S0 = HAUT, S1 = BAS : mise à l'échelle de 20 %
- S0 = HAUT, S1 = HAUT : mise à l'échelle de 100 %
- S2 et S3 sélectionnent le filtre de couleur :
- S2 = BAS, S3 = BAS : filtre rouge
- S2 = BAS, S3 = HAUT : filtre bleu
- S2 = HAUT, S3 = BAS : Aucun filtre
- S2 = HAUT, S3 = HAUT : filtre vert
La broche OUT émet une onde carrée (généralement de 2 Hz à 500 kHz). La fréquence est proportionnelle à l'intensité de la couleur sélectionnée, tandis que la largeur d'impulsion est inversement proportionnelle. Nous pouvons mesurer la largeur d'impulsion en utilisant pulseIn() puis la convertir en valeurs RVB après étalonnage.
Conseils pour des lectures stables
- Placez le capteur à 1 à 3 cm de l'objet et maintenez l'angle constant.
- Utilisez les LED blanches intégrées pour fournir un éclairage stable.
- Protégez le capteur des variations de lumière ambiante pour obtenir des résultats plus précis.
Diagramme de câblage
Cette image montre comment connecter le capteur de couleur TCS3200 à l'Arduino UNO R4 :
| TCS3200 Color Sensor | Arduino UNO R4 |
|---|---|
| VCC | 5V |
| GND | GND |
| S0 | Pin 4 |
| S1 | Pin 3 |
| S2 | Pin 6 |
| S3 | Pin 5 |
| OUT | Pin 7 |

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Code Arduino UNO R4 - Calibrage (Largeur d'impulsion)
L’étalonnage est nécessaire parce que les lectures brutes du capteur sont affectées par l’environnement. Des facteurs tels que la luminosité des LED, la distance, la réflectivité de la surface et la lumière ambiante modifient les valeurs mesurées. On peut considérer ces effets comme du « bruit ». La première étape d’étalonnage vous aide à mesurer cette plage de bruit (valeurs minimales et maximales pour chaque couleur) afin que vous puissiez convertir les lectures en valeurs RVB comprises entre 0 et 255 pour votre configuration.
Étapes rapides
Suivez ces instructions étape par étape :
- Si c'est la première fois que vous utilisez l'Arduino Uno R4 WiFi/Minima, reportez-vous au tutoriel sur Arduino UNO R4 - Installation du logiciel..
- Connectez la carte Arduino UNO R4 au capteur de couleur selon le schéma fourni.
- Connectez la carte Arduino UNO R4 à votre ordinateur à l'aide d'un câble USB.
- Lancez l'IDE Arduino sur votre ordinateur.
- Sélectionnez la carte Arduino UNO R4 appropriée (par exemple Arduino Uno R4 WiFi) et le port COM.
- Copiez le code ci-dessus et ouvrez-le dans l'IDE Arduino.
- Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code vers l'Arduino UNO R4.
- Ouvrez le Moniteur série. Vous verrez des lectures continues ainsi que les valeurs Min et Max.
- Déplacez le capteur sur différents objets : un objet blanc (comme du papier), un objet noir et éventuellement quelques objets colorés.
- Observez les lignes Min et Max se mettre à jour automatiquement pendant que le capteur suit les extrêmes.
- Lorsque les valeurs Min et Max cessent de changer (généralement après 10 à 20 secondes), ce sont vos valeurs de calibration — notez-les.
Par exemple, à partir de la sortie ci-dessus, vos valeurs de calibration seraient :
- RougeMin = 42, rougeMax = 210
- VertMin = 55, vertMax = 185
- BleuMin = 60, bleuMax = 172
Code Arduino UNO R4 - Lire les valeurs RVB
Étapes rapides
- Dans le code ci-dessus, trouvez ces lignes près du début:
- Remplacez TOUTES les six valeurs 0 par vos valeurs de calibration de l'étape précédente. Par exemple, si votre calibration vous a donné redMin = 42, redMax = 210, greenMin = 55, greenMax = 185, blueMin = 60, blueMax = 172, modifiez les lignes pour :
- Téléversez le code sur l'Arduino UNO R4.
- Placez un objet de couleur devant le capteur.
- Vérifiez le résultat sur le Moniteur série.
Les valeurs RVB sont désormais mappées sur la plage standard de 0 à 255. Des durées d'impulsion plus courtes (plus de lumière) produisent des valeurs RVB plus élevées, et des durées d'impulsion plus longues (moins de lumière) produisent des valeurs RVB plus faibles.
Applications
Maintenant que vous pouvez lire les valeurs RVB, vous pouvez réaliser des projets comme :
- Triageur de couleurs: Trier les objets par couleur (rouge, vert, bleu)
- Jeu de correspondance des couleurs: Vérifier si deux objets ont la même couleur
- Robot suiveur de ligne: Suivre des lignes colorées au sol
- Contrôle qualité: Détecter les produits défectueux par couleur
- Alarme activée par couleur: Déclencher un buzzer ou une LED lorsqu'une couleur spécifique est détectée