Yulied Ahumada
/
ProyectoEmbebidos
Programa araña
Color.cpp@0:bf91ab2afeaf, 2018-11-20 (annotated)
- Committer:
- Yulied97
- Date:
- Tue Nov 20 01:53:38 2018 +0000
- Revision:
- 0:bf91ab2afeaf
Programa ara?a;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Yulied97 | 0:bf91ab2afeaf | 1 | #include "mbed.h" |
Yulied97 | 0:bf91ab2afeaf | 2 | |
Yulied97 | 0:bf91ab2afeaf | 3 | //*****************************************************************************// |
Yulied97 | 0:bf91ab2afeaf | 4 | // Distribucion pines sensor de color |
Yulied97 | 0:bf91ab2afeaf | 5 | |
Yulied97 | 0:bf91ab2afeaf | 6 | //DigitalOut S0(PA_12); // D2 | 0 0 POWER DOWN | 0 1 2% | 1 0 20% | 1 1 100% |
Yulied97 | 0:bf91ab2afeaf | 7 | //DigitalOut S1(PB_3); // D3 | 0 1 20% |
Yulied97 | 0:bf91ab2afeaf | 8 | DigitalIn Out(PA_7); // D11 | SALIDA SENSOR |
Yulied97 | 0:bf91ab2afeaf | 9 | DigitalOut S2(PA_6); // D12 | 0 0 RED | 0 1 BLUE | 1 0 ALL | 1 1 GREEN |
Yulied97 | 0:bf91ab2afeaf | 10 | DigitalOut S3(PA_5); // D13 | 0 0 RED | 0 1 BLUE | 1 0 ALL | 1 1 GREEN |
Yulied97 | 0:bf91ab2afeaf | 11 | |
Yulied97 | 0:bf91ab2afeaf | 12 | //*****************************************************************************// |
Yulied97 | 0:bf91ab2afeaf | 13 | // FUNCION AUXILIAR PARA LEER EL COLOR |
Yulied97 | 0:bf91ab2afeaf | 14 | |
Yulied97 | 0:bf91ab2afeaf | 15 | int readAux() |
Yulied97 | 0:bf91ab2afeaf | 16 | { |
Yulied97 | 0:bf91ab2afeaf | 17 | Timer Tiempo; |
Yulied97 | 0:bf91ab2afeaf | 18 | int inicial = 0, final = 0, resultado = 0; |
Yulied97 | 0:bf91ab2afeaf | 19 | |
Yulied97 | 0:bf91ab2afeaf | 20 | Tiempo.start(); |
Yulied97 | 0:bf91ab2afeaf | 21 | |
Yulied97 | 0:bf91ab2afeaf | 22 | while(Out == 1); |
Yulied97 | 0:bf91ab2afeaf | 23 | while(Out == 0); |
Yulied97 | 0:bf91ab2afeaf | 24 | while(Out == 1); |
Yulied97 | 0:bf91ab2afeaf | 25 | |
Yulied97 | 0:bf91ab2afeaf | 26 | inicial = Tiempo.read_us(); |
Yulied97 | 0:bf91ab2afeaf | 27 | |
Yulied97 | 0:bf91ab2afeaf | 28 | while (Out == 0); |
Yulied97 | 0:bf91ab2afeaf | 29 | |
Yulied97 | 0:bf91ab2afeaf | 30 | final = Tiempo.read_us(); |
Yulied97 | 0:bf91ab2afeaf | 31 | |
Yulied97 | 0:bf91ab2afeaf | 32 | resultado = (final - inicial); |
Yulied97 | 0:bf91ab2afeaf | 33 | return (resultado); |
Yulied97 | 0:bf91ab2afeaf | 34 | } |
Yulied97 | 0:bf91ab2afeaf | 35 | |
Yulied97 | 0:bf91ab2afeaf | 36 | //*****************************************************************************// |
Yulied97 | 0:bf91ab2afeaf | 37 | // FUNCION PARA LEER EL COLOR |
Yulied97 | 0:bf91ab2afeaf | 38 | |
Yulied97 | 0:bf91ab2afeaf | 39 | int readColor() |
Yulied97 | 0:bf91ab2afeaf | 40 | { |
Yulied97 | 0:bf91ab2afeaf | 41 | int rojo = 0, azul = 0, verde = 0; |
Yulied97 | 0:bf91ab2afeaf | 42 | int color; |
Yulied97 | 0:bf91ab2afeaf | 43 | |
Yulied97 | 0:bf91ab2afeaf | 44 | //S0.write(1); |
Yulied97 | 0:bf91ab2afeaf | 45 | //S1.write(1); |
Yulied97 | 0:bf91ab2afeaf | 46 | |
Yulied97 | 0:bf91ab2afeaf | 47 | S2.write(0); |
Yulied97 | 0:bf91ab2afeaf | 48 | S3.write(0); |
Yulied97 | 0:bf91ab2afeaf | 49 | rojo = readAux(); |
Yulied97 | 0:bf91ab2afeaf | 50 | |
Yulied97 | 0:bf91ab2afeaf | 51 | S2.write(0); |
Yulied97 | 0:bf91ab2afeaf | 52 | S3.write(1); |
Yulied97 | 0:bf91ab2afeaf | 53 | azul = readAux(); |
Yulied97 | 0:bf91ab2afeaf | 54 | |
Yulied97 | 0:bf91ab2afeaf | 55 | S2.write(1); |
Yulied97 | 0:bf91ab2afeaf | 56 | S3.write(1); |
Yulied97 | 0:bf91ab2afeaf | 57 | verde = readAux(); |
Yulied97 | 0:bf91ab2afeaf | 58 | |
Yulied97 | 0:bf91ab2afeaf | 59 | if (rojo < azul && verde > azul && rojo < 35) |
Yulied97 | 0:bf91ab2afeaf | 60 | { color = 1; } |
Yulied97 | 0:bf91ab2afeaf | 61 | |
Yulied97 | 0:bf91ab2afeaf | 62 | else if (azul < rojo && azul < verde && verde < rojo) |
Yulied97 | 0:bf91ab2afeaf | 63 | { color = 2; } |
Yulied97 | 0:bf91ab2afeaf | 64 | |
Yulied97 | 0:bf91ab2afeaf | 65 | else if (rojo < azul && azul > verde ) |
Yulied97 | 0:bf91ab2afeaf | 66 | { color = 3; } |
Yulied97 | 0:bf91ab2afeaf | 67 | |
Yulied97 | 0:bf91ab2afeaf | 68 | else |
Yulied97 | 0:bf91ab2afeaf | 69 | { color = 4; } |
Yulied97 | 0:bf91ab2afeaf | 70 | |
Yulied97 | 0:bf91ab2afeaf | 71 | return (color); |
Yulied97 | 0:bf91ab2afeaf | 72 | |
Yulied97 | 0:bf91ab2afeaf | 73 | } |