Bonjour à tous,
Peintre du dimanche, j’ai parfois du mal a retrouver la couleur de tel ou tel élément. Pour m’aider,
je souhaitai réaliser un colorimètre (à-peu-prés-mètre ou pifomètre) à partir du TCS3200 (j’utilise le montage Gotronic sur une petite carte) .
actuellement indisponible
l’objectif que je me suis fixé est de comparer deux échantillons de couleur, l’appareil pourrait
indiquer la dérive de l’un par rapport à l’autre, plus de jaune moins de bleu par exemple .
En s’expriment bien sûr en %CMJN
Hélas les résultats sont assez décevant !
Je pensais pouvoir faire mieux qu’un trieur de smarties ? Mais ce n’est pas gagner.
Tous d’abord le composant ne fonctionne pas dans les fréquences attendues , je relève 6Khz max contre 10 à 12khz sur le datasheet. Je ne sais pas dire s’il s’agit d’un défaut de fabrication ou de mise en œuvre. Toutefois l’amplitude de mesure est considérable selon la couleur (de 150 points pour du noir à 6700 pour du blanc).
Je compte les front montant avec la fonction « count ».
On trouve pas mal de chose dans le monde Arduino mais presque rien en Picaxe en dehors du trieur de smarties.
Dans les divers programmes Arduino la méthode consiste a faire une lecture des 3 couleurs RVB puis à l’aide de la fonction « map » faire une mise à l’échelle 0 à 255, cela fonctionne plus ou moins.
Vous remarquerez que dans les vidéos qui circulent sur le net, presque toujours, le capteur est à l’air libre (ou la lumière libre)
il me semble que pour avoir un minimum de précision il faut maîtriser l’illuminent c-à-d
la couleur de la lumière qui éclaire l’échantillon.
pour ma part je fonctionne comme ça :
j’ai encapsuler le capteur et réaliser deux bouchons étalon : un blanc, un noir.
Ce blanc est bien sur une référence arbitraire :un bout de canson blanc en l’occurrence.
je fais deux première mesure par les photosites blanc : une avec le bouchon blanc et une avec le bouchon noir.
je mesure aussi chaque couleur ( RVB ) avec le bouchon blanc.
la mesure des photosites blanc doit être la somme des trois autre couleur (si la lumiere des leds était équilibrée ce serait le cas).
si par exemple pour le blanc, je mesure 3000 points ( fronts montants) dans un espace de temps d’une seconde
je divise le résultat par 3. chaque couleur devra mesurer 1000 point pour l’étalon blanc
(du reste elles n'en sont pas loin: mesure brutes = R 33% V 32% B 36%)
j’équilibre la mesure des trois autres couleurs en ajustant le temps de mesure pour enlever les dominantes,en l’occurrence bleu de éclairage par led.
Une fois cet étalonnage réaliser, je mesure des échantillons colorés dans le domaine RVB
j’effectue une mise à échelle de 0 à 255 (soustrait de la valeur noir) pour une sortie sur l’afficheur et je compare avec "rapidtable" le résultat
Conclusion :
quand je mesure par exemple du mauve je trouve bien un mauve ressemblant en RVB mais cela reste tout de même imprécis.
Il me semble que je perds beaucoup de précision dans les conversions de grand nombre pour éviter les virgules sans sortir de la valeur d’un word ( 65735)
soyez indulgent pour le programme car je l’écris à la volée sans réflexion de fond pour l’instant.
voila un bon sujet pour les grosses têtes du forum, je suis preneur expérience dans le domaine ?
je vous tiens au courant de l’avancement de mes travaux .
Vous noterez esthétique du boîtier à mi chemin entre Playmobile et les forges du Creusot !
Désolé pour l’orthographe aussi approximatif que la couleur
Peintre du dimanche, j’ai parfois du mal a retrouver la couleur de tel ou tel élément. Pour m’aider,
je souhaitai réaliser un colorimètre (à-peu-prés-mètre ou pifomètre) à partir du TCS3200 (j’utilise le montage Gotronic sur une petite carte) .
GoTronic | Robotique et composants électroniques
www.gotronic.fr
l’objectif que je me suis fixé est de comparer deux échantillons de couleur, l’appareil pourrait
indiquer la dérive de l’un par rapport à l’autre, plus de jaune moins de bleu par exemple .
En s’expriment bien sûr en %CMJN
Hélas les résultats sont assez décevant !
Je pensais pouvoir faire mieux qu’un trieur de smarties ? Mais ce n’est pas gagner.
Tous d’abord le composant ne fonctionne pas dans les fréquences attendues , je relève 6Khz max contre 10 à 12khz sur le datasheet. Je ne sais pas dire s’il s’agit d’un défaut de fabrication ou de mise en œuvre. Toutefois l’amplitude de mesure est considérable selon la couleur (de 150 points pour du noir à 6700 pour du blanc).
Je compte les front montant avec la fonction « count ».
On trouve pas mal de chose dans le monde Arduino mais presque rien en Picaxe en dehors du trieur de smarties.
Dans les divers programmes Arduino la méthode consiste a faire une lecture des 3 couleurs RVB puis à l’aide de la fonction « map » faire une mise à l’échelle 0 à 255, cela fonctionne plus ou moins.
Vous remarquerez que dans les vidéos qui circulent sur le net, presque toujours, le capteur est à l’air libre (ou la lumière libre)
TCS3200_Color_Sensor__SKU_SEN0101_-DFRobot
wiki:This is a RGB Color Sensor breakout uses TCS3200 RGB sensor chip and 4 white LEDs. The TCS3200 can detect and measure a nearly limitless range of visible colors.
wiki.dfrobot.com
il me semble que pour avoir un minimum de précision il faut maîtriser l’illuminent c-à-d
la couleur de la lumière qui éclaire l’échantillon.
pour ma part je fonctionne comme ça :
j’ai encapsuler le capteur et réaliser deux bouchons étalon : un blanc, un noir.
Ce blanc est bien sur une référence arbitraire :un bout de canson blanc en l’occurrence.
je fais deux première mesure par les photosites blanc : une avec le bouchon blanc et une avec le bouchon noir.
je mesure aussi chaque couleur ( RVB ) avec le bouchon blanc.
la mesure des photosites blanc doit être la somme des trois autre couleur (si la lumiere des leds était équilibrée ce serait le cas).
si par exemple pour le blanc, je mesure 3000 points ( fronts montants) dans un espace de temps d’une seconde
je divise le résultat par 3. chaque couleur devra mesurer 1000 point pour l’étalon blanc
(du reste elles n'en sont pas loin: mesure brutes = R 33% V 32% B 36%)
j’équilibre la mesure des trois autres couleurs en ajustant le temps de mesure pour enlever les dominantes,en l’occurrence bleu de éclairage par led.
Une fois cet étalonnage réaliser, je mesure des échantillons colorés dans le domaine RVB
j’effectue une mise à échelle de 0 à 255 (soustrait de la valeur noir) pour une sortie sur l’afficheur et je compare avec "rapidtable" le résultat
Color code converter | color conversion
Color code converter. Color codes chart. Color conversions.
www.rapidtables.com
Conclusion :
quand je mesure par exemple du mauve je trouve bien un mauve ressemblant en RVB mais cela reste tout de même imprécis.
Il me semble que je perds beaucoup de précision dans les conversions de grand nombre pour éviter les virgules sans sortir de la valeur d’un word ( 65735)
soyez indulgent pour le programme car je l’écris à la volée sans réflexion de fond pour l’instant.
voila un bon sujet pour les grosses têtes du forum, je suis preneur expérience dans le domaine ?
je vous tiens au courant de l’avancement de mes travaux .
Vous noterez esthétique du boîtier à mi chemin entre Playmobile et les forges du Creusot !
Désolé pour l’orthographe aussi approximatif que la couleur
Attachments
-
27.5 KB Views: 4
-
155.3 KB Views: 10
-
55.1 KB Views: 4