control brazo robotico

Dependencies:   mbed

Committer:
mrdarka94
Date:
Sat May 11 03:22:07 2019 +0000
Revision:
0:58800e1db02a
lol

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mrdarka94 0:58800e1db02a 1 #include "mbed.h"
mrdarka94 0:58800e1db02a 2 #include "scolor_TCS3200.h"
mrdarka94 0:58800e1db02a 3
mrdarka94 0:58800e1db02a 4
mrdarka94 0:58800e1db02a 5 scolor_TCS3200::scolor_TCS3200(PinName s0, PinName s1, PinName s2, PinName s3, PinName s_in) :
mrdarka94 0:58800e1db02a 6 _s0(s0), _s1(s1), _s2(s2), _s3(s3), _s_in(s_in)
mrdarka94 0:58800e1db02a 7 {
mrdarka94 0:58800e1db02a 8 SetMode(SCALE_100);
mrdarka94 0:58800e1db02a 9
mrdarka94 0:58800e1db02a 10 };
mrdarka94 0:58800e1db02a 11
mrdarka94 0:58800e1db02a 12
mrdarka94 0:58800e1db02a 13 long scolor_TCS3200::ReadRed() { _s2=0; _s3=0; return pulsewidth();}
mrdarka94 0:58800e1db02a 14 long scolor_TCS3200::ReadBlue() { _s2=0; _s3=1; return pulsewidth();}
mrdarka94 0:58800e1db02a 15 long scolor_TCS3200::ReadClear() { _s2=1; _s3=0; return pulsewidth();}
mrdarka94 0:58800e1db02a 16 long scolor_TCS3200::ReadGreen() { _s2=1; _s3=1; return pulsewidth();}
mrdarka94 0:58800e1db02a 17
mrdarka94 0:58800e1db02a 18 void scolor_TCS3200::SetMode(uint8_t mode) {
mrdarka94 0:58800e1db02a 19 switch (mode){
mrdarka94 0:58800e1db02a 20 case SCALE_100: _s0= 1; _s1=1; break;
mrdarka94 0:58800e1db02a 21 case SCALE_20: _s0=1 ; _s1=0; break;
mrdarka94 0:58800e1db02a 22 case SCALE_2: _s0=0 ; _s1=1; break;
mrdarka94 0:58800e1db02a 23 case POWER_DOWN: _s0=0 ; _s1=0; break;
mrdarka94 0:58800e1db02a 24 }
mrdarka94 0:58800e1db02a 25 };
mrdarka94 0:58800e1db02a 26
mrdarka94 0:58800e1db02a 27 long scolor_TCS3200::pulsewidth() {
mrdarka94 0:58800e1db02a 28 while(_s_in);
mrdarka94 0:58800e1db02a 29 while(!_s_in);
mrdarka94 0:58800e1db02a 30 timer.start();
mrdarka94 0:58800e1db02a 31 while(_s_in);
mrdarka94 0:58800e1db02a 32 while(!_s_in);
mrdarka94 0:58800e1db02a 33 timer.stop();
mrdarka94 0:58800e1db02a 34 float pulsewidth_v = timer.read_us();
mrdarka94 0:58800e1db02a 35 timer.reset();
mrdarka94 0:58800e1db02a 36 return pulsewidth_v;
mrdarka94 0:58800e1db02a 37 };
mrdarka94 0:58800e1db02a 38
mrdarka94 0:58800e1db02a 39
mrdarka94 0:58800e1db02a 40