Final segundon corte

Dependencies:   mbed

Committer:
MarlonQ
Date:
Wed May 29 15:44:04 2019 +0000
Revision:
11:30f57addb79f
Parent:
0:fa6bdbdd4239
Final segundo corte;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fabeltranm 0:fa6bdbdd4239 1 #ifndef SCOLOR_TCS3200_H
fabeltranm 0:fa6bdbdd4239 2 #define SCOLOR_TCS3200_H
fabeltranm 0:fa6bdbdd4239 3 #include "mbed.h"
fabeltranm 0:fa6bdbdd4239 4 /* **************************************************************************
fabeltranm 0:fa6bdbdd4239 5
fabeltranm 0:fa6bdbdd4239 6 @fabeltranm 2019
fabeltranm 0:fa6bdbdd4239 7 fbeltranm@ecci.edu.co
fabeltranm 0:fa6bdbdd4239 8
fabeltranm 0:fa6bdbdd4239 9
fabeltranm 0:fa6bdbdd4239 10 datasheet https://www.mouser.com/catalog/specsheets/TCS3200-E11.pdf
fabeltranm 0:fa6bdbdd4239 11
fabeltranm 0:fa6bdbdd4239 12
fabeltranm 0:fa6bdbdd4239 13 S0 Frequency scaling
fabeltranm 0:fa6bdbdd4239 14 S1 Frequency scaling
fabeltranm 0:fa6bdbdd4239 15 S2 Photo diode selection
fabeltranm 0:fa6bdbdd4239 16 S3 Photo diode selection
fabeltranm 0:fa6bdbdd4239 17 OutFreq Frequency
fabeltranm 0:fa6bdbdd4239 18
fabeltranm 0:fa6bdbdd4239 19 -----------------------------------
fabeltranm 0:fa6bdbdd4239 20 | ____________ ____________ |
fabeltranm 0:fa6bdbdd4239 21 ----> | | | | | | ___ ___
fabeltranm 0:fa6bdbdd4239 22 Light | | Photodiode | | Current |--|---OUTPUT_FREQ | |___| |___
fabeltranm 0:fa6bdbdd4239 23 ----> | | Array |---| to | |
fabeltranm 0:fa6bdbdd4239 24 | | | | Frequency | |
fabeltranm 0:fa6bdbdd4239 25 | |____________| |____________| |
fabeltranm 0:fa6bdbdd4239 26 | ^ ^ ^ ^ |
fabeltranm 0:fa6bdbdd4239 27 -------|--|-------------|--|-------
fabeltranm 0:fa6bdbdd4239 28 | | | |
fabeltranm 0:fa6bdbdd4239 29 S2 S3 S0 S1
fabeltranm 0:fa6bdbdd4239 30
fabeltranm 0:fa6bdbdd4239 31 SO | S1 | OUTPUT FREQUENCY SCALING | | S2 | S3 | PHOTODIODE TYPE |
fabeltranm 0:fa6bdbdd4239 32 0 | 0 | power down | | 0 | 0 | Red |
fabeltranm 0:fa6bdbdd4239 33 0 | 1 | 2% | | 0 | 1 | Blue |
fabeltranm 0:fa6bdbdd4239 34 1 | 0 | 20% | | 1 | 0 | Clear (no filter) |
fabeltranm 0:fa6bdbdd4239 35 1 | 1 | 100% | | 1 | 1 | Green |
fabeltranm 0:fa6bdbdd4239 36
fabeltranm 0:fa6bdbdd4239 37 ******************************************************************************/
fabeltranm 0:fa6bdbdd4239 38
fabeltranm 0:fa6bdbdd4239 39
fabeltranm 0:fa6bdbdd4239 40 #define SCALE_100 1
fabeltranm 0:fa6bdbdd4239 41 #define SCALE_20 2
fabeltranm 0:fa6bdbdd4239 42 #define SCALE_2 3
fabeltranm 0:fa6bdbdd4239 43 #define POWER_DOWN 4
fabeltranm 0:fa6bdbdd4239 44
fabeltranm 0:fa6bdbdd4239 45 class scolor_TCS3200 {
fabeltranm 0:fa6bdbdd4239 46 public:
fabeltranm 0:fa6bdbdd4239 47 scolor_TCS3200(PinName s0, PinName s1, PinName s2, PinName s3, PinName s_in);
fabeltranm 0:fa6bdbdd4239 48 long ReadRed(); // retorno el tiempo en alto de OutFreq para Rojo en ns
fabeltranm 0:fa6bdbdd4239 49 long ReadGreen(); // retorno el tiempo en alto de OutFreq para verde en ns
fabeltranm 0:fa6bdbdd4239 50 long ReadBlue(); // retorno el tiempo en alto de OutFreq color azul en ns
fabeltranm 0:fa6bdbdd4239 51 long ReadClear(); // retorno el tiempo en alto de OutFreq sin filtro en ns
fabeltranm 0:fa6bdbdd4239 52 void SetMode(uint8_t mode);
fabeltranm 0:fa6bdbdd4239 53 private:
fabeltranm 0:fa6bdbdd4239 54 DigitalOut _s0;
fabeltranm 0:fa6bdbdd4239 55 DigitalOut _s1;
fabeltranm 0:fa6bdbdd4239 56 DigitalOut _s2;
fabeltranm 0:fa6bdbdd4239 57 DigitalOut _s3;
fabeltranm 0:fa6bdbdd4239 58 DigitalIn _s_in;
fabeltranm 0:fa6bdbdd4239 59 Timer timer;
fabeltranm 0:fa6bdbdd4239 60 long pulsewidth();
fabeltranm 0:fa6bdbdd4239 61
fabeltranm 0:fa6bdbdd4239 62 };
fabeltranm 0:fa6bdbdd4239 63 #endif