- Capteur de couleur TCS3200:
- Composants requis:
- Schéma de circuit et connexions:
- Explication de travail:
Dans ce projet, nous allons détecter les couleurs à l'aide du module de capteur de couleur TCS3200 avec Raspberry Pi. Ici, nous avons utilisé le code Python pour Raspberry Pi pour détecter les couleurs à l'aide du capteur TCS3200. Pour démontrer la détection de couleur, nous avons utilisé une LED RVB, cette LED RVB brillera dans la même couleur, dont l'objet est présenté près du capteur. Actuellement, nous avons programmé Raspberry Pi pour détecter uniquement les couleurs rouge, verte et bleue. Mais vous pouvez le programmer pour détecter n'importe quelle couleur après avoir obtenu les valeurs RVB, car chaque couleur est composée de ces composants RVB. Regardez la vidéo de démonstration à la fin.
Nous avons précédemment lu et affiché les valeurs RVB des couleurs en utilisant le même TCS3200 avec Arduino. Avant d'aller plus loin, informez-vous sur le capteur de couleur TCS3200.
Capteur de couleur TCS3200:
TCS3200 est un capteur de couleur qui peut détecter n'importe quel nombre de couleurs avec une bonne programmation. TCS3200 contient des matrices RVB (rouge vert bleu). Comme le montre la figure au niveau microscopique, on peut voir les cases carrées à l'intérieur de l'œil sur le capteur. Ces boîtes carrées sont des tableaux de matrice RVB. Chacune de ces boîtes contient trois capteurs pour détecter l'intensité de la lumière rouge, verte et bleue.
Nous avons donc des tableaux rouge, bleu et vert sur la même couche. Ainsi, tout en détectant la couleur, nous ne pouvons pas détecter les trois éléments simultanément. Chacun de ces réseaux de capteurs doit être sélectionné séparément l'un après l'autre pour détecter la couleur. Le module peut être programmé pour détecter la couleur particulière et laisser les autres. Il contient des broches à cet effet de sélection, qui a été expliqué plus tard. Il existe un quatrième mode qui n'est pas un mode de filtre; sans mode de filtre, le capteur détecte la lumière blanche.
Nous connecterons ce capteur à Raspberry Pi et programmerons le Raspberry Pi pour fournir une réponse appropriée en fonction de la couleur.
Composants requis:
Ici, nous utilisons Raspberry Pi 2 Model B avec le système d'exploitation Raspbian Jessie. Toutes les exigences matérielles et logicielles de base sont décrites précédemment, vous pouvez les rechercher dans l'introduction de Raspberry Pi et le clignotement du voyant Raspberry PI pour commencer, à part ce dont nous avons besoin:
- Raspberry Pi avec OS pré-installé
- Capteur de couleur TCS3200
- Puce de compteur CD4040
- LED RVB
- Résistance 1KΩ (3 pièces)
- Condensateur 1000uF
Schéma de circuit et connexions:
Les connexions qui sont effectuées pour connecter le capteur de couleur avec Raspberry Pi sont données dans le tableau ci-dessous:
Broches de capteur |
Broches Raspberry Pi |
Vcc |
+ 3,3 V |
GND |
sol |
S0 |
+ 3,3 V |
S1 |
+ 3,3 V |
S2 |
GPIO6 de PI |
S3 |
GPIO5 de PI |
OE |
GPIO22 de PI |
EN DEHORS |
CLK de CD4040 |
Les connexions pour le compteur CD4040 avec Raspberry Pi sont données dans le tableau ci-dessous:
Broches CD4040 |
Broches Raspberry Pi |
Vcc16 |
+ 3,3 V |
Gnd8 |
gnd |
Clk10 |
OUT du capteur |
Réinitialiser11 |
GPIO26 de PI |
Q0 |
GPIO21 de PI |
Q1 |
GPIO20 de PI |
Q2 |
GPIO16 de PI |
Q3 |
GPIO12 de PI |
T4 |
GPIO25 de PI |
Q5 |
GPIO24 de PI |
Q6 |
GPIO23 de PI |
Q7 |
GPIO18 de PI |
Q8 |
Pas de connection |
Q9 |
Pas de connection |
Q10 |
Pas de connection |
Q11 |
Pas de connection |
Vous trouverez ci-dessous le schéma de circuit complet du capteur de couleur d'interfaçage avec Raspberry Pi:
Explication de travail:
Chaque couleur est composée de trois couleurs: rouge, vert et bleu (RVB). Et si nous connaissons les intensités RVB dans n'importe quelle couleur, alors nous pouvons détecter cette couleur. Nous avons déjà lu ces valeurs RVB en utilisant Arduino.
En utilisant le capteur de couleur TCS3200, nous ne pouvons pas détecter la lumière rouge, verte et bleue en même temps, nous devons donc les vérifier un par un. La couleur qui doit être détectée par le capteur de couleur est sélectionnée par deux broches S2 et S3. Avec ces deux broches, nous pouvons indiquer au capteur quelle intensité de lumière de couleur doit être mesurée.
Dites si nous devons détecter l'intensité de la couleur rouge, nous devons définir les deux broches sur BAS. Après avoir mesuré la lumière ROUGE, nous réglerons S2 LOW et S3 HIGH pour mesurer la lumière bleue. En changeant séquentiellement les logiques de S2 et S3, nous pouvons mesurer les intensités de lumière rouge, bleue et verte, selon le tableau ci-dessous:
S2 |
S3 |
Type de photodiode |
Faible |
Faible |
rouge |
Faible |
Haute |
Bleu |
Haute |
Faible |
Pas de filtre (blanc) |
Haute |
Haute |
vert |
Une fois que le capteur détecte les intensités des composants RVB, la valeur est envoyée au système de contrôle à l'intérieur du module comme indiqué dans la figure ci-dessous. L'intensité lumineuse mesurée par le tableau est envoyée au convertisseur courant-fréquence à l'intérieur du module. Le convertisseur de fréquence génère une onde carrée dont la fréquence est directement proportionnelle à la valeur envoyée par le réseau. Avec une valeur plus élevée de l'ARRAY, le convertisseur courant-fréquence génère l'onde carrée de fréquence plus élevée.
La fréquence du signal de sortie par le module de capteur de couleur peut être réglée sur quatre niveaux. Ces niveaux sont sélectionnés en utilisant S0 et S1 du module de capteur comme indiqué dans la figure ci-dessous.
S0 |
S1 |
Mise à l'échelle de la fréquence de sortie (f0) |
L |
L |
Éteindre |
L |
H |
2% |
H |
L |
20% |
H |
H |
100% |
Cette fonctionnalité est utile lorsque nous interfacons ce module avec le système avec une horloge basse. Avec Raspberry Pi, nous sélectionnerons 100%. Rappelez-vous ici, sous l'ombre, le module de capteur de couleur génère une sortie d'onde carrée dont la fréquence maximale est de 2500 Hz (mise à l'échelle à 100%) pour chaque couleur.
Bien que le module fournisse une onde carrée de sortie dont la fréquence est directement proportionnelle à l'intensité lumineuse tombant sur sa surface, il n'y a pas de moyen facile de calculer l'intensité lumineuse de chaque couleur par ce module. Cependant, nous pouvons dire si l'intensité lumineuse augmente ou diminue pour chaque couleur. Nous pouvons également calculer et comparer les valeurs Rouge, Vert, Bleu pour détecter la couleur de la lumière ou la couleur de l'objet prédéfini à la surface du module. Il s'agit donc davantage d'un module de capteur de couleur que d'un module de capteur d'intensité lumineuse.
Nous allons maintenant transmettre cette sortie d'onde carrée au Raspberry Pi mais nous ne pouvons pas la donner directement à PI, car Raspberry Pi n'a pas de compteurs internes. Nous allons donc d'abord donner cette sortie au compteur binaire CD4040 et programmer Raspberry Pi pour prendre la valeur de fréquence du compteur à des intervalles périodiques de 100 ms.
Ainsi, le PI lit une valeur de 2500/10 = 250 max pour chaque couleur ROUGE, VERT et BLEU. Nous avons également programmé Raspberry Pi pour imprimer ces valeurs représentant les intensités lumineuses à l'écran comme indiqué ci-dessous. Les valeurs sont soustraites des valeurs par défaut pour atteindre zéro. Cela est pratique pour décider de la couleur.
Ici, les valeurs par défaut sont les valeurs de RVB, qui ont été prises sans placer aucun objet devant le capteur. Cela dépend des conditions lumineuses environnantes et ces valeurs peuvent différer selon l'environnement. Fondamentalement, nous étalonnons le capteur pour des lectures standard. Alors lancez d'abord le programme sans placer d'objet et notez les lectures. Ces valeurs ne seront pas proches de zéro car il y aura toujours de la lumière tombant sur le capteur, peu importe où vous le placez. Soustrayez ensuite ces lectures avec les lectures que nous obtiendrons après avoir placé un objet à tester. De cette façon, nous pouvons obtenir des lectures standard.
Raspberry Pi est également programmé pour comparer les valeurs R, V et B afin de déterminer la couleur de l'objet placé à proximité du capteur. Ce résultat est montré par une LED RVB brillante connectée à Raspberry Pi.
Donc en bref,
1. Le module détecte la lumière réfléchie par l'objet placé près de la surface.
2. Le module de capteur de couleur fournit une onde de sortie pour R ou V ou B, choisie séquentiellement par Raspberry Pi via les broches S2 et S3.
3. Le compteur CD4040 prend l'onde et mesure la valeur de fréquence.
4. PI prend la valeur de fréquence du compteur pour chaque couleur toutes les 100 ms. Après avoir pris la valeur à chaque fois, PI réinitialise le compteur pour détecter la valeur suivante.
5. Raspberry Pi imprime ces valeurs à l'écran et compare ces valeurs pour détecter la couleur de l'objet et enfin allumer la LED RVB dans la couleur appropriée en fonction de la couleur de l'objet.
Nous avons suivi la séquence ci-dessus dans notre code Python. Le programme complet est présenté ci-dessous avec une vidéo de démonstration.
Ici, Raspberry Pi est programmé pour détecter seulement trois couleurs, vous pouvez faire correspondre les valeurs R, V et B en conséquence pour détecter plus de couleurs de votre goût.