Marlon Daniel Quiroga
/
Final2
Final segundon corte
scolor_TCS3200.h@11:30f57addb79f, 2019-05-29 (annotated)
- 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?
User | Revision | Line number | New 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 |