Prog Thib Ju

Dependencies:   mbed

main.cpp

Committer:
JulienB1
Date:
2019-04-11
Revision:
0:5535594ef331

File content as of revision 0:5535594ef331:

#include "mbed.h"
 

PwmOut moteur1(D10); 
PwmOut moteur2(D9);
DigitalOut Trig(D12);
InterruptIn reception(D8);

DigitalOut myled(LED1);

DigitalOut LED(LED1);
Serial pc(USBTX, USBRX);
Timer t;
double  distance ;
double rc;

void front_montant()
{
    t.start();
}

void front_descendant()
{
    t.stop();
    double distance = 330*t.read()/2*1.06;
   // pc.printf("Distance = %f \r\n",330*t.read()/2*1.06);
    pc.printf("Distance = %lf \r\n", distance);
    t.reset();
    myled =1;
    if (distance<=0.10){ rc = 0;}
    if (distance<=0.20 && distance>0.10){ rc = 0.5;}
    if (distance >=0.20) { rc = 1; }
    //if (distance<=0.40 && distance>0.20){ rc = 0.6;}
    //if (distance<=0.50 && distance>0.40){ rc = 0.8;}
    //pc.printf("rapport cyclique = \r \n"); 
    //pc.scanf("%lf" ,&rc);
    pc.printf("Nouvelle valeur du rapport cyclique = %lf \r \n", rc);
    moteur2.write(rc);
} 

int main() 
{
    t.reset();
    reception.rise(&front_montant);
    reception.fall(&front_descendant);
    moteur1.period_ms(10);
    moteur2.period_ms(10);
    moteur1.write(0);
    moteur2.write(0);
    pc.baud(9600);
    
    while(1)
    {
        Trig = 1;
        wait(0.001);
        Trig =0 ; 
        wait(0.001);
    /*    Trig = 0;
        Trig = 1;    
    
    //pc.printf("rapport cyclique = \r \n"); 
    //pc.scanf("%lf" ,&rc);
        pc.printf("Nouvelle valeur du rapport cyclique = %lf \r \n", rc);
        moteur_cc_pwm.write(rc);
    */    
    }
}