Programa araña

Dependencies:   mbed

Committer:
Yulied97
Date:
Tue Nov 20 01:53:38 2018 +0000
Revision:
0:bf91ab2afeaf
Programa ara?a;

Who changed what in which revision?

UserRevisionLine numberNew 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 }