[Tapez un texte]
Sommaire
Remerciement
Dédicace
Sommaire
Liste des figures
Introduction générale
a) Partie Théorique {I}
Sommaire
I. 1 Aperçu sur le projet :.....................................................................................................................10
I.2 la partie matérielle :........................................................................................................................11
2.1 Le capteur :.................................................................................................................................11
2.1.1 Définition d’un capteur........................................................................................................11
I.2.1.2 types de capteur :..............................................................................................................12
2.2 Différent capteur de couleur :....................................................................................................14
2.3 L’Arduino :..................................................................................................................................18
7
[Tapez un texte]
2.3.2 Les différentes cartes Arduino :...........................................................................................20
2.3.3 Arduino Uno :......................................................................................................................23
2.3.4 De quoi est composé l’Arduino Uno ?.................................................................................24
2.3.5 ARDUINO IDE :.....................................................................................................................27
2.4 Le servomoteur :........................................................................................................................31
2.4.1 Les types de servomoteur :..................................................................................................32
II.1 Machine de triage des couleurs :....................................................................................................38
II.2 Composants requis:....................................................................................................................39
CONCLULISON......................................................................................................................................58
8
[Tapez un texte]
9
[Tapez un texte]
INTRODUCTION GENERAL
Dans notre formation, le stage est très important car il donne à
L’étudiant l’occasion de passer de la théorie vers la pratique et de
vivre dans un milieu purement professionnel ce qui est très
bénéfique.
La détection des couleurs est une problématique importante dans
un large éventail de zones industrielles. Par exemple Poudres,
granulés ou liquides ainsi que métaux, verre, types de papier,
matières plastiques et toutes sortes de textiles Sont vérifiés et
détectés selon des caractéristiques de couleur significatives.
L’étude de cette machine de triage par couleur est notre sujet
pour cette soutenance.
10
[Tapez un texte]
Partie
théorique
11
[Tapez un texte]
I. 1 Aperçu sur le projet :
Différents modèles mécanique sont possible pour un trieur de
bonbons comme ci-dessous :
12
[Tapez un texte]
Figure (1.1) : Quelques modèles de prototype de la machine
de triage par couleur à l'aide de bonbons.
I.2 la partie matérielle :
Dans la réalisation sur le plan réel, dans une entreprise ou dans
une usine on utilise les composants suivants :
Figure (2.1) :
2.1 Le capteur :
2.1.1 Définition d’un capteur
Un capteur est un appareil qui détecte un phénomène (lumière,
chaleur, contact, mouvement…).
Il permet de convertir une grandeur physique a un signal
électrique.
13
[Tapez un texte]
Ceci permettra un traitement du signal électrique par des
structures électroniques afin de mesures et/ou de commande.
On caractérise un capteur par sa sensibilités, précision, l’étendu
da ses mesures et aussi par sa rapidité.
I.2.1.2 types de capteur :
I.2.1.2.1 Capteurs logiques :
ils peuvent interpréter que 2 valeurs : oui/non, absences ou
présences du phénomène. Ces capteur sont aussi appeler T.O.R
tout ou rien par exemple :
Capteur de contact : Le capteur mécanique qui est un
détecteur à contact et permet d'interrompre ou d'établir un contact
électrique par l'action mécanique sur la partie mobile du capteur.
Le capteur inductif (à effet hall). Plusieurs types de capteurs
peuvent cohabiter étant donnés qu'ils reposent tous sur un
phénomène magnétique.
Figure (2.1.2) : Capteur de contact
14
[Tapez un texte]
Capteur d’infra rouge : à l'intérieur d'un détecteur de
mouvements, le capteur infrarouge mesure le rayonnement
ambiant de la zone qu'il couvre. Tout corps humain en
mouvement qui entre dans le champ de vision provoque une
variation de ce rayonnement qui déclenche à son tour le système
d'alarme.
Figure (2.1.3) : Capteur d’infra rouge
I.2.1.2.2 Capteurs analogiques :
ils peuvent prendre une infinité de valeur en continue, par
exemple :
Capteur de température : Les sondes de température sont
des dispositifs permettant de transformer l’effet du réchauffement
ou du refroidissement sur leurs composants en signal électrique.
Jusqu'à l'invention du thermoscope de Galilée, les hommes
étaient incapables de mesurer la
15
[Tapez un texte]
Figure (2.1.4) : Capteur de température
Capteur de luminosité : Système qui permet l'allumage
automatique des phares en fonction du niveau de luminosité
extérieur.
FIGURE(2.1.5) : Capteur de luminosité
2.2 Différent capteur de couleur :
Capteur de couleur Grove 101020041 :
Ce module de capteur de couleur compatible Grove permet de
détecter la couleur d’une source lumineuse ou d’un objet. Il est
basé sur le capteur tcs3411cs et communique via un port I2C.
16
[Tapez un texte]
Le capteur est composé de 16 photodiodes avec différents filtres
(4 rouges, 4verts, 4 bleus, 4 sans filtre).
FIGURE (2.2.1) : Capteur de couleur Grove
Capteur de couleur RGB :
Ce capteur RGB KPS-5130PD7C consiste en 3
photodiodes silicium sensible chacune a une couleur
(rouge, vert et bleu).il est utilisé pour les balances de
couleurs, pour les corrections de couleur des afficheurs, le
contrôle d’impression…
17
[Tapez un texte]
Figure (2.2.2) : Capteur de couleur RGB
Capteur de couleur tcs320 :
Le tcs230 détecté la lumière des couleurs a l’aide d’une série de
photodiodes 8x8. Ensuite, en utilisant un convertisseur courant-
fréquence, les lectures des photodiodes sans converties en une
onde carrée avec une fréquence directement proportionnelle à
l’intensité de la lumière. Enfin, en utilisant le tableau Arduino,
nous pouvons lire la sortie de l’onde carrée et obtenir le résultat
pour la couleur, comme indiquer sur la figure ci-dessous: dessous
18
[Tapez un texte]
Figure (2.2.3) : Schéma bloc fonctionnel du TCS23O
19
[Tapez un texte]
20
[Tapez un texte]
Le convertisseur de lumière à fréquence lit un réseau de
photodiodes 8 x 8. 16 photodiodes ont des filtres bleus,
16photodiodes ont des filtres verts, 16 photodiodes ont des filtres
rouges et 16 photodiodes sont claires sans filtres .Les entrées du
périphérique peuvent être choisies de sorte que le capteur
détecte l'une de ces couleurs et, en réponse, le périphérique émet
une onde carrée (50% du rapport cyclique) avec une fréquence
directement proportionnelle à l'intensité lumineuse de la couleur
choisie.
Figure (2.2.4) : capteur de couleur tcs230
2.3 L’Arduino :
2.3.1 Définition : Arduino est une marque qui couvre des
cartes matériellement libres sur lesquelles se trouve un
21
[Tapez un texte]
microcontrôleur. Le microcontrôleur peut être programmé pour
analyser et produire des signaux électriques, de manière à
effectuer des tâches très diverses comme la domotique (le
contrôle des appareils domestiques, éclairage, chauffage, le
pilotage d'un robot, de l'informatique embarquée,…).
Pourquoi utilisons-nous Arduino ?
En plus de gagner du temps et d'accélérer le processus,
Arduino a résolu de nombreuses crises ; En utilisant son panneau
de commande simple, sans complications techniques, vous
pouvez tout faire simplement.
C'est aussi un miracle humain qui allie efficacité et précision
à simplicité et facilité, et qui convient à tous, quelle que soient
leur rapport à la technologie ou leur connaissance préalable de la
programmation ou des langages de programmation. C'est aussi un
outil puissant qui peut être utilisé dans presque tous les
domaines, de la recherche scientifique à l'industrie du
divertissement, et ce n'est pas tout, mais il y a plusieurs raisons
qui feront de l'Arduino la plupart du temps votre premier choix.
22
[Tapez un texte]
2.3.2 Les différentes cartes Arduino :
Arduino n'est pas en soi un type spécifique de carte ou de
microcontrôleur. Au lieu de cela, l'Arduino cartographie une famille
entière. Choisir la bonne option pour votre projet n'est pas une tâche
facile et il vaut la peine de réfléchir à celle à utiliser. Nous explorerons 5
types différents de cartes Arduino et leurs utilisations.
Arduino Nano
L’Arduino Nano est essentiellement un Arduino UNO réduit, ce
qui le rend très pratique pour les espaces restreints et les projets
pouvant nécessiter une réduction de poids chaque fois que cela
est possible, comme le modélisme ou des projets DIY portable.
FIGURE (2.3.2) : ARDUINO NANO
23
[Tapez un texte]
Arduino Due
L’Arduino Due est l’une des cartes les plus grandes et la
première carte Arduino à être alimentée par un processeur ARM.
Alors que l’UNO et Nano fonctionnent à 5V, la DUO fonctionne
en 3,3V – il est important de le noter, car une surtension
endommagerait irrémédiablement la carte.
FIGURE (2.3.3) ARDUINO DUE
Arduino Méga 2560
L’Arduino Méga est un peu similaire au Due en ce sens qu’il
dispose également de 54 E / S. Cependant, au lieu d’être alimenté
par un cœur ARM, il utilise plutôt un ATmega2560.
24
[Tapez un texte]
FIGURE (2.3.4): ARDUINO Mega
Arduino Leonardo
La carte Arduino LEONARDO est basée sur un ATMega32u4
cadencé à 16 MHz permettant la gestion du port USB par un
seul processeur. Des connecteurs situés sur les bords extérieurs
du circuit imprimé permettent d’enficher une série de modules
complémentaires.
25
[Tapez un texte]
FIGURE (2.3.5) : ARDUINO LEONARDO
2.3.3 Arduino Uno :
Arduino est une plate-forme open source utilisée pour la
construction de projets électroniques (allant de projets simples
comme un thermomètre à des projets complexes comme des
robots et des imprimantes 3D (l'objectif principal de la création
de la plate-forme Arduino est de fournir une plate-forme facile à
utiliser pour aider les personnes avec pas de contexte) La plate-
forme Arduino se compose de deux parties principales : la partie
matérielle et la partie logicielle La partie matérielle est la carte
Arduino et ses éléments électroniques associés et autres
composants matériels, tandis que la partie logicielle est
constituée de l'environnement de développement Arduino
(Arduino IDE) , qui représente l'environnement d'incubation Pour
écrire le code du programme dans le langage Arduino et le
télécharger sur les cartes Arduino pour contrôler la partition
matérielle. De plus, l'IDE Arduino utilise une version simplifiée
de C et C++, ce qui facilite l'apprentissage de la programmation.
26
[Tapez un texte]
Figure (2.3.6) : Arduino Uno
27
[Tapez un texte]
2.3.4 De quoi est composé l’Arduino Uno ?
Le bouton de réinitialisation : est la touche/le bouton
Responsable de la réinitialisation, c'est-à-dire du redémarrage du
programme installé sur la carte Arduino.
La connexion USB : est utilisée pour connecter
l'Arduino à l'ordinateur et y télécharger le code logiciel.
Elle est également utilisée comme source d'alimentation de
l'ordinateur à la carte Arduino.
Les LED TX et RX : sont des LED utilisées comme
indicateur pendant le processus de réception ou d'envoi de
données vers et depuis l'Arduino.
Régulateur de tension : Un régulateur de tension
chargé de fournir et de réguler la tension de l'Arduino.
La connexion d'alimentation DC : est le port
responsable de la connexion de la carte Arduino aux
sources d'alimentation.
28
[Tapez un texte]
AREF : Utilisé en mode de référence analogique et utilisé
pour définir une tension de référence externe.
Ground PINs : La borne de tension négative sur la carte
Arduino est appelée masse. La carte Arduino possède 3
bornes de masse.
Digital Input/Output : numérique Ces bornes sont des
ports numériques ; Il est utilisé dans le cas de l'insertion ou
de la sortie d'un signal numérique vers et depuis la carte
Arduino. Il y a 14 broches numérotées
(0,1,2,3,4,5,6,7,8,9,10,11,12).
PWM : Ce sont des broches que vous pouvez utiliser pour
produire un signal analogique. Vous trouverez ces bornes
marquées sur la carte Arduino avec ce symbole (~) dessiné
devant elles.
La LED d'alimentation : est utilisée comme
indicateur pour montrer que la carte Arduino fonctionne.
Microcontrôleur : Le microcontrôleur ou le
microcontrôleur Mastermind, comme nous l'avons
29
[Tapez un texte]
mentionné, et dans la carte Arduino Uno, vous le trouverez
du type ATmega328.
Entrée analogique : Ce sont des ports qui sont utilisés
pour entrer un signal analogique dans l'Arduino.
PIN 3.3V : Il s'agit d'un terminal qui fournit une tension
de 3.3v et est utilisé dans certains projets nécessitant 3.3V.
BROCHE 5V : Il s'agit d'une broche qui fournit une
source de tension 5v dont vous aurez besoin dans les
projets de conception. Il deviendra clair pour vous son
importance à travers votre conception.
30
[Tapez un texte]
Figure (2.3.7) : Composants de la carte Arduino Uno.
2.3.5 ARDUINO IDE :
L'Arduino est conçu avec son propre logiciel, l'Arduino IDE. Vous
pouvez l'obtenir et l'installer depuis son site Web arduino.cc. Il est
accessible à tous sans aucun frais. L'environnement de développement
Arduino contient un éditeur de texte pour écrire du code, une zone de
31
[Tapez un texte]
message, une barre de boutons de commande et une série de menus,
qui sont connectés à l'appareil Arduino pour télécharger le programme
et communiquer entre le programme et l'appareil (carte Arduino).
Lorsque vous ouvrez le programme Arduino IDE, vous le trouverez
comme suit, et il est divisé en 6 sections :
1. Toolbar
2. Menus
3. Code editor
4. Status bar
5. Program notification
6. Board & serial port selections
32
[Tapez un texte]
barre d’outils (Toolbar) :
La barre d'outils est l'une des sections les plus importantes du programme
Arduino IDE car elle contient les outils que vous utiliserez en permanence
lors de la programmation de la carte Arduino, qui sont :
Verify : Ce bouton est utilisé pour revoir le code et s'assurer qu'il est exempt
d'erreurs.
Upload : Ce bouton est utilisé pour uploader le code sur la carte Arduino.
New : ce bouton est utilisé pour créer un nouveau projet ou une nouvelle
esquisse. (Sketch : est le fichier de code)
33
[Tapez un texte]
Ouvrir : cette option est utilisée si vous souhaitez ouvrir Sketch à partir d'un
carnet de croquis.
Enregistrer : enregistrez l'esquisse actuelle dans Sketchbook.
Serial Monitor : Affiche les données envoyées par l'Arduino.
menus :
Ce sont les menus principaux du programme, et ce sont 5
menus (file, edit, sketch, tools helps). Il est utilisé pour
ajouter ou modifier le code que vous écrivez.
Éditeur de code :
34
[Tapez un texte]
L'éditeur de code est l'espace blanc du programme, où
les codes sont écrits et modifiés.
barre d'état (Status bar) :
La barre d'état est une zone que vous trouverez sous
l'éditeur de code. La clarification est apportée par l'état
d'achèvement des opérations que vous effectuez (telles
que la compilation, le téléchargement, etc.).
Notifications de programme :
Le programme vous montre les erreurs de code et
certains problèmes que vous pourriez rencontrer pendant
le processus de programmation. Il vous indique le type
d'erreur ou de problème qui s'est produit et sa cause. Il
vous fournit certaines instructions que vous devez suivre
pour résoudre l'erreur ou le problème.
sélections de cartes et de ports série :
35
[Tapez un texte]
La sixième et dernière section est Board & Serial Port
Sélections, qui est une zone à travers laquelle le
programme vous montre le type de port utilisé pour
connecter l'Arduino à l'ordinateur et le type de carte
Arduino.
2.4 Le servomoteur :
Servomoteur est un type de moteur particulier. Sa fonction
principale consiste à assurer la production d’un mouvement afin
de répondre à une commande externe, il désigne simultanément
un système asservi et un actionneur utilisé pour le déclenchement
d’une action. Il embarque dans le même boîtier l’électronique et
la mécanique. Un servomoteur est capable de maintenir une
position prédéterminée dans les instructions.
36
[Tapez un texte]
Figure (2.4.1) : Servomoteurs
2.4.1 Les types de servomoteur :
Généralement, il existe deux types principaux de ce moteur en
fonction de l'alimentation utilisée pour sa fonction. Ce sont des
servomoteurs à courant alternatif et des servomoteurs à courant
continu
1) Servomoteurs à courant continu : Généralement, le
servomoteur à courant continu comprend une source de courant
continu séparément dans le champ de l'enroulement d'induit. Le
moteur peut être commandé en gérant le courant d'excitation ou le
courant d'induit. Le contrôle de l'induit et le contrôle du champ
37
[Tapez un texte]
présentent tous deux des avantages. Ce moteur offre une réponse
rapide et précise aux signaux de commande de début ou de fin en
raison de la petite réactance inductive de l'induit. Ils sont utilisés
dans plusieurs appareils et équipements à commande
numérique.et il contient lui aussi des types comme :
Les servomoteurs de série : Les servomoteurs de la série
incluent un couple de démarrage élevé et consomment un courant
énorme. La régulation de la vitesse de ce moteur est très
inférieure. Le retournement peut être obtenu en inversant la
polarité de la tension de champ à l'aide d'un enroulement de
champ en série divisé.
Les servomoteurs en série devisée : Un moteur en série divisée
peut fonctionner comme un moteur commandé par champ
alimenté individuellement. L'induit du moteur fournit une
alimentation en courant stable. Ce moteur a une courbe commune
avec la vitesse de couple. Cela spécifie un couple de décrochage
élevé et une baisse rapide du couple en amplifiant la vitesse.
Moteur de contrôle shunt : Le moteur de commande shunt
comprend deux enroulements tels que des enroulements de champ
et des enroulements d'induit. Les enroulements de champ sont
38
[Tapez un texte]
situés sur le stator tandis que les enroulements d'induit sont situés
sur le rotor de la machine. Dans un moteur shunt à courant
continu, les deux enroulements se connectent en parallèle sur la
source de courant continu.
Moteur shunt à aimant permanent : C'est un moteur à
excitation permanente partout où un aimant stable fournit le
champ. Les performances du moteur sont identiques à celles du
moteur à champ permanent contrôlé par armature.
Ainsi, il s'agit de types de servomoteurs. Ce moteur est une
division du servomécanisme. Généralement, ils se couplent avec
un certain type d'encodeur pour fournir un positionnement, un
retour de vitesse ainsi qu'un appareil de correction de défaut qui
active le signal d'alimentation.
39
[Tapez un texte]
Figure (2.4.2) : Servomoteurs à courant continue
2) Servomoteur à courant alternatif : Un servomoteur à
courant alternatif comprend un codeur. Le contrôleur utilise ce
codeur pour donner le retour ainsi que le contrôle en boucle
fermée. Pour obtenir plus de couple, ces moteurs ont des
conceptions supérieures. La plupart du temps, un servomoteur à
courant alternatif est utilisé dans la robotique, l'automatisation, les
équipements CNC et bien d'autres applications. Et luis aussi il a 3
types :
40
[Tapez un texte]
Servomoteur de rotation de position : Dans le moteur à rotation
positionnelle, la sortie de l'arbre dans le moteur tourne à 180
degrés. Ce type de moteur comprend principalement des butées
physiques qui se placent dans le mécanisme d'engrenage pour
empêcher la rotation à l'extérieur afin de protéger le capteur de
rotation. Le servomoteur à rotation positionnelle est utilisé dans
les robots, les avions, les jouets, les voitures contrôlées et bien
d'autres applications.
Servomoteur à rotation continue : Le servomoteur à rotation
continue est assez lié au servomoteur à rotation de position
commune. Mais cela peut aller dans n'importe quelle direction
indéfiniment. Le signal de commande, plutôt que de régler la
position statique du servo, est compris comme la vitesse et le sens
de rotation. La gamme de commandes potentielles permet au
servo de tourner dans le sens des aiguilles d'une montre ou dans le
sens inverse des aiguilles d'une montre. De plus, cela changera la
vitesse, en fonction du signal de commande. Ce type de moteur
est utilisé dans une antenne radar si vous en conduisez un sur un
robot ou vous pouvez en utiliser un comme moteur
d'entraînement sur un robot mobile.
41
[Tapez un texte]
Servomoteur linéaire : Le servomoteur linéaire est similaire au
servomoteur à rotation de position. Il a des engrenages
supplémentaires et avec des engrenages supplémentaires, il
modifie l'o/p de circulaire à va-et-vient. Ces servomoteurs ne sont
pas simples à trouver, mais parfois vous pouvez les trouver dans
les magasins de bricolage où ils sont utilisés comme actionneurs
dans des modèles d'avions plus élevés.
Figure(2.4.3) : Servomoteur à courant alternatif
42
[Tapez un texte]
partie
pratique
43
II.1 Machine de triage des couleurs :
Comme son nom l'indique, le tri des couleurs consiste
simplement à trier les choses en fonction de leur couleur. Cela
peut être facilement fait en le voyant, mais lorsqu'il y a trop de
choses à trier et que c'est une tâche répétitive, les machines de tri
automatique des couleurs sont très utiles. Ces machines ont un
capteur de couleur pour détecter la couleur de tous les objets et
après avoir détecté le servomoteur de couleur, saisissez la chose
et placez-la dans la boîte respective. Ils peuvent être utilisés dans
différents domaines d'application où l'identification des couleurs,
la distinction des couleurs et le tri des couleurs sont importants.
Certains des domaines d'application comprennent l'industrie
agricole (tri des grains sur la base de la couleur), l'industrie
alimentaire, l'industrie du diamant et de l'exploitation minière, le
recyclage, etc. Les applications ne se limitent pas à cela et
peuvent être appliquées à différentes industries.
Le capteur le plus courant pour la détection des couleurs est le
capteur de couleur TCS230. Auparavant, nous utilisions le
capteur TCS230 avec l'Arduino pour obtenir un composant RVB
(rouge, vert, bleu) de n'importe quelle couleur. Ici, dans ce
tutoriel, nous allons créer un trieur de couleurs à l'aide d'un
capteur de couleur TCS230, de servomoteurs et d'une carte
Arduino.
[Tapez un texte]
Ce didacticiel consistera à trier les bonbons et à les conserver
dans la boîte de couleur appropriée. La boîte sera dans une
position fixe et un servomoteur sera utilisé pour déplacer la main
de tri afin de maintenir les bonbons dans la boîte appropriée.
II.2 Composants requis:
1. Arduino UNO.
2. TCS230 Color Sensor.
3. 2X Servo Motors SG90.
4. Jumpers wires.
45
[Tapez un texte]
- 8x male – male. - 7x male – female.
5. Bread board.
6. planche de bois fine et plate.
Comment fabriquer le châssis pour le robot de tri des
couleurs ?
1. Nous prenons le papier de conception qui contient les dimensions
de la structure et préparons également une planche de bois plate
46
[Tapez un texte]
47
[Tapez un texte]
2.Desing
48
[Tapez un texte]
49
[Tapez un texte]
50
[Tapez un texte]
3. Nous installons le papier design sur la planche de bois et le
découpons selon les formes.
4. Une fois toutes les pièces prêtes, j'ai commencé à les
assembler. Dans un premier temps, j'ai assemblé les parties
extérieures à l'aide d'un pistolet à colle.
51
[Tapez un texte]
5. Ensuite, à l'aide de colle, j'ai collé deux servomoteurs sur leurs
supports et les ai attachés à l'ensemble.
Encore une fois, en utilisant de la colle, j'ai fixé le rail de guidage
sur le servomoteur inférieur ainsi que le support et la plate-forme
nécessaires au servomoteur supérieur.
6. Ensuite on met un chemin pour faire passer le bonbon sur les
deux pièces, ainsi que la pièce qui déplace le bonbon sur le
servomoteur supérieur.
52
[Tapez un texte]
7. Ensuite, nous plaçons le capteur de couleur TCS230 au troisième
étage et à côté nous plaçons la carte d'essai.
53
[Tapez un texte]
8. Ensuite, nous connectons toutes les pièces électroniques avec
la carte d'essai et de celle-ci à la carte arduino.
9.J'ai connecté les composants ensemble selon les schémas de
circuit suivants :
54
[Tapez un texte]
-connexions filaires :
Capteur de couleur: Top servo : Bottom servo
S0= 2 Marron= GND Marron= GND
S1= 3 Rouge= 5v Rouge= 5v
S2= 4 Jaune= 9 Jaune=10
S3=
OUT= 6
VCC= 5v
GND= GND
55
[Tapez un texte]
Programmation Arduino Uno pour trier des bonbons
colorés :
La programmation d'Arduino UNO est assez simple et nécessite
une logique simple pour simplifier les étapes impliquées dans le
tri des couleurs. Étant donné que le servomoteur est utilisé, la
bibliothèque d'asservissement est une partie essentielle du
programme. Ici, nous utilisons deux servomoteurs. Le premier
servo déplacera le bonbon coloré de la position initiale à la
position du détecteur TCS230, puis se déplacera vers la position
de tri où le bonbon sera déposé. Après être passé en position de
tri , le second servo fera tomber le bonbon à l'aide de son bras
jusqu'à la boite parfaite.
1) La première étape consistera à inclure toutes les bibliothèques
et à définir les variables d'asservissement.
#include <Servo.h>
56
[Tapez un texte]
Servo topServo;
Servo bottomServo;
2) Le capteur de couleur TCS230 peut fonctionner sans
bibliothèque car il suffit de lire la fréquence de la broche du
capteur pour décider de la couleur. Il suffit donc de définir les
numéros de broches du TCS230.
#define S0 2
#define S1 3
#define S2 4
#define S3 5
#define sensorOut 6
int frequency = 0;
int color = 0;
57
[Tapez un texte]
3) nous faisons les broches sélectionnées comme sortie car cela
rendra la photodiode couleur haute ou basse et prendra la
broche de sortie du TCS230 comme entrée. La broche OUT
fournira la fréquence. nous sélectionnons initialement la mise
à l'échelle de la fréquence à 20%.
pinMode(S0, OUTPUT);
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);
pinMode(sensorOut, INPUT);
digitalWrite(S0, HIGH);
58
[Tapez un texte]
digitalWrite(S1, LOW);
4) Les servomoteurs sont connectés aux broches 9 et 10
d'Arduino. Le servo de ramassage qui ramassera le bonbon de
couleur est connecté à la broche 9 et le servo de chute qui
laissera tomber le bonbon en fonction de la couleur est
connecté à la broche 10.
topServo.attach(9);
bottomServo.attach(10);
5) Initialement, le servomoteur de sélection est réglé dans la
position initiale qui, dans ce cas, est de 83 degrés. Le moteur
se déplace après un certain délai vers la région du détecteur et
attend la détection.
topServo.write(83);
59
[Tapez un texte]
delay(500);
for (int i = 83; i >= 43; i--) {
topServo.write(i);
delay(2);
delay(2000);
6) Le capteur TCS 230 lit la couleur et donne la fréquence du
Out Pin.
color = readColor();
delay(10);
7) En fonction de la couleur détectée, le servomoteur de chute se
déplace avec un angle particulier et laisse tomber la boule de
couleur dans sa boîte respective.
switch (color) {
60
[Tapez un texte]
case 1:
bottomServo.write(30);
break;
case 2:
bottomServo.write(80);
break;
case 3:
bottomServo.write(150);
break;
case 0:
break;
delay(300);
8) Le servomoteur revient à la position initiale pour le prochain
bonbon à cueillir.
61
[Tapez un texte]
for(int i = 43; i >= 0; i--) {
topServo.write(i);
delay(2);
delay(1000);
for(int i = 0; i <= 83; i++) {
topServo.write(i);
delay(2);
9) La fonction detectColor() est utilisée pour mesurer la
fréquence et compare la fréquence de couleur pour tirer la
conclusion de la couleur. Le résultat est imprimé sur le
moniteur série. Ensuite, il renvoie la valeur de couleur pour
les cas de déplacement de l'angle du servomoteur de chute.
62
[Tapez un texte]
int readColor () {
10)Photodiode :
A) L'écriture sur S2 et S3 (LOW, LOW) active les photodiodes
rouges pour prendre les mesures de densité de couleur rouge.
digitalWrite(S2, LOW);
digitalWrite(S3, LOW);
frequency = pulseIn(sensorOut, LOW);
int R = frequency;
Serial.print("R= ");
Serial.print(frequency);
Serial.print(" ");
63
[Tapez un texte]
delay(50);
B) L'écriture sur S2 et S3 (LOW, HIGH) active les photodiodes
bleues pour prendre les mesures de densité de couleur bleue.
digitalWrite(S2, LOW);
digitalWrite(S3, HIGH);
frequency = pulseIn(sensorOut, LOW);
int B = frequency;
Serial.print("B= ");
Serial.print(frequency);
Serial.println(" ");
delay(50);
C) L'écriture sur S2 et S3 (HIGH, HIGH) active les photodiodes
vertes pour prendre les mesures de densité de couleur verte.
digitalWrite(S2, HIGH);
digitalWrite(S3, HIGH);
64
[Tapez un texte]
frequency = pulseIn(sensorOut, LOW);
int G = frequency;
Serial.print("G= ");
Serial.print(frequency);
Serial.print(" ");
delay(50);
10) Ensuite, les valeurs sont comparées pour prendre la
décision de couleur. Les lectures sont différentes pour
différentes configurations expérimentales car la distance de
détection varie pour tout le monde lors de la configuration.
if(R<60 & R>52 & G>92 & G<100){
color = 1; // Red
if(G<90 & G>85 & R<65 & R>55){
color = 2; // Green
65
[Tapez un texte]
if (B<85 & B>75 & G>80 & G<90){
color = 3; // Blue
return color;
Ceci termine la machine de tri des couleurs utilisant TCS230
et Arduino UNO. Vous pouvez également le programmer
pour détecter plus de couleurs si nécessaire.
66
[Tapez un texte]
CONCLULISON
Ce stage a été une expérience professionnelle très enrichissante
que ce soit d'un point de vue approfondissement de nos
connaissances, que du point devue relationnel et découverte d'un
nouvel environnement de travail.
Le stage reste très utile pour l’étudiant, il facilite la tâche
après d’obtenir le diplôme il permet aussi d’entamer le travail
dans des conditions optimales et réussir à faire entre la théorique
et la pratique.
67