•                                                                      TriColor  

           Tricolor

                                                                                                                     Vue de haut du dispositif. La boite est bien refermée à l'aide de son couvercle lors de l'utilisation.                                                            

    •                                                                 SOMMAIRE          

       1. Introduction 

        1.1. Présentation du projet

        1.2. Problématiques

      2. Objectifs du projet 

        2.1. Objectif général  

        2.2. Objectifs spécifiques

      3. Élément théoriques

        3.1. Réflexion de la lumière et perception des couleurs

        3.2. Fonctionnement de la photodiode

        3.3. Conversion courant-tension

        3.4. Mesure de la couleur par éclairage RGB

        3.5. Traitement du signal et identification des couleurs 

      4. Éléments expérimentaux

      4.1. Montage expérimental

       4.2. Matériel

       4.3.  Méthode du catalogue

         4.3.1.  Création du catalogue

         4.3.2. Recouvrement des couleurs

       4.4.  Code Arduino

      5. Résultats

      5.1. Problèmes rencontrés et solutions apportées

      5.2. Répétabilité des résultats

      5.3. Limites expérimentales du dispositif final et applications

       

    • 1.Introduction :

      1.1. Présentation du projet :

      Le projet consiste à concevoir un dispositif expérimental piloté par Arduino capable de déterminer la couleur d’un matériau opaque et uniforme par réflexion lumineuse, en utilisant une LED RGB comme source d’éclairage et une photodiode comme capteur de lumière réfléchie.

      En éclairant successivement le matériau de couleur que l'on souhaite analyser avec une lumière rouge, verte et bleue, il est possible d'observer la tension aux bords de la photodiode afin de déduire la couleur du matériau. 

      Ce projet peut avoir des applications pour créer des instruments d'assistance pour les personnes daltoniennes, pour les aider à différencier les différentes couleurs ou encore en bâtiment pour retrouver la couleur d'une peinture utilisée par exemple.

      1.2. Problématique :

      Comment concevoir un appareil, contrôlé par un microcontrôleur Arduino et utilisant des phénomènes optiques, permettant l'identification des couleurs d'un matériau type papier mat, en vue d'une application à n'importe quel matériau opaque et uniforme ?

      Cette problématique principale en révèle d'autres :

      • Comment rendre l'utilisation de l'appareil aussi facile que possible ?
      • Comment rendre l'appareil accessible à tous ( en vue d'une application hors fac par exemple ) ?
      • Dans quels domaines l'appareil s'utiliserait-il ?

       

      2. Objectifs :

      2.1. Objectif général :

      Le principe est d’éclairer successivement l’échantillon en rouge, en vert puis en bleu, puis de mesurer pour chaque couleur l’intensité lumineuse renvoyée par la surface, cette réponse dépendant des propriétés optiques du matériau. Les signaux recueillis sont ensuite traités afin d'identifier la couleur en se référant à un catalogue préalablement crée mais aussi en estimant les composantes RGB de la couleur observée. Ces deux méthodes ont été comparées dans le but de trouver la plus efficace.

      2.2. Objectifs spécifiques :

      • Concevoir un dispositif expérimental par réflexion intégrant une LED RGB, une photodiode amplifiée (résistance de 5,6 MΩ) et une boite isolée de la lumière ambiante.

      • Mesurer l’intensité lumineuse réfléchie par un matériau opaque sous trois éclairages séquentiels distincts (Rouge, Vert, Bleu) pilotés par un microcontrôleur Arduino.

      • Mettre en place un protocole d’acquisition rigoureux incluant la soustraction du bruit de fond (mesure "Dark") et le moyennage des signaux pour réduire les incertitudes expérimentales.

      • Calibrer le système optique à l'aide de surfaces de référence (étalons blanc et noir) pour normaliser la réflectance mesurée.

      • Développer un algorithme pour la méthode du catalogue basé sur le calcul de la distance euclidienne entre la mesure d'un échantillon inconnu et une base de données de 16 couleurs de référence.

      • Évaluer les limites de discrimination du capteur (ex: différenciation entre teintes proches) en analysant la dispersion et l'écart-type des mesures expérimentales.

       

      3. Éléments théoriques :

      3.1. Réflexion de la lumière et perception des couleurs :

      La couleur d'un matériau est liée à sa capacité à réfléchir certaines longueurs d'onde de la lumière visible et à en absorber d'autres. Un matériau éclairé par une source de lumière incidente va donc absorber une partie de cette lumière tandis que l'autre partie sera réfléchie.

      Dans le cas de matériaux mats, c'est une réflexion dite diffuse ou lambertienne : la lumière est réfléchie dans de nombreuses directions. Ceci permet d'obtenir une mesure indépendante de l'angle d'observation.

      Schéma de la Reflexion diffuse

      Un objet rouge va absorber majoritairement les composantes bleues et vertes de la lumière, et réfléchit principalement la composante rouge. Donc en éclairant un matériau avec différentes couleurs (rouge, bleu et vert) et en mesurant la lumière réfléchie (en mesurant la tension aux bords de la photodiode), il est possible d'obtenir des valeurs caractéristiques de chaque couleur.

      rouge

      3.2. Fonctionnement de la photodiode :

      La photodiode est un capteur optoélectronique permettant de convertir la lumière en signal électrique. Elle est constituée d’une jonction semi-conductrice PN.

      Lorsque des photons frappent la photodiode, ils créent des paires électron-trou dans le matériau. Sous l’effet du champ électrique interne (en polarisation inverse), ces charges sont séparées, ce qui génère un courant électrique proportionnel à l’intensité lumineuse reçue.

      Ainsi, plus la lumière réfléchie par le matériau est intense, plus le courant généré par la photodiode est élevé.

      3.3. Conversion courant–tension :

      Le courant généré par la photodiode est très faible, c'est pour cela que l'on converti ce courant en tension grâce a une résistance. On peut décrire cette conversion avec la loi d'Ohm: V=R.I, avec V la tension aux bornes de la résistance, R la résistance et I le courant issu de la photodiode.

      Le choix de la résistance est extrêmement important car il influence le comportement du circuit: Une grande résistance permet d'augmenter la sensibilité (tension plus élevée) cependant cela ralentit la réponse du circuit. Comme la photodiode est composé d'un condensateur interne, on retrouve un circuit RC série avec comme constante de temps τ = RC donc plus R est grand plus τ augmente.

      Ceci doit donc être pris en compte lors de la réalisation du montage.

       photodiode

      Photodiode montée en série avec une résistance de 5.6MΩ 

      3.4. Mesure de la couleur par éclairage RGB :

      On utilise une LED RGB permettant d’éclairer successivement le matériau avec trois couleurs : rouge, vert et bleu.

      Pour chaque couleur, la photodiode mesure l’intensité lumineuse réfléchie. On obtient ainsi trois valeurs correspondant aux réponses du matériau aux rouge, vert et bleu.

      Ces mesures permettent de construire une signature RGB du matériau.

      LED

                                                                                                       LED RGB montée en série avec 3 Résistances : 220Ω pour le Rouge, 150Ω pour le Vert et 130Ω pour le bleu

       3.5. Traitement du signal et identification des couleurs :

      Afin d'obtenir le meilleur résultat possible il est nécessaire de traiter le signal mesuré pour qu'il soit exploitable, il faut:

      • Retirer le Dark (mesure avec LED éteinte)
      • Comparer avec un catalogue de couleurs que l'on a établi en amont

      Cette comparaison est réalisée en calculant la distance entre la mesure obtenue et les valeurs du catalogue. La couleur identifiée correspond à celle dont la distance est minimale.

      La distance utilisée est la distance euclidienne dans l'espace RGB:

      \( \text{Distance =}\sqrt{(\mathrm{R}_{mesuré}^{}-\mathrm{R}_{catalogue}^{})^{2}+(\mathrm{V}_{mesuré}^{}-\mathrm{V}_{catalogue}^{})^{2}+(\mathrm{B}_{mesuré}^{}-\mathrm{B}_{catalogue}^{})^{2}} \) 

      4. Éléments expérimentaux :

      4.1. Montage expérimental :

      Montage expérimental d'une boite avec à l'intérieur une carte Arduino, une paroi, une photodiode et une LED RGBSchéma du montage expérimental prévu, pas à l'échelle

      Schéma du branchement électrique

      4.2. Matériel :

      • Une boîte de téléphone 
      • Une LED RGB
      • Une photodiode
      • Une carte Arduino et son connecteur
      • Deux breadboards remplacés ensuite par deux plaques auxquelles sont soudées les composants
      • Trois résistances de valeurs différentes pour les 3 couleurs de la LED RGB ( 220Ω pour R, 150Ω pour G, 130Ω pour B)
      • Une résistance de 5,6 MΩ pour la photodiode
      • Une paroi en carton 
      • Sept câbles afin d'alimenter les composants

      4.3 Méthode du catalogue

      4.3.1. Création du catalogue

      La comparaison à un catalogue nécessite la disponibilité préalable d’une base de référence. Ce dernier a donc été crée à partir de 16 feuilles de couleur opaque :

      Catalogue de couleurs utilisées pour le projet

      Catalogue des 16 couleurs utilisées

      Nous avons mesuré la tension aux bornes de la photodiode afin d'établir le catalogue suivant :

      Couleur Rouge mesuré (en bits) Vert mesuré (en bits) Bleu mesuré (en bits)
      Blanc 294,2 222,38 194,32
      Noir 76,98 73,22 59,12
      Jaune clair 291,12 217,06 151,98
      Jaune canari 292,68 188,38 94,42
      Bleu 106,68 143,9 153,16
      Orange 302,6 126,08 84,14
      Vert clair 253,76 221,1 167,78
      Bleu mat 102,08 112,2 126,32
      Rose 264,66 95,4 90,2
      Violet clair 264,16 140,8 142,54
      Vert 137,92 177,28 111,44
      Bleu clair 239,34 216,34 203,04
      Vert crayon 87,78 100,9 77,46
      Rouge 183,74 59,86 50,06
      Violet 106,18 82,24 85,5
      Carton 146,08 114,42 65,48

      Afin de s'assurer que le catalogue soit le plus précis possible, nous avons effectué 5 mesures pour chaque couleur. Étant donné que nous avons programmé le code de façon à nous renvoyer une moyenne de 10 mesures pour chaque tension affichée, nous avons donc un moyennage du catalogue sur 50 mesures par couleur. Nous avons fait ceci afin de réduire les incertitudes (d'un facteur 7).

      4.3.2. Recouvrement des couleurs :

      Afin de mieux visualiser la distance euclidienne dans l'espace RGB, nous avons choisi de représenter les valeurs de référence des couleurs du catalogue en 3D. Chaque point correspond à une mesure d'une valeur de référence. Étant donné que nous avons effectué 5 mesures pour chaque couleur, nous obtenons donc les nuages de points suivant :

      Visualisation 3D des couleurs du catalogue en fonction des tensions en nombre de bits (x = rouge, y = vert, z = bleu)

      Cette visualisation nous a notamment permis de mieux visualiser la problématique, notamment lorsque le programme Arduino décrit dans le paragraphe suivant affichait une couleur qui ne correspondait pas à celle que nous percevons visuellement. De plus, grâce à cette visualisation, nous pouvons observer qu'il y a des espaces où il n'y a aucune présence de couleurs catalogues, ce qui nous a poussé à inclure une distance euclidienne maximale autorisée dans notre code Arduino.

      4.4. Code Arduino : 

      Le programme conçu pour ce projet a pour rôle de piloter l'éclairage de la LED RGB et d'analyser le signal réfléchi capté par la photodiode. 
      Structuré en plusieurs étapes, il commence par initialiser les broches de la carte et déclarer un catalogue de référence contenant codes RGB de seize couleurs pré-enregistrées. Dans la boucle principale, le code exécute successivement des fonctions dédiées ("rouge", "vert", "bleu" et "dark") qui allument la LED correspondante, réalisent une moyenne sur dix mesures, et calculent les incertitudes expérimentales associées. Enfin, un algorithme de traitement calcule la distance euclidienne entre la couleur mesurée et celles du catalogue afin d'identifier la couleur la plus proche et d'afficher le résultat via le moniteur série. Le diagramme ci-dessous illustre le déroulement séquentiel de ces différentes opérations :  

      Organigramme

      Organigramme du code Arduino utilisé pour analyser les couleurs

      5. Résultats :

      5.1. Problèmes rencontrés et solutions apportées :

                                                                            Problème                                                                            Solution
       Photodiode saturée ou sous son seuil de détection.  Choix d'une résistance de 5,6MΩ à mettre en série avec la photodiode après plusieurs tests pour trouver la valeur de résistance la mieux adaptée
       Intensités des 3 canaux RGB non homogènes ( bleu très faible).  Passage d'une résistance commune de 220Ω à 3 résistances de valeurs différentes pour chaque canal.
       Faux contacts incessants entre les composants.  Soudure définitive des composants à des plaques fixées à la boite.
       Mauvais diagnostic de la couleur causé par le manque de référence voisine dans le catalogue.  Inclusion d'une distance limite dans le code Arduino (90 bits).

      5.2. Répétabilité des résultats :

      Afin de tester notre programme, nous avons regardé la répétabilité des résultats produits par notre dispositif. C'est-à-dire que nous avons mesuré les couleurs du catalogue et des couleurs qui ne sont pas dans le catalogue, afin de voir si les résultats expérimentaux correspondent à celles attendues (par exemple, le rouge du catalogue est censé afficher le rouge du catalogue 100% du temps alors qu'un rouge inconnu par le catalogue pourrait afficher le rouge du catalogue ou bien une autre couleur). Nous avons fait un test de répétabilité sur 10 mesures pour les couleurs du catalogue et une seule mesure afin de trouver la couleur la plus proche pour les couleurs n'étant pas dans le catalogue.

      Couleur Couleur attendue Couleur majoritairement observée Répétabilité
      Blanc Blanc Blanc 90% (confusion vert clair)
      Noir Noir Noir 100%
      Carton Carton Carton 100%
      Rouge Rouge Rouge 100%
      Violet Violet Violet 100%
      Vert clair Vert clair Aucune (distance trop élevée) 40%
      Vert Vert Vert 100%
      Bleu clair Bleu clair Bleu clair 100%
      Orange Orange Orange 100%
      Rose Rose Rose 100%
      Vert crayon Vert crayon Vert crayon 100%
      Violet clair Violet clair Violet clair 100%
      Jaune canari Jaune canari Jaune canari 100%
      Jaune clair Jaune clair Jaune clair 80%
      Bleu mat Bleu mat Bleu mat 100%
      Bleu Bleu Bleu 100%

      Tableau de répétabilité pour les couleurs du catalogue

      Couleur Couleur attendue Couleur obtenue
      Ardoise 8 Noir Noir
      Abysse 1 Noir Noir
      Acajou 8 Carton Noir
      Ambre 7 Jaune clair Vert clair
      Anthracite Noir Noir
      Brique 2 Rouge Noir
      Grenat 1 Rouge Rouge
      Corail 7 Rouge Rouge
      Dune 1 Carton Carton
      Écorce 8 Carton Noir
      Eucalyptus Vert crayon Noir
      Framboise Rose Rose
      Nénuphar 7 Vert crayon Vert crayon
      Jungle 5 Vert Vert
      Jungle 7 Vert crayon Noir
      Jungle 8 Vert crayon Noir
      Limoncello Jaune canari Jaune canari
      Pourpre 7 Violet Noir
      Terre cuite 8 Blanc Jaune clair
      Soleil 8 Jaune canari Jaune canari

      Tableau de reconnaissance pour les couleurs hors catalogue

      Comme nous pouvons le voir, il y a des problèmes de reconnaissance pour les couleurs dans le catalogue et les couleurs hors catalogue à la fois pour les couleurs claires et les couleurs foncées.
      Les couleurs foncées renvoient un même résultat : "Noir", même lorsque nous observons des différences dans les teintes à l’œil nu. De même, pour les couleurs claires, nous distinguons clairement des différences à l’œil nu, mais il y a une présence de confusion dans les distances. Par exemple, pour la reconnaissance du blanc, nous obtenons dans un cas le vert clair, au lieu du blanc attendu. Il y a dans cette situation qu'une petite différence entre les deux distances : 86.6 bits pour le blanc contre 84.53 bits pour le vert clair. C'est donc le vert clair qui l'emporte, malgré le fait que nous ayons bien mis l'objet blanc.
      Il reste donc des améliorations à avoir sur la distinction de teintes proches. 

      5.3. Limites expérimentales du dispositif final et applications :

      Le dispositif expérimental présente plusieurs limites. Tout d’abord, il a été mis au point et testé principalement sur des papiers mats et uniformes ; les résultats ne peuvent donc pas être généralisés directement à tout matériau opaque sans précaution, en particulier aux surfaces brillantes ou texturées, dont la réflexion lumineuse diffère.

      De plus, l’identification repose sur un catalogue de référence limité à un ensemble fini de couleurs : ainsi, une couleur absente du catalogue peut être assimilée à la teinte la plus proche sans correspondre exactement à la couleur réelle de l’échantillon. Nous pouvons en effet voir une absence de couleurs dans certaines espaces du plan RGB, montrant un réel manque de couleurs dans le catalogue, notamment dans la distinction de couleurs foncées.

      Il y a un problème de distinction entre les couleurs claires. Ceci peut être lié à un manque de sensibilité de la photodiode, car lors des problèmes de distinction, nous pouvons observer une faible différence dans la distance euclidienne. On pourrait imaginer que lorsque nous avons deux distances qui sont très proches les unes des autres, il serait difficile de discriminer entre les deux couleurs. Cela reste donc une piste d'amélioration.

      Enfin, bien que le dispositif réalisé soit pratique, compact et relativement simple à utiliser, il reste perfectible en termes de miniaturisation et d’ergonomie, afin de rendre son emploi encore plus rapide, plus intuitif et plus adapté à une utilisation plus large. Malgré ces limites, le système permet une discrimination satisfaisante des couleurs dans les conditions de mesure choisies et peut etre utilisé dans plusiseurs domaines tel que l'aide à la reconnaissance des couleurs pour une personne daltonienne ou encore l'identification des couleurs de peinture.

      Annexes

      DESMOS - Lien vers le graphique de la visualisation 3D des couleurs

      Scheme It - Lien vers le logiciel de création de schémas électriques en ligne

      Outils d'analyse utilisés : Excel 

      Documentation Arduino ( fournie par les professeurs, internet et quelques vidéos YouTube )

      Définition et théorie simples de la réflexion diffuse sur internet

      Cours physique des matériaux pour l'explication du fonctionnement de la photodiode

My interface

Couleur de fond Couleur de fond

Couleur de texte Couleur de texte

Police Police

Crénage de la police Crénage de la police

Taille de police Taille de police

1

Visibilité de l’image Visibilité de l’image

Espacement des lettres Espacement des lettres

0

Hauteur de ligne Hauteur de ligne

1.2

Surbrillance de lien Surbrillance de lien

Largeur de paragraphe Largeur de paragraphe

0

Alignement du texte Alignement du texte