Daniel Pardo / Mbed 2 deprecated SensorColorBuzzer

Dependencies:   mbed

Committer:
DanielPardo
Date:
Mon Mar 11 16:49:46 2019 +0000
Revision:
0:5522293dc514
Sensore  color + buzzer

Who changed what in which revision?

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