Codigo donde falta la comunicacion serial

Dependencies:   mbed

princilap.cpp

Committer:
acastiblancoc
Date:
2018-11-22
Revision:
5:342e6640b61e

File content as of revision 5:342e6640b61e:

#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();
    }
}