Stap 3: Software deel:
Sesli Renk Okuyan Robot Projesi Robimek 2015
Yazılım lisans door 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);
Als (tcs.begin()) {+-Serial.println ("Sensör bulundu");}
else {Serial.println ("TCS34725 Sensör bulunamadı!");
terwijl (1); Dur! } delay(1000); }
void loop {uint16_t clearcol, rood, groen, blauw, zwevend gemiddelde r, g, b;
tcs.getRawData (& rood & groen, blauw, & clearcol);
gemiddelde = (rood + groen + blauw) / 3; r = rood/gemiddelde; g = groen/gemiddelde;
b = blauw/gemiddelde; 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);
Als ((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); }
anders als ((r < 0.95) & & (g > 1.4) & & (b < 0.9)) {/ / Körfez algılama Serial.print("\tYEŞİL");
Körfez 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); }
anders als ((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); }
Meer İnformation: kleur spreken Robot