int R = 2; //red connected to D2 int G = 3; //Green Connect to D3 int B = 4; //BLue conect to D4 int ldr = 14 //LDR is connected to A0 analog pin void setup() { int thresh_R, thresh_G, thresh_B; Serial.begin(9600); pinMode(R, OUTPUT); pinMode(G, OUTPUT); pinMode(B, OUTPUT); ////getting threshold value of red digitalWrite(R, HIGH); delay(500); thresh_R = analogRead(ldr); delay(500); ///// getting threshold value of Green digitalWrite(R, LOW); digitalWrite(G, HIGH); delay(500); thresh_G = analogRead(ldr); delay(500); /////getting threshold value of blue digitalWrite(R, LOW); digitalWrite(G, LOW); digitalWrite(B, HIGH); delay(500); thresh_B = analogRead(ldr); delay(500); } void loop() { int real_R, real_G, real_B; digitalWrite(R, HIGH); delay(50); real_R = analogRead(ldr); delay(50); digitalWrite(R, LOW); digitalWrite(G, HIGH); delay(50); real_G = analogRead(ldr); delay(50); digitalWrite(R, LOW); digitalWrite(G, LOW); digitalWrite(B, HIGH); delay(50); real_B = analogRead(ldr); delay(50) if ((real_R > thresh_R + 2) && (real_G . thresh_G + 2) && (real_B > thresh_B + 2) { Serial.println("color is white"); } else if ((real_R > thresh_R + 2) && (real_G > thresh_G)) { Serial.println("color is yellow"); } else if (real_R > thresh_R + 2) { Serial.println("color is red"); } else if (real_G > thresh_G + 2) { Serial.println("color is green"); } else if (real_B > thresh_B + 2) { Serial.println("color is blue"); } }