Il y a quelques différents types de capteurs de couleur.
Celui qui est utilisé dans ce instructable est un capteur de couleur « réfléchissante » il a un feu rouge feu vert de la source source une source de lumière bleue (un R, G, B LED fonctionnerait) et un capteur de lumière. La façon dont cela fonctionne est d’abord la source de lumière rouge est allumée et la valeur de la cellule photoélectrique est enregistrée. puis la source de lumière rouge est désactivée dans ce cas pour les sources lumineuses vertes et bleues ainsi.
le R, G, B valeur sont alors finement comparée pour sortir avec la couleur de l’objet, mais pourquoi faut-il faire cela ? parce que lorsque la lumière rouge brille sur un objet rouge elle reflète plus de lumière, puis lorsque vert sont bleu lumière brille sur elle. alors quand un objet vert se tient au-dessus du capteur la valeur verte enregistrée est supérieure puis le rouge sont des valeurs bleus.
L’autre type de capteur de couleur est un capteur de couleur « réfraction » il fonctionne sur le même concept que celui ci-dessus, sauf que c’est le contraire. Il a trois capteurs de lumière avec filtres de couleur rouges, verts, bleus et une source de lumière blanche. la façon dont il fonctionne, il est tour à tour sur la source de lumière blanche et compare la valeur des capteurs lumineux si la valeur rouge dépasse les valeurs vertes et bleues, la couleur est rouge.
Le code, j’ai utilisé dans cette instructable regards jusqu'à ce qu’il voit un objet vert puis allume une LED. La façon dont elle le fait est que je prends le rouge, verts, bleus, valeurs les divisent par dix (pour les rendre plus facile à gérer). puis je place un objet de couleur (dans ce cas, c’est un objet vert) et ensuite j’utilise les variables val1, val2, val3 (il y a trois variables pour le rouge, vert, bleu) pour additionner et soustraire des valeurs rouges, verts, bleus pour les rendre tous les la même valeur dans le cas de ce instructable la valeur a quinze ans.
red = (sensorValue / 10) + val1;
puis j’ai un "si déclaration" qui compare les valeurs avec un petit peu de « l’espace » autour de la valeur dans ce cas, deux de chaque côté. donc si les valeurs sont autour de quinze ans il s’allume une LED sinon il transforme de la LED.
if(blue > 13 and blue < 17 and green > 13 and green < 17 and red > 13 and red < 17)<br> digitalWrite(led4, HIGH); delay(1000); } else{ digitalWrite(led4, LOW); }
Donc maintenant à la construire !