Color Reader Speaking Robot
Today I will make a very nice project for you.Hi friends, today we will do a very useful project with Arduino.By detecting the subject’s color with the color reader speaking robot voice will tell the color aloud to the user.This project is also a social responsibility project.The learning of children of color in the young age of this project will contribute to a large extent,educational teaching system with a system that will contribute to a large extent.
This Project : Color speak robot
Materials:
- Arduino
- Wtv020 mp3 module
- TCS34725 RGB color area sensor
- speaker
- 9v battery
- jumper cables
Electronic Section and Electronic Circuit Diagram:
Color sensor that communicates with the I2C protocol on your SD card into the SCL and SCL pins of the Arduino and SD with pins.SD Uno and nano models in the A4, A5 are SCL pins.SD and SCL pins are divided Mega available. 3.3v to 3.3v sensor pins to pin the Arduino, Arduino GND GND t’re wearing the pin.
The audio file before wtv020 module of the software you will need to do the installation. You can see how this is done from the link below. http://www.robimek.com/arduino-ile-wtv020sd-16p-mp3-modul-kullanimi/
Important Note: The names of the audio files (0000,0001,0002) must be maintained. Otherwise, audio files, reading process does not take place.
Libraries: Color Libraries
Software Part:
// Sesli Renk Okuyan Robot Projesi by Robimek 2015
// Yazılım lisans by Robimek
#include "Wire.h"
#include "Adafruit_TCS34725.h"
#include <Wtv020sd16p.h>
// wtv020 pinleri
int resetPin = 13;
int clockPin = 11;
int dataPin = 12;
int busyPin = 10;
// wtv020 pin yükleme
Wtv020sd16p wtv020sd16p(resetPin,clockPin,dataPin,busyPin);
Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_50MS, TCS34725_GAIN_1X);
void setup() { Serial.begin(9600);
wtv020sd16p.reset();
wtv020sd16p.playVoice(2);
wtv020sd16p.playVoice(5);
delay(5000);
if (tcs.begin()) {+- Serial.println("Sensör bulundu"); }
else { Serial.println("TCS34725 Sensör bulunamadı !");
while (1); // Dur! } delay(1000); }
void loop() { uint16_t clearcol, red, green, blue; float average, r, g, b;
tcs.getRawData(&red, &green, &blue, &clearcol);
average = (red+green+blue)/3; r = red/average; g = green/average;
b = blue/average; Serial.print("\tTEMİZ:"); Serial.print(clearcol);
Serial.print("\tKIRMIZI:"); Serial.print(r); Serial.print("\tYEŞİL:");
Serial.print(g); Serial.print("\tMAVİ:"); Serial.print(b);
if ((r > 1.4) && (g < 0.9) && (b < 0.9))
{ // kırmızı algılama Serial.print("\tKIRMIZI");
wtv020sd16p.playVoice(2); // kırmızı söyle delay(2000); }
else if ((r < 0.95) && (g > 1.4) && (b < 0.9)) { // yeşil algılama Serial.print("\tYEŞİL");
// yeşil söyle wtv020sd16p.playVoice(7); delay(2000); } else if ((r < 0.8) && (g < 1.2) && (b > 1.2))
{ // mavi algılama Serial.print("\tMAVİ"); // mavi söyle wtv020sd16p.playVoice(3);
delay(2000); } else if ((r > 1.15) && (g > 1.15) && (b < 0.7)) { // sarı algılama Serial.print("\tSARI");
// sarı söyle wtv020sd16p.playVoice(6); delay(2000); }
else if ((r > 1.4) && (g < 1.0) && (b < 0.7)) { // turuncu algılama Serial.print("\tTURUNCU");
// turuncu söyle wtv020sd16p.playVoice(5); delay(2000); }
else { Serial.print("\tRENK ALGILANMADI"); } Serial.println(""); delay(2000); }
More İnformation: Color Speaking Robot