Ahmed Elsagaan
Published

Color Detector for Blind People

When you put anything in front of your mobile camera and push the button, your mobile will say the color of that thing.

BeginnerFull instructions provided2,824
Color Detector for Blind People

Things used in this project

Story

Read more

Schematics

schematic

Code

color detector for blind people

Arduino
#define CUSTOM_SETTINGS
#define INCLUDE_COLOR_DETECTOR_SHIELD
#define INCLUDE_TEXT_TO_SPEECH_SHIELD
#define INCLUDE_PUSH_BUTTON_SHIELD

/* Include 1Sheeld library. */
#include <OneSheeld.h>



void setup() {
  /* Start communication. */
  OneSheeld.begin();

  /* Set the color detection palette to get only 8 different colors instead of the default 16 million. */
  ColorDetector.setPalette(_3_BIT_RGB_PALETTE);



}

void loop() {
  /* Check if there's a new color received. */
  if( PushButton.isPressed())
  {
  if(ColorDetector.isNewColorReceived())
  {
    /* Read the last received color and save it locally. */
    Color readColor = ColorDetector.getLastColor();

    /* Get red, blue and green components values. */
    byte redValue = readColor.getRed();
    byte greenValue = readColor.getGreen();
    byte blueValue = readColor.getBlue();
    colorName(redValue,greenValue,blueValue);
   
    }
 delay(1000);
  }
}   
/* indentify the color using the values of red ,green,and blue and say the color name  */
void colorName(byte redvalue,byte greenvalue ,byte bluevalue)
{
      if (redvalue== 0 && greenvalue== 0 && bluevalue == 0)
         TextToSpeech.say("black");
     else if (redvalue== 0 && greenvalue== 0 && bluevalue == 85)
         TextToSpeech.say("nave");
     else if (redvalue== 0 && greenvalue== 0 && bluevalue == 170)
         TextToSpeech.say("dark blue");
     else if (redvalue== 0 && greenvalue== 0 && bluevalue == 255)
         TextToSpeech.say("blue");
     else if (redvalue== 0 && greenvalue== 85 && bluevalue == 0)
         TextToSpeech.say("dark green");
     else if (redvalue== 0 && greenvalue== 85 && bluevalue == 85)
         TextToSpeech.say("green");
     else if (redvalue== 0 && greenvalue== 85 && bluevalue == 170)
         TextToSpeech.say("blue");
     else if (redvalue== 0 && greenvalue== 85 && bluevalue == 255)
         TextToSpeech.say("blue");
     else if (redvalue== 0 && greenvalue== 170 && bluevalue == 0)
         TextToSpeech.say("green");
     else if (redvalue== 0 && greenvalue== 170 && bluevalue == 85)
         TextToSpeech.say("dark green");
     else if (redvalue== 0 && greenvalue== 170 && bluevalue == 170)
         TextToSpeech.say("sky blue");
     else if (redvalue== 0 && greenvalue== 170 && bluevalue == 255)
         TextToSpeech.say("light blue");
     else if (redvalue== 0 && greenvalue== 255 && bluevalue == 0)
         TextToSpeech.say("green");
     else if (redvalue== 0 && greenvalue== 255 && bluevalue == 85)
         TextToSpeech.say("spring green");
     else if (redvalue== 0 && greenvalue== 255 && bluevalue == 170)
         TextToSpeech.say("light green");
     else if (redvalue== 0 && greenvalue== 255 && bluevalue == 255)
         TextToSpeech.say("aqua");
     else if (redvalue== 85 && greenvalue== 0 && bluevalue == 0)
         TextToSpeech.say("dark red");
     else if (redvalue== 85 && greenvalue== 0 && bluevalue == 85)
         TextToSpeech.say("dark purple");
     else if (redvalue== 85 && greenvalue== 0 && bluevalue == 170)
         TextToSpeech.say("purple");
     else if (redvalue== 85 && greenvalue== 0 && bluevalue == 255)
         TextToSpeech.say("blue");
     else if (redvalue== 85 && greenvalue== 85 && bluevalue == 0)
         TextToSpeech.say("yellow");
     else if (redvalue== 85 && greenvalue== 85 && bluevalue == 85)
         TextToSpeech.say("gray");
     else if (redvalue== 85 && greenvalue== 85 && bluevalue == 170)
         TextToSpeech.say("blue");
     else if (redvalue== 85 && greenvalue== 85 && bluevalue == 255)
         TextToSpeech.say("light blue");
     else if (redvalue== 85 && greenvalue== 170 && bluevalue == 0)
         TextToSpeech.say("green");
     else if (redvalue== 85 && greenvalue== 170 && bluevalue == 85)
         TextToSpeech.say("lame green");
     else if (redvalue== 85 && greenvalue== 170 && bluevalue == 170)
         TextToSpeech.say("green");
     else if (redvalue== 85 && greenvalue== 170 && bluevalue == 255)
         TextToSpeech.say("light blue");
     else if (redvalue== 85 && greenvalue== 255 && bluevalue == 0)
         TextToSpeech.say("light green");
     else if (redvalue== 85 && greenvalue== 255 && bluevalue == 85)
         TextToSpeech.say("green");
     else if (redvalue== 85 && greenvalue== 255 && bluevalue == 170)
         TextToSpeech.say("blue green");
     else if (redvalue== 85 && greenvalue== 255 && bluevalue == 255)
         TextToSpeech.say("aqua");
     else if (redvalue== 170 && greenvalue== 0 && bluevalue == 0)
         TextToSpeech.say("red");
     else if (redvalue== 170 && greenvalue== 0 && bluevalue == 85)
         TextToSpeech.say("dark pink");
     else if (redvalue== 170 && greenvalue== 0 && bluevalue == 170)
         TextToSpeech.say("purple");
     else if (redvalue== 170 && greenvalue== 0 && bluevalue == 255)
         TextToSpeech.say("purple");
     else if (redvalue== 170 && greenvalue== 85 && bluevalue == 0)
         TextToSpeech.say("light brown");
     else if (redvalue== 170 && greenvalue== 85 && bluevalue == 85)
         TextToSpeech.say("pale pink");
     else if (redvalue== 170 && greenvalue== 85 && bluevalue == 170)
         TextToSpeech.say("purple");
     else if (redvalue== 170 && greenvalue== 85 && bluevalue == 255)
         TextToSpeech.say("meduim purple");
     else if (redvalue== 170 && greenvalue== 170 && bluevalue == 0)
         TextToSpeech.say("yellow");
     else if (redvalue== 170 && greenvalue== 170 && bluevalue == 85)
         TextToSpeech.say("pale green");
     else if (redvalue== 170 && greenvalue== 170 && bluevalue == 170)
         TextToSpeech.say("gray");
     else if (redvalue== 170 && greenvalue== 170 && bluevalue == 255)
         TextToSpeech.say("blue");
     else if (redvalue== 170 && greenvalue== 255 && bluevalue == 0)
         TextToSpeech.say("light green");
     else if (redvalue== 170 && greenvalue== 255 && bluevalue == 85)
         TextToSpeech.say("green");
     else if (redvalue== 170 && greenvalue== 255 && bluevalue == 170)
         TextToSpeech.say("green");
     else if (redvalue== 170 && greenvalue== 255 && bluevalue == 255)
         TextToSpeech.say("light blue");
     else if (redvalue== 255 && greenvalue== 0 && bluevalue == 0)
         TextToSpeech.say("red");
     else if (redvalue== 255 && greenvalue== 0 && bluevalue == 85)
         TextToSpeech.say("pink");
     else if (redvalue== 255 && greenvalue== 0 && bluevalue == 170)
         TextToSpeech.say("pink");
     else if (redvalue== 255 && greenvalue== 0 && bluevalue == 255)
         TextToSpeech.say("pink");
     else if (redvalue== 255 && greenvalue== 85 && bluevalue == 0)
         TextToSpeech.say("orange");
     else if (redvalue== 255 && greenvalue== 85 && bluevalue == 85)
         TextToSpeech.say("lame pink");
     else if (redvalue== 255 && greenvalue== 85 && bluevalue == 170)
         TextToSpeech.say("pink");
     else if (redvalue== 255 && greenvalue== 85 && bluevalue == 255)
         TextToSpeech.say("pink");
     else if (redvalue== 255 && greenvalue== 170 && bluevalue == 0)
         TextToSpeech.say("orange");
     else if (redvalue== 255 && greenvalue== 170 && bluevalue == 85)
         TextToSpeech.say("light orange");
     else if (redvalue== 255 && greenvalue== 170 && bluevalue == 170)
         TextToSpeech.say("pink");
     else if (redvalue== 255 && greenvalue== 170 && bluevalue == 255)
         TextToSpeech.say("pink");
     else if (redvalue== 255 && greenvalue== 255 && bluevalue == 0)
         TextToSpeech.say("yellow");
     else if (redvalue== 255 && greenvalue== 255 && bluevalue == 85)
         TextToSpeech.say("light yellow");
     else if (redvalue== 255 && greenvalue== 255 && bluevalue == 170)
         TextToSpeech.say("paje");
     else if (redvalue== 255 && greenvalue== 255 && bluevalue == 255)
         TextToSpeech.say("white");
                 
}
 

Credits

Ahmed Elsagaan

Ahmed Elsagaan

3 projects • 4 followers
Thanks to 1sheeld.

Comments