
ASSISTANCE PRMIUM DISPONIBLE AU +237 690861311 APPEL OU WHATSAPP
Voici un guide détaillé pour créer un système de tri par couleur avec Arduino en utilisant un capteur de couleur TCS3200 et un servomoteur.
Matériel requis :
-
Arduino Uno (ou autre modèle compatible).
-
Capteur de couleur TCS3200.
-
Servomoteur (ex. SG90 ou MG996R).
-
Châssis pour le tri des objets.
-
Objets à trier (billes, pièces, etc.).
-
Fils de connexion.
-
Alimentation Arduino (USB ou batterie).
Étape 1 : Principe de fonctionnement
-
Le capteur TCS3200 détecte la couleur d’un objet en mesurant l’intensité des composantes rouge, verte et bleue.
-
L’Arduino analyse les données du capteur et détermine la couleur dominante.
-
En fonction de la couleur détectée, le servomoteur oriente l’objet vers une zone spécifique.
Étape 2 : Connexions matérielles
Capteur TCS3200
Broche du capteur | Arduino |
---|---|
VCC | 5V |
GND | GND |
S0 | Pin 4 |
S1 | Pin 5 |
S2 | Pin 6 |
S3 | Pin 7 |
OUT | Pin 8 |
Servomoteur
Broche du servomoteur | Arduino |
---|---|
Signal | Pin 9 |
VCC | 5V |
GND | GND |
Étape 3 : Code Arduino
Voici un exemple de code pour détecter les couleurs et contrôler le servomoteur :
#include <Servo.h>Servo servo; // Création d'un objet Servo
// Définition des broches pour le capteur TCS3200#define S0 4
#define S1 5
#define S2
#define S3 7
#define sensorOut 8
void setup() {
// Initialisation des broches du capteur
pinMode(S0, OUTPUT); pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);
pinMode(sensorOut, INPUT);
// Configuration du capteur à une échelle de fréquence de 20%
digitalWrite(S0, HIGH);
digitalWrite(S1, LOW);
// Initialisation du servomoteur
servo.attach(9);
servo.write(90); // Position initiale (neutre)
Serial.begin(9600); // Pour afficher les valeurs dans le moniteur série
}void loop() {
int = readColor(LOW, LOW); // Lecture de la composante rouge
green = readColor(HIGH, HIGH); // Lecture de la composante verte
int blue = readColor(LOW, HIGH); // Lecture de la composante bleue
Serial.print("Rouge: ");
Serial.print(red);
Serial(" Vert: ");
Serial.print);
Serial.print(" Bleu: ");
Serial.println(blue);
// Détection de la couleur dominante et contrôle du servomoteur
if (red > green && red > blue) {
Serial.println("Couleur détectée : Rouge");
servo.write(45); // Oriente l'objet vers une position spécifique
} else if (green > && green > blue) {
Serial.println("Cou détectée : Vert");
servo.write(90 // Oriente l'objet vers une autre position } if (blue > red && blue > green) { Serial.println("Couleur détectée : Bleu");
servo.write(135); // Oriente l'objet vers une autre position
} else {
Serial.println("Couleur indéterminée");
servo.write(90); // Position neutre par défaut
}
delay(500); // Pause avant prochaine lecture
}
// Fonction pour lire une composante de couleur
int readColor(bool sState, bool s3State) {
digitalWrite(S2, s2State);
digitalWrite(S3, s3State);
return pulseIn(sensorOut, LOW); // Mesure la fréquence en microsecond
}
Étape 4 : Calibration
-
Placez un objet rouge devant le capteur et notez les valeurs affichées dans le moniteur série pour les composantes rouge, verte et bleue.
-
Répétez pour des objets verts et bleus.
-
Ajustez les seuils dans le code si nécessaire.
Étape 5 : Assemblage physique
-
Montez le capteur TCS3200 sur un support stable pour qu’il puisse analyser les objets.
-
Fixez le servomoteur à une structure qui oriente les objets vers différentes zones en fonction de leur couleur.
-
Créez un mécanisme pour déplacer les objets sous le capteur (par exemple, un tapis roulant ou une rampe inclinée).
Applications possibles
-
Tri automatique d’objets par couleur (billes, bonbons).
-
Tri industriel pour détecter des défauts ou classer des produits.
-
Projets éducatifs en robotique.
Avec ce système, vous pouvez trier efficacement des objets par couleur en combinant détection infrarouge et action mécanique !