Einer Fabian Aponte Cubides / Mbed 2 deprecated Primeraentrega

Dependencies:   mbed

Committer:
fabeltranm
Date:
Thu Feb 28 22:33:57 2019 +0000
Revision:
1:334b40b47233
Parent:
0:fa6bdbdd4239
Child:
2:d168f964c331
OK

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fabeltranm 0:fa6bdbdd4239 1 #include "mbed.h"
fabeltranm 0:fa6bdbdd4239 2 #include "scolor_TCS3200.h"
fabeltranm 0:fa6bdbdd4239 3
fabeltranm 0:fa6bdbdd4239 4 /* *****************************************************************************
fabeltranm 0:fa6bdbdd4239 5 Programa que solicita telemetria al sistema embebido, por medio del comando 0xFe
fabeltranm 0:fa6bdbdd4239 6 para preguntar por el color que detecta el sensor TCS3200
fabeltranm 0:fa6bdbdd4239 7
fabeltranm 0:fa6bdbdd4239 8 el sistema embebido recibe el inicio de trama FE y el número de comado: 01
fabeltranm 0:fa6bdbdd4239 9
fabeltranm 0:fa6bdbdd4239 10 | INITELE | CMD |
fabeltranm 0:fa6bdbdd4239 11 | 0xfe | 0x01 |
fabeltranm 0:fa6bdbdd4239 12
fabeltranm 0:fa6bdbdd4239 13
fabeltranm 0:fa6bdbdd4239 14 para enviar los comandos usar el programa Coolterm http://freeware.the-meiers.org/
fabeltranm 0:fa6bdbdd4239 15
fabeltranm 0:fa6bdbdd4239 16
fabeltranm 0:fa6bdbdd4239 17 @fabeltranm 2019
fabeltranm 0:fa6bdbdd4239 18 fbeltranm@ecci.edu.co
fabeltranm 0:fa6bdbdd4239 19
fabeltranm 0:fa6bdbdd4239 20 ********************************************************************************
fabeltranm 0:fa6bdbdd4239 21 datasheet https://www.mouser.com/catalog/specsheets/TCS3200-E11.pdf
fabeltranm 0:fa6bdbdd4239 22
fabeltranm 0:fa6bdbdd4239 23
fabeltranm 0:fa6bdbdd4239 24 S0 Frequency scaling
fabeltranm 0:fa6bdbdd4239 25 S1 Frequency scaling
fabeltranm 0:fa6bdbdd4239 26 S2 Photo diode selection
fabeltranm 0:fa6bdbdd4239 27 S3 Photo diode selection
fabeltranm 0:fa6bdbdd4239 28 OutFreq Frequency
fabeltranm 0:fa6bdbdd4239 29
fabeltranm 0:fa6bdbdd4239 30 -----------------------------------
fabeltranm 0:fa6bdbdd4239 31 | ____________ ____________ |
fabeltranm 0:fa6bdbdd4239 32 ----> | | | | | | ___ ___
fabeltranm 0:fa6bdbdd4239 33 Light | | Photodiode | | Current |--|---OUTPUT_FREQ | |___| |___
fabeltranm 0:fa6bdbdd4239 34 ----> | | Array |---| to | |
fabeltranm 0:fa6bdbdd4239 35 | | | | Frequency | |
fabeltranm 0:fa6bdbdd4239 36 | |____________| |____________| |
fabeltranm 0:fa6bdbdd4239 37 | ^ ^ ^ ^ |
fabeltranm 0:fa6bdbdd4239 38 -------|--|-------------|--|-------
fabeltranm 0:fa6bdbdd4239 39 | | | |
fabeltranm 0:fa6bdbdd4239 40 S2 S3 S0 S1
fabeltranm 0:fa6bdbdd4239 41
fabeltranm 0:fa6bdbdd4239 42 SO | S1 | OUTPUT FREQUENCY SCALING | | S2 | S3 | PHOTODIODE TYPE |
fabeltranm 0:fa6bdbdd4239 43 0 | 0 | power down | | 0 | 0 | Red |
fabeltranm 0:fa6bdbdd4239 44 0 | 1 | 2% | | 0 | 1 | Blue |
fabeltranm 0:fa6bdbdd4239 45 1 | 0 | 20% | | 1 | 0 | Clear (no filter) |
fabeltranm 0:fa6bdbdd4239 46 1 | 1 | 100% | | 1 | 1 | Green |
fabeltranm 0:fa6bdbdd4239 47
fabeltranm 0:fa6bdbdd4239 48 ******************************************************************************/
fabeltranm 0:fa6bdbdd4239 49
fabeltranm 0:fa6bdbdd4239 50 #define INITELE 0xFE
fabeltranm 1:334b40b47233 51 #define CMD 0x01
fabeltranm 0:fa6bdbdd4239 52
fabeltranm 0:fa6bdbdd4239 53
fabeltranm 0:fa6bdbdd4239 54
fabeltranm 0:fa6bdbdd4239 55 Serial command(USBTX, USBRX);
fabeltranm 1:334b40b47233 56 // S0, S1, S2, S3, OUT
fabeltranm 1:334b40b47233 57 scolor_TCS3200 scolor(PA_8, PB_10, PB_4, PB_5, PB_3);
fabeltranm 0:fa6bdbdd4239 58
fabeltranm 0:fa6bdbdd4239 59 // definición de las funciones
fabeltranm 0:fa6bdbdd4239 60 void setup_uart();
fabeltranm 0:fa6bdbdd4239 61 void leer_datos();
fabeltranm 0:fa6bdbdd4239 62 void leer_color();
fabeltranm 0:fa6bdbdd4239 63
fabeltranm 0:fa6bdbdd4239 64 uint8_t cmd;
fabeltranm 0:fa6bdbdd4239 65
fabeltranm 0:fa6bdbdd4239 66 int main() {
fabeltranm 0:fa6bdbdd4239 67
fabeltranm 0:fa6bdbdd4239 68 setup_uart();
fabeltranm 0:fa6bdbdd4239 69 while(1){
fabeltranm 0:fa6bdbdd4239 70 leer_datos();
fabeltranm 0:fa6bdbdd4239 71 if (cmd==CMD){}
fabeltranm 1:334b40b47233 72 leer_color();
fabeltranm 0:fa6bdbdd4239 73 }
fabeltranm 0:fa6bdbdd4239 74 }
fabeltranm 0:fa6bdbdd4239 75
fabeltranm 0:fa6bdbdd4239 76
fabeltranm 0:fa6bdbdd4239 77
fabeltranm 0:fa6bdbdd4239 78 void setup_uart(){
fabeltranm 0:fa6bdbdd4239 79 command.baud(115200);
fabeltranm 0:fa6bdbdd4239 80 }
fabeltranm 0:fa6bdbdd4239 81
fabeltranm 0:fa6bdbdd4239 82
fabeltranm 0:fa6bdbdd4239 83 void leer_datos(){
fabeltranm 0:fa6bdbdd4239 84 while(command.getc()!= INITELE);
fabeltranm 0:fa6bdbdd4239 85 cmd=command.getc();
fabeltranm 1:334b40b47233 86
fabeltranm 0:fa6bdbdd4239 87
fabeltranm 0:fa6bdbdd4239 88 }
fabeltranm 0:fa6bdbdd4239 89
fabeltranm 0:fa6bdbdd4239 90
fabeltranm 0:fa6bdbdd4239 91 void leer_color(){
fabeltranm 0:fa6bdbdd4239 92
fabeltranm 1:334b40b47233 93
fabeltranm 1:334b40b47233 94
fabeltranm 0:fa6bdbdd4239 95 long red = scolor.ReadRed();
fabeltranm 0:fa6bdbdd4239 96 long green = scolor.ReadGreen();
fabeltranm 0:fa6bdbdd4239 97 long blue = scolor.ReadBlue();
fabeltranm 0:fa6bdbdd4239 98 long clear = scolor.ReadClear();
fabeltranm 0:fa6bdbdd4239 99
fabeltranm 1:334b40b47233 100 printf("RED: %5d GREEN: %5d BLUE: %5d CLEAR: %5d \n ", red, green, blue, clear);
fabeltranm 0:fa6bdbdd4239 101
fabeltranm 0:fa6bdbdd4239 102 }
fabeltranm 0:fa6bdbdd4239 103
fabeltranm 0:fa6bdbdd4239 104
fabeltranm 0:fa6bdbdd4239 105
fabeltranm 0:fa6bdbdd4239 106
fabeltranm 0:fa6bdbdd4239 107