TCS3200 colorimètre

DIDIER17

Member
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 !

2325023251








Désolé pour l’orthographe aussi approximatif que la couleur
 

Attachments

PieM

Senior Member
Bonjour Didier,
Aïe ! le problème des couleurs...
Je ne suis ni grosse tête ni pro de la chose, mais heurté au problème en photo, avec les rendus RVB écran et CMJN impression (ou peinture).
Concernant le capteur, je ne pense pas qu'il permette d'obtenir des résultats précis, la résolution de la mesure limitée à 16 bits n'étant pas en cause.
Déjà sa réponse spectrale est loin d'être parfaite:
Image 012.png
D'autre part, la neutralisation de la couleur de lumière "dite blanche" incidente ne peut se faire à mon avis par soustraction des valeurs lues par réflexion sur du "a peu près blanc".
En exagérant, si j'éclaire en bleu un objet jaune, ou inversement, il parait noir! Je ne peux rien en déduire sur sa couleur réelle et effectuer une compensation.
Finalement, il ne faut peut être pas demander à ce capteur autre chose que de trier des smarties...
Les résultats obtenus avec Ardui. ne semblent pas très cohérents !
Image 013.png
Le TCS34725 serait sans doute plus indiqué.
 
Last edited:

DIDIER17

Member
Bonjour Piem,
Aïe ! le problème des couleurs...
Aïe! c'est presque un euphémisme, j'aurais dis HAAaarg!
je vous remercie d'avoir pris le temps de regarder les documentations d'AMS et vous remercie aussi
d'avoir pris le temps de me répondre. Vous avez probablement raison sur les limites de ce capteur.

En ce qui concerne la neutralisation de l'illuminent, je regarde comment procède les spectrocolorimètre ou spectrophotomètre du commerce (c'est parait-il le vrai nom de ce type d'appareil), par exemple les modèles pas trop chers, Color Muse ou NIX.
Pour calibrer l'appareil, il faut placer un échantillon de référence ( souvent le bouchon arrière) , je pense qu'ils s’étalonnent soit par ajustement de éclairage ( D51 le plus souvent) soit par compensation logiciel. En gros, ils font une balance des blancs.

Certains amateurs modifient très légèrement la charte (blanc bleu ou blanc ambre) pour modifier la réponse colorimétrique ce qui laisse a penser
que le logiciel interne agit réellement. ce n'est pas la simple vérification d'une valeur attendue et pré enregistrée.

Les appareils du commerce donnent une réponse en colorimétrie absolue avec un référentiel standard (Panthone, RGB, etc).
L'objet de mon montage est de rechercher une réponse relative d'un échantillon à l'autre.

Ces appareils ressemblent furieusement à mon bricolage, des leds éclairages, une cellule et un gros background mathématique que je n'ai pas.

Concernent les mesures, une fois que l'appareil est stabiliser (5 bonnes minutes), la répétabilité est assurée. je note sous les échantillons leurs valeurs, c'est très stables.

j'ai placer à l'arriere du boitier une sortie série, je vais pour le moment effectuer les calcules, à extérieur, sur une feuille Excel.

c'est un sujet sans conséquence, au pire, je fais des portrait bleu comme dans Avatar ou je peint avec des chiffres...

Merci Bonne soirée
 

PieM

Senior Member
Bonsoir,
Colorimètre et spectrophotomètre sont deux choses différentes. Pas le même prix non plus.
Mais vu l'utilisation, cad une comparaison de couleurs, votre système est sans doute suffisant.
Attention toutefois que le capteur TCS3200 voit les infrarouges comme une couleur !! Je pense qu'il est abandonné en raison de cela, au profit du TCS34725.
 

DIDIER17

Member
Bonsoir,
Merci Piem pour vos conseils toujours avisé.
Je regarde ce capteur ( TCS34725). Au catalogue AMS ce n'est pas ce qui manque.
Bonne soirée
 

DIDIER17

Member
Bonjour a tous j'ai fait une erreur en postant le programme, voici une version plus juste
Rich (BB code):
'colorimetre V6.0
'le 08 novembre 2019

'affectation des pins

symbol mesure = C.7 ; entree picaxe des frequence/couleur
symbol S2 = C.4 ;selecteur de couleur de capteur
Symbol S3 =C.5 ; selecteur de couleur de capteur
symbol aff = B.7 ; envoie sur afficheur lcd
symbol eclaire = B.5 ; led blanche eclairage mesure
symbol led = B.3 ;led rouge defaut
symbol buzz = B.4 ; buzzer
symbol BP_rouge = B.0 ;bouton poussoir rouge
symbol BP_vert = B.1 ;bouton poussoir vert
symbol BP_bleu = B.2 ;bouton poussoir bleu


;declaration de variable word
symbol noir = W2 ; mesure au noir
symbol tier_blanc = W3 ;division de la mesure blanc par 3
symbol tps_rouge = W4 ;temps de mesure rouge
symbol tps_vert= W5 ;temps de mesure vert
symbol tps_bleu = W6 ;temps de mesure bleu
symbol blanc = W7 ;comptage des fronts frequence blanc
symbol red = W8;comptage des fronts frequence rouge
symbol green = W9;comptage des fronts frequence vert
symbol blue = W10;comptage des fronts frequence bleu
symbol etapeA = W11 ; etape calcule
symbol coefA = W13 ; etape calcule

;calage moyen du temps de mesure
tps_rouge = 1010 ;les valeurs ci-contre
tps_vert = 1040;permettent de gagner du temps
tps_bleu = 920; de calage car elles approche les temps relever par essais


'sequence de mesure initiale noir****************

high eclaire
pause 500 ;chauffe led 0,5S
'affichage des mesures
        
    serout aff,T2400,(254,1)'effacement de l'ecran
    serout aff,T2400,(254,128,"bouchon noir ")
    serout aff,T2400,(254,192,"presse BP ROUGE")
    
;attente d'action sur BP rouge pour poursuivre
do
if pinB.0 = 1 then exit
loop;_________________________________________


high S2 low S3 ;lire les photosites blanc avec l'echantillon; de reference noir
pause 20
count mesure,1000,noir


'sequence de mesure initiale du blanc*********************


        
    serout aff,T2400,(254,1)'effacement de l'ecran
    serout aff,T2400,(254,128,"bouchon blanc ")
    serout aff,T2400,(254,192,"press BP Rg ")
    


;attente d'action sur BP rouge pour poursuivre
do
if pinB.0 = 1 then exit
loop;_________________________________________


pause 20
count mesure,1000,blanc


;mesure initiale rouge bleu vert

low S2 low S3
pause 20
count mesure,tps_rouge,red



low S2 high S3
pause 20
count mesure,tps_bleu,blue



high S2 high S3
pause 20
count mesure,tps_vert,green


tier_blanc = blanc/3 ; definit la valeur RVB comme le tier de la mesure


low S2 low S3
low eclaire


    'affichage des mesures
        
    serout aff,T2400,(254,1)'effacement de l'ecran
    serout aff,T2400,(254,128,"blanc ",#tier_blanc)
    serout aff,T2400,(254,192,"noir ",#noir,"BpR=suit")
    

;attente d'action sur BP rouge pour poursuivre
do
if pinB.0 = 1 then exit
loop;_________________________________________



;sous prog linearisation
;l'illuminent est toujours le meme
; il s'agit des leds blanche
;pour harmoniser la mesure le programme agit sur la duree de comptage
;de chaque couleur afin
;de modifier la derive colorimetrique des led d'eclairage
;le blanc est compose part egale RVB
;la mesure est arbitrairement divise par 3
;les valeurs RVB doivent etre equilibrer sur
;tier_blanc


pause 500 ;chauffe led 0,5S
'affichage des mesures
        
    serout aff,T2400,(254,1)'effacement de l'ecran
    serout aff,T2400,(254,128,"bouchon BLANC ")
    serout aff,T2400,(254,192,"press BP Rg")
    


;attente d'action sur BP rouge pour poursuivre
do
if pinB.0 = 1 then exit
loop;_________________________________________



;___________________________________
;equilibrage du rouge
high eclaire
do
if red < tier_blanc then inc tps_rouge endif
if red > tier_blanc then dec tps_rouge endif

low S2 low S3
pause 20
count mesure,tps_rouge,red
    serout aff,T2400,(254,1)'effacement de l'ecran
    serout aff,T2400,(254,128,"1/3 ",#tier_blanc,"CR ",#red)
    serout aff,T2400,(254,192,"tps R ",#tps_rouge)
loop while red <> tier_blanc
;________________________________________
;equilibrage du bleu
do
if blue < tier_blanc then inc tps_bleu endif
if blue > tier_blanc then dec tps_bleu endif

low S2 high S3
pause 20
count mesure,tps_bleu,blue
    serout aff,T2400,(254,1)'effacement de l'ecran
    serout aff,T2400,(254,128,"1/3 ",#tier_blanc,"CB ",#blue)
    serout aff,T2400,(254,192,"tps B ",#tps_bleu)
loop while blue <> tier_blanc
;________________________________________
;equilibrage du vert
do
if green < tier_blanc then  inc tps_vert endif
if green >= tier_blanc then dec tps_vert endif

high S2 high S3
pause 20
count mesure,tps_vert,green
    serout aff,T2400,(254,1)'effacement de l'ecran
    serout aff,T2400,(254,128,"1/3 ",#tier_blanc,"CV ",#green)
    serout aff,T2400,(254,192,"tps V ",#tps_vert)
loop while green <> tier_blanc

low eclaire

;________________________________________
;fin programme equilibrage


        
;calcule des constantes
 
tier_blanc= tier_blanc - noir ; (ou tier noir ?)
coefA = 25500/tier_blanc ;mise ? l'echelle approximative
    
    
    
    serout aff,T2400,(254,1)'effacement de l'ecran
    serout aff,T2400,(254,128,"mesure ")
    serout aff,T2400,(254,192,"presse BP Vert")
do
if pinB.1 = 1 then exit;bouton vert
loop;

;boucle mesure

do


high eclaire
pause 100 ;chauffe led

low S2 low S3 ;S2 L S3 L = mesure par photosite rouge
count mesure,tps_rouge,red
red =red*coefA
red=red/100 max 255

high S3 ;S2 L S3 H = mesure par photosite bleu
pause 20
count mesure,tps_bleu,blue
blue = blue*coefA
blue = blue/100 max 255


high S2 ; S2 H S3 H = mesure par photosite vert
pause 20
count mesure,tps_vert,green
green = green*coefA
green = green/100 max 255




pause 10
low eclaire

    'affichage des mesures
        
    serout aff,T2400,(254,1)'effacement de l'ecran
    serout aff,T2400,(254,128,"blanc ",#etapeA,"CR ",#red)
    serout aff,T2400,(254,192,"CG ",#green," CB ",#blue)
    pause 100
    sertxd (#red,59,#green,59,#blue,13,10) ; transmission de la valeur b0
; 13 permet un retour chariot et 10 un saut de ligne
    pause 100

red = 0
green = 0
blue = 0
;pause  lecture des donnees
do
if pinB.1 = 1 then exit
loop

loop
 

DIDIER17

Member
je cherche des moyens d'améliorer la mesure , en effet, comme le fait remarque Piem, la sensibilité thermique est réelle.
les mesures sont un peu meilleures quand le composant est froid.
l'autre problème relève du calcul et de la mise à l'échelle. en externalisant sur une feuille excel les calculs je gagne en précision
faut-il passer par un uM-FPU, ça fait lourds?
 

PieM

Senior Member
Bonjour, vu le capteur il ne faut pas se faire d'illusions! On ne gagne pas le tiercé avec un âne.
Un capteur qui voit les infrarouges comme des couleurs, il ne faut pas en attendre grand chose de sérieux. Si la fabrication est abandonnée, ce n'est pas un hasard.
Un FPU ? mais le peu de précision est liée au capteur. Faire des calculs sur 32 bits n'apportera rien du tout.
Je ne comprends pas trop le problème: en RVB, on définit les couleurs par 3 octets ce qui représente 16 millions de couleurs. (et l'oeil humain n'en discerne que 2 millions) . La valeur mesurée par count est sur 16 bits. je ne vois donc pas le problème de calcul qui peut se poser.

"le blanc est compose part égale RVB" : Non on passe par des filtres sur les photodiodes. La réponse en fonction des longueurs d'onde n'est pas une droite horizontale. (voir la courbe de réponse spectrale), et en outre le blanc de la led n'est pas du blanc pur.
Puisque votre problème consiste à comparer deux echantillons de couleur, je ne vois pas l'intérêt de vouloir faire une mesure pseudo précise en RVB étalonné.
Faites vos mesures comparatives en conservant les donnée brutes. De toute façon, la correction de couleur ne pourra se faire que pifométriquement en ajoutant un peu de cyan, de magenta ou de jaune...
On est dans une comparaison. On a pas besoin d'une balance juste pour savoir si on a grossi par rapport à la veille!
 
Last edited:

DIDIER17

Member
Vous avez raison, j’essaie de faire voler une enclume !
j’espère que mon fil ne va pas se terminer comme le débit-mètre à douche...

"Question idiote: est-il bien nécessaire d'actualiser un affichage tous les 0.1l pour quelqu'un qui prend une douche ....
Parce que prendre une douche en ayant les yeux fixés sur un compteur, fallait l'inventer!"



Si j’insiste sur ce capteur c’est que j’en ai pas d’autre… pour l’instant.
Je vous exhorte, Pierre, a ne pas perdre votre temps à me répondre.



Tentative d’explication désespérer :

Sur ce capteur nous pouvons lire quatre informations distinctes de manière indépendante :
les photos site blanc, les rouges, les verts, les bleus.
Selon la configuration hi/lo de S2 et S3
plus le temps de lecture d’une gamme de photo-site est grand plus je capte d’impulsion.
Pour étalonner l’éclairage le programme effectue une mesure d’une seconde sur un réflecteur blanc par les photo-sites blanc.
Je lis environ 6000 impulsions.

Même manœuvre sur un réflecteur noir par les photo-site blanc.
je lis environ 500 impulsions, je les garde sous le coude.


Pour neutraliser la coloration de l’éclairage Led, je divise les 6000 impulsions par 3.
soit 2000. (c’est la faute à jean Delmas )

Ensuite j’agis sur le temps de lecture de chaque gamme colorée pour obtenir 2000 points
sur mon échantillon blanc de référence. Ce qui donne par rapport au temps de référence 1000

tps_rouge = 1010
tps_vert = 1040
tps_bleu = 920

ces valeurs sont constantes jusqu’au prochain étalonnage

les valeurs ( 6000,2000, 500) sont choisi pour simplifier l’explication

au final, je pense (in petto) compenser la dominante bleue de l’éclairage led, car je
lis moins longtemps les photo-sites bleu et ce quelle que soit la couleur de l’ échantillon ?
Ce qui m’indique que je suis, peut-être, dans la bonne direction c’est une charte
grise (Scuadra True Color) qui me sert d’étalon intermédiaire ?


Pour la mesure d’une
couleur :
je compte les impulsions des photo-sites rouges normalement comprise entre 0 et 2000 point.
(je passe sous silence ce que je fais de la mesure au noir)

23278

a = (Ymax-Ymin)/(Xmax-Xmin)
Y = X - Xmin * a + Ymin

ensuite je fais une mise a l’échelle 0-2000 vers 0-255, si je ne me trompe pas ?

Soit dans mon cas :
a = 255 – 0 / 2000 – 0 C’est là que le picaxe complique les choses

ensuite

Yrouge = X ( lecture photo-site rouge) – 0 multiplier par le coefficient a + 0

idem pour vert et bleu

ce qui me donne une sortie de 0 à 255 (normalement) RVB


pour conclure :

les résultats ne sont pas complètement mauvais, ni complètement aléatoire, mais pour l’instant je fais mieux à l’œil et je ne risque pas de électrocuter en peignant, c’est ballot.
(j’utilise une petite APK pour smartphone pour vérifier mes mesures avec des led identique à celle du montage gotronic.)


Bonne soirée

Désole pour orthographe la grammaire etc
 

PieM

Senior Member
a = (Ymax-Ymin)/(Xmax-Xmin)
Y = X - Xmin * a + Ymin
Voui... "pourquoi faire simple quand on peut faire compliqué" est une devise que vous avez adoptée ? ;)
le changement d'échelle est ici sans changement d'origine, donc une simple règle de trois fait la balle!
nouvelle valeur = ancienne * 255/2000
ce qui se simplifie en ancienne /8 à 2% près.
2% étant négligeable puisque toutes les mesures "RVB" avec ce capteur sont entachées d'une approximation entre 10 et 20% !

Même manœuvre sur un réflecteur noir par les photo-site blanc.
je lis environ 500 impulsions, je les garde sous le coude.
Non! pour le noir le capteur donne entre 2 et 10 Hz. Donc la cible n'est pas noire.
Pour neutraliser la coloration de l’éclairage Led, je divise les 6000 impulsions par 3.
Non, la réponse d'une photodiode n'est pas celle théorique de la lumière blanche. Et la lumière de la led n'est pas du blanc pur.
les mesures sont un peu meilleures quand le composant est froid.
Le capteur est sensible aux infra rouges, indépendamment de toute chaleur. Votre télécommande IR de la TV n'attend pas que ça chauffe à l'arrivée.
Ce gadget voit en couleur un fer à repasser chaud dans le noir total.

Je souscris à votre conclusion "mais pour l’instant je fais mieux à l’œil ". Un œil de peindre (non daltonien) sera toujours supérieur à ce gadget.
Après si c'est pour le fun, ou correspond à une croyance chevillée au corps, en tant qu'athée convaincu et assidu, je respecte mais ne partage pas...:)
 

DIDIER17

Member
Bonjour PeiM et bonjour à tous.

Voui... "pourquoi faire simple quand on peut faire compliqué" est une devise que vous avez adoptée ?
Si vous saviez! Vous avez raison, zéro plus zéro égale la tête à toto: je voulais bien décomposer mes explications, je suis souvent confus,
mais vous avez raison votre méthode est la bonne.
Je pourrais faire encore plus simple en agissant sur le temps de lecture des photo-sites pour avoir des sorties égales à max 255.

Non! pour le noir le capteur donne entre 2 et 10 Hz. Donc la cible n'est pas noire.

Mince, la cible est noire, noir d'ivoire, noir de Mars. Plus noir, à part mon âme j'vois pas!
plus sérieusement comment dire?
la valeur que j'obtiens est la réponse quand le montage c-à-d, capteur + led+ museau en plastique voit un échantillon noir.
ce sera ma référence au noir local ou du montage si je puis dire, par rapport à une référence au noir général (Pantone).
C'est vrai que compte tenu de la lumière ambiante dans un si petit volume ça a tout de suite une valeur.
Si j'expose un bleu très sombre, difficile à distinguer du noir, (genre Prusse violacé) j'obtiens une variation de réponse.

Non, la réponse d'une photodiode n'est pas celle théorique de la lumière blanche. Et la lumière de la led n'est pas du blanc pur.
Oui, vous avez raison, du reste, le capteur l'indique, le programme le mesure puis il le compense.
Oui la réponse du groupe led/ réflecteur canson / photo site blanc est altérée, mais peu importe. si je veux reproduire le blanc de mon bouchon de référence sur la toile, je mélange soigneusement du blanc de titane a du blanc de blanc de plomb jusqu’à ce que j'obtienne les même mesure sur l'afficheur. Cela risque de ne pas avoir un grand intérêt sauf dans un monochrome de Whitemann?


enfin moi c'que constate c'est qu'avant mon colorimètre je peignais comme ça


Caravaggio30.jpg


et depuis que je regarde ce machin plutôt que la toile je peins comme ça



pollock30.jpg






quoi qu’il en soit le TCS3472 que vous préconisez est plus adapté.




Merci pour votre bienveillance et votre humour!

Bonne journée
 

Attachments

DIDIER17

Member
juste un petit post scriptum:

Décidément je m’accroche à mon gadget. j’ai compris ce qui manquait comme explication
à l’instant, c’est le côté BI DIRECTIONNEL ou réversible.

Sans parler de calibrage, de température ou autre, dans une exploitation brute du capteur.

si je présente un échantillon, avec un illuminant constant ( et c'est le cas) je vais avoir un résultat numérique RVB certes erroné mais constant.
Pour retrouver les mêmes (fausses) valeurs, il faudra que je présente le même échantillons, que je retrouve la même couleur.
c’est peut-être ce phénomène que j’ai mal expliqué.

23284



23285

rassurez vous je ne veux pas en vendre... Bonne fin de soirée
 

PieM

Senior Member
D'où mon post en #8 :
Puisque votre problème consiste à comparer deux echantillons de couleur, je ne vois pas l'intérêt de vouloir faire une mesure pseudo précise en RVB étalonné.
Faites vos mesures comparatives en conservant les donnée brutes. De toute façon, la correction de couleur ne pourra se faire que pifométriquement en ajoutant un peu de cyan, de magenta ou de jaune...
On est dans une comparaison. On a pas besoin d'une balance juste pour savoir si on a grossi par rapport à la veille!
;) J'irai vous voir au Grand Palais ...
 

DIDIER17

Member
Hum? plutôt à la déchetterie de mon quartier, quand je viderai les étagères de mes inventions futiles.
C'est important d'avoir un détracteur tyrannique / bienveillant ( rayer les mentions inutiles), c'est ce qui fait progresser.
Bonne soirée PieM.
"pour m'entrainer, (aux jeu d’échecs )je joue contre moi même, je gagne souvent, mais je progresse peu" Bobby Fischer
 
Top