k

Dependencies:   Servo ServoArm mbed

Committer:
beacon
Date:
Mon May 22 11:24:46 2017 +0000
Revision:
0:15a8480061e8
o

Who changed what in which revision?

UserRevisionLine numberNew contents of line
beacon 0:15a8480061e8 1 #include "Robot.h"
beacon 0:15a8480061e8 2 #include "Declarations.h"
beacon 0:15a8480061e8 3 Serial pc1(USBTX, USBRX);
beacon 0:15a8480061e8 4
beacon 0:15a8480061e8 5 Farbsensor::Farbsensor()
beacon 0:15a8480061e8 6 {
beacon 0:15a8480061e8 7 }
beacon 0:15a8480061e8 8
beacon 0:15a8480061e8 9 Farbsensor::Farbsensor(AnalogIn* FarbVoltage)
beacon 0:15a8480061e8 10 {
beacon 0:15a8480061e8 11 init(FarbVoltage);
beacon 0:15a8480061e8 12 }
beacon 0:15a8480061e8 13
beacon 0:15a8480061e8 14 void Farbsensor::init(AnalogIn* FarbVoltage)
beacon 0:15a8480061e8 15 {
beacon 0:15a8480061e8 16 this->FarbVoltage= FarbVoltage;
beacon 0:15a8480061e8 17 }
beacon 0:15a8480061e8 18
beacon 0:15a8480061e8 19 int Farbsensor::read()
beacon 0:15a8480061e8 20 {
beacon 0:15a8480061e8 21 static int time=0;
beacon 0:15a8480061e8 22 static float messungen=0.0f;
beacon 0:15a8480061e8 23 if( time < 10 ){
beacon 0:15a8480061e8 24 messungen += FarbVoltage->read();
beacon 0:15a8480061e8 25 time++;
beacon 0:15a8480061e8 26 return -1;
beacon 0:15a8480061e8 27 }
beacon 0:15a8480061e8 28 else{
beacon 0:15a8480061e8 29 float Ufarbsensor = messungen/10.0;
beacon 0:15a8480061e8 30 Ufarbsensor = Ufarbsensor*3300;//Set the Voltage between 0mV und 3300mV
beacon 0:15a8480061e8 31 pc1.printf("measure = %.0f mV\n", Ufarbsensor);
beacon 0:15a8480061e8 32
beacon 0:15a8480061e8 33 messungen = 0.0f;
beacon 0:15a8480061e8 34 time = 0;
beacon 0:15a8480061e8 35 if ((Ufarbsensor > GREEN_DOWNLIMIT) && (Ufarbsensor < GREEN_UPLIMIT))
beacon 0:15a8480061e8 36 {
beacon 0:15a8480061e8 37 return GREEN;
beacon 0:15a8480061e8 38 }
beacon 0:15a8480061e8 39 else if(Ufarbsensor < RED_UPLIMIT)
beacon 0:15a8480061e8 40 {
beacon 0:15a8480061e8 41 return RED;
beacon 0:15a8480061e8 42 }
beacon 0:15a8480061e8 43 else
beacon 0:15a8480061e8 44 {
beacon 0:15a8480061e8 45 return NOBLOCK;
beacon 0:15a8480061e8 46 }
beacon 0:15a8480061e8 47 }
beacon 0:15a8480061e8 48 }
beacon 0:15a8480061e8 49
beacon 0:15a8480061e8 50 Farbsensor::operator int()
beacon 0:15a8480061e8 51 {
beacon 0:15a8480061e8 52 return read();
beacon 0:15a8480061e8 53 }