Einer Fabian Aponte Cubides / Mbed 2 deprecated Primeraentrega

Dependencies:   mbed

Committer:
fabeltranm
Date:
Thu Feb 28 22:05:21 2019 +0000
Revision:
0:fa6bdbdd4239
Child:
1:334b40b47233
init sensor color ;

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 0:fa6bdbdd4239 51 #define CMD 0xF1
fabeltranm 0:fa6bdbdd4239 52
fabeltranm 0:fa6bdbdd4239 53
fabeltranm 0:fa6bdbdd4239 54
fabeltranm 0:fa6bdbdd4239 55 Serial command(USBTX, USBRX);
fabeltranm 0:fa6bdbdd4239 56 scolor_TCS3200 scolor(PB_4, PB_5, PB_6, PB_7, PB_8);
fabeltranm 0:fa6bdbdd4239 57
fabeltranm 0:fa6bdbdd4239 58 // definición de las funciones
fabeltranm 0:fa6bdbdd4239 59 void setup_uart();
fabeltranm 0:fa6bdbdd4239 60 void leer_datos();
fabeltranm 0:fa6bdbdd4239 61 void leer_color();
fabeltranm 0:fa6bdbdd4239 62
fabeltranm 0:fa6bdbdd4239 63 uint8_t cmd;
fabeltranm 0:fa6bdbdd4239 64
fabeltranm 0:fa6bdbdd4239 65 int main() {
fabeltranm 0:fa6bdbdd4239 66
fabeltranm 0:fa6bdbdd4239 67 setup_uart();
fabeltranm 0:fa6bdbdd4239 68 while(1){
fabeltranm 0:fa6bdbdd4239 69 leer_datos();
fabeltranm 0:fa6bdbdd4239 70 if (cmd==CMD){}
fabeltranm 0:fa6bdbdd4239 71 //leer_color();
fabeltranm 0:fa6bdbdd4239 72 }
fabeltranm 0:fa6bdbdd4239 73 }
fabeltranm 0:fa6bdbdd4239 74
fabeltranm 0:fa6bdbdd4239 75
fabeltranm 0:fa6bdbdd4239 76
fabeltranm 0:fa6bdbdd4239 77 void setup_uart(){
fabeltranm 0:fa6bdbdd4239 78 command.baud(115200);
fabeltranm 0:fa6bdbdd4239 79 }
fabeltranm 0:fa6bdbdd4239 80
fabeltranm 0:fa6bdbdd4239 81
fabeltranm 0:fa6bdbdd4239 82 void leer_datos(){
fabeltranm 0:fa6bdbdd4239 83 while(command.getc()!= INITELE);
fabeltranm 0:fa6bdbdd4239 84 cmd=command.getc();
fabeltranm 0:fa6bdbdd4239 85
fabeltranm 0:fa6bdbdd4239 86 }
fabeltranm 0:fa6bdbdd4239 87
fabeltranm 0:fa6bdbdd4239 88
fabeltranm 0:fa6bdbdd4239 89 void leer_color(){
fabeltranm 0:fa6bdbdd4239 90
fabeltranm 0:fa6bdbdd4239 91 long red = scolor.ReadRed();
fabeltranm 0:fa6bdbdd4239 92 long green = scolor.ReadGreen();
fabeltranm 0:fa6bdbdd4239 93 long blue = scolor.ReadBlue();
fabeltranm 0:fa6bdbdd4239 94 long clear = scolor.ReadClear();
fabeltranm 0:fa6bdbdd4239 95
fabeltranm 0:fa6bdbdd4239 96 printf("RED: %10d GREEN: %10d BLUE: %10d CLEAR: %10d ", red, green, blue, clear);
fabeltranm 0:fa6bdbdd4239 97
fabeltranm 0:fa6bdbdd4239 98 }
fabeltranm 0:fa6bdbdd4239 99
fabeltranm 0:fa6bdbdd4239 100
fabeltranm 0:fa6bdbdd4239 101
fabeltranm 0:fa6bdbdd4239 102
fabeltranm 0:fa6bdbdd4239 103