Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@0:fa6bdbdd4239, 2019-02-28 (annotated)
- 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?
User | Revision | Line number | New 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 |