ICRS Eurobot 2013
Dependencies: mbed mbed-rtos Servo QEI
Colour.cpp
00001 00002 // Eurobot13 Colour.cpp 00003 00004 #include "Colour.h" 00005 00006 void Colour::ReadLed (DigitalOut &led, float &avg, float &stdev, const int measureNum){ 00007 LedsOff(); 00008 led = 1; 00009 double x = 0, x2 = 0; 00010 for (int i = measureNum; i != 0; i--) { 00011 float v = pt.read(); 00012 x += v; 00013 x2+= v*v; 00014 } 00015 avg = x / measureNum; 00016 stdev = sqrt(x2 / measureNum - avg*avg); 00017 LedsOff(); 00018 //pc.printf("Phototransistor Analog is: %f\t%f\n\r", avg, stdev); 00019 } 00020 00021 bool Colour::isColour(DigitalOut &led, const float &avg, const float &stdev, const float numstddev){ 00022 float avg2, stdev2; 00023 ReadLed(led, avg2, stdev2); 00024 00025 if (avg + numstddev*stdev < avg2 - numstddev*stdev2) { 00026 return true; 00027 } else { 00028 return false; 00029 } 00030 }
Generated on Wed Jul 13 2022 18:28:36 by 1.7.2