Alyson Castiblanco
/
PARQUEADERO_VERTICAL
Codigo donde falta la comunicacion serial
Diff: princilap.cpp
- Revision:
- 5:342e6640b61e
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/princilap.cpp Thu Nov 22 09:48:47 2018 +0000 @@ -0,0 +1,130 @@ +#include "mbed.h" +Serial pc(SERIAL_TX, SERIAL_RX); +AnalogIn sensoras1(A0); +AnalogIn sensoras2(A1); +AnalogIn sensoras3(A2); +DigitalIn sensorc1(D15); +DigitalIn sensorc2(D14); +DigitalIn sensorc3(D13); +DigitalIn sensorc4(D12); +DigitalIn sensorc5(D11); +DigitalIn sensorc6(D10); +BusOut myleds(LED1, LED2, LED3, LED4); +BusOut motor(D4, D5, D6, D7); + +int tiempo = 12000; +void ADCC() +{ + float s1=sensoras1.read(); + float s2=sensoras2.read(); + float s3=sensoras3.read(); + /*printf("sensor 1 = %f\n", s1); + printf("sensor 2 = %f\n", s2); + printf("sensor 3 = %f\n", s3);*/ + if(s1>0.8 && s2<0.1 && s3>0.8) + printf("piso 1\n"); + if(s1<0.1 && s2>0.8 && s3<0.1) + printf("piso 2\n"); + if(s1>0.8 && s2<0.1 && s3<0.1) + printf("piso 3\n"); + if(s1<0.1 && s2<0.1 && s3>0.8) + printf("piso 4\n"); + if(s1<0.1 && s2>0.8 && s3>0.8) + printf("piso 5\n"); + if(s1>0.8 && s2>0.8 && s3<0.1) + printf("piso 6\n"); + else + printf("no piso\n"); +} + +void carro1() +{int c=sensorc1.read(); +//printf("sensor piso 1 = %i\n", c); +if(c==1) +printf("Hay carro en piso 1 \n"); +} +void carro2() +{int c1=sensorc2.read(); +//printf("sensor piso 1 = %i\n", c); +if(c1==1) +printf("Hay carro en piso 2 \n"); +} +void carro3() +{int c2=sensorc3.read(); +//printf("sensor piso 1 = %i\n", c); +if(c2==1) +printf("Hay carro en piso 3 \n"); +} +void carro4() +{int c3=sensorc4.read(); +//printf("sensor piso 1 = %i\n", c); +if(c3==1) +printf("Hay carro en piso 4 \n"); +} +void carro5() +{int c4=sensorc5.read(); +//printf("sensor piso 1 = %i\n", c); +if(c4==1) +printf("Hay carro en piso 1 \n"); +} +void carro6() +{int c5=sensorc6.read(); +//printf("sensor piso 1 = %i\n", c); +if(c5==1) +printf("Hay carro en piso 1 \n"); +} +void detectarcarro() +{ +//int c=sensorc.read(); +//printf("sensor piso 1 = %i\n", c); +/*if(c==1) +printf("Hay carro en piso 1 \n");*/ +carro1(); +wait_ms(200); +carro2(); +wait_ms(200); +carro3(); +wait_ms(200); +carro4(); +wait_ms(200); +carro5(); +wait_ms(200); +carro6(); +wait_ms(200); +} + +void pasoapaso() +{ + for (int s = 0; s < 120 ; s +=1) { + motor = (0xA); //1010 + wait_us(tiempo); + motor = (0x6);//0110 + wait_us(tiempo); + motor = (0x5);//0101 + wait_us(tiempo); + motor = (0x9);//1001 + wait_us(tiempo); + } + wait(2); + for (int s = 0; s < 120 ; s +=1) {//ahora en sentido contrario + motor = (0x9);//1001 + wait_us(tiempo); + motor = (0x5);//0101 + wait_us(tiempo); + motor = (0x6);//0110 + wait_us(tiempo); + motor = (0xA);//1010 + wait_us(tiempo); + } + wait(2); + } + +int main() { + + while(1) { + //ADCC(); + detectarcarro(); + //wait(0.5); + //pasoapaso(); + } +}