Colour Sensor Arduino Code
Colour Sensor Arduino Code
int buttonPin=9;
int k=0,m=0,i=0;
int times=3;
int sensorValueR[3];
int sensorValueG[3];
int sensorValueB[3];
int colvalue[3];
int white[3]={120,120,120};
int black[3]={30,30,30};
//second object
//***************
//***************
//***************
int colvalue2[3];
int sensorValueR2[3];
int sensorValueG2[3];
int sensorValueB2[3];
int k2;
int m2,m3=0;
int sensitivity=50;
//****************
//****************
//****************
pinMode(12, OUTPUT);
pinMode(9,OUTPUT);
pinMode(8,INPUT);
Serial.begin(9600);
void loop(){
while(k<times){
takereading();
k++;
while(m<1){
avarage();
manipulate();
check();
printout();
while(k2<times){
takereading2();
k2++;
//******2******
//******2*****
while(m2<1)
{
avarage2();
manipulate2();
//*******2*******
while(m3<1){
compare();
m3++;
void takereading()
delay(delayTime);
sensorValueR[k] = map(analogRead(sensorPin),0,1023,0,255);
sensorValueB[k] = map(analogRead(sensorPin),0,1023,0,255);
//delay(600);
///*******************
void avarage(){
colvalue[0]=(((sensorValueR[0]+sensorValueR[1]+sensorValueR[2])/3)-30)*2.83;
colvalue[1]=(((sensorValueG[0]+sensorValueG[1]+sensorValueG[2])/3)-30)*2.83;
colvalue[2]=(((sensorValueB[0]+sensorValueB[1]+sensorValueB[2])/3)-30)*2.83;
///****************
void printout(){
Serial.print("R = ");
Serial.println(int(colvalue[0]));
Serial.print("G = ");
Serial.println(int(colvalue[1]));
Serial.print("B = ");
Serial.println(int(colvalue[2]));
////******************
void manipulate(){
colvalue[0]=colvalue[0]-50;
colvalue[1]=colvalue[1]-50;
colvalue[2]=colvalue[2]-90;
///*******************
void check(){
for(i=0;i<3;i++){
if(colvalue[i]>255){
colvalue[i]=255;
if(colvalue[i]<0){
colvalue[i]=0;
//*************************
void takereading2(){
delay(delayTime);
sensorValueR2[k2] = map(analogRead(sensorPin),0,1023,0,255);
sensorValueG2[k2] = map(analogRead(sensorPin),0,1023,0,255);
sensorValueB2[k2] = map(analogRead(sensorPin),0,1023,0,255);
//delay(600);
}
//****************************************
void avarage2(){
colvalue2[0]=(((sensorValueR2[0]+sensorValueR2[1]+sensorValueR2[2])/3)-30)*2.83;
colvalue2[1]=(((sensorValueG2[0]+sensorValueG2[1]+sensorValueG2[2])/3)-30)*2.83;
colvalue2[2]=(((sensorValueB2[0]+sensorValueB2[1]+sensorValueB2[2])/3)-30)*2.83;
//************************
void printout2(){
Serial.print("R = ");
Serial.println(int(colvalue2[0]));
Serial.print("G = ");
Serial.println(int(colvalue2[1]));
Serial.print("B = ");
Serial.println(int(colvalue2[2]));
//****************
void manipulate2(){
colvalue2[0]=colvalue2[0]-50;
colvalue2[1]=colvalue2[1]-50;
colvalue2[2]=colvalue2[2]-90;
//***************
void check2(){
for(i=0;i<3;i++){
if(colvalue2[i]>255){
colvalue2[i]=255;
if(colvalue2[i]<0){
colvalue2[i]=0;
//********************
void compare(){
for(i=0;i<3;i++){
if(
colvalue2[i]<colvalue[i]+sensitivity&&colvalue2[i]>colvalue[i]-sensitivity){
Serial.print("Matched");
digitalWrite(13,HIGH); Serial.print("Matched");
else{
}
}
//****The End*******