TP_presa

Dependencies:   SRF08 Servo mbed

CAR.cpp

Committer:
Remi95
Date:
2017-06-26
Revision:
7:7d3c6326cbc3
Parent:
6:d61052f4ab1e

File content as of revision 7:7d3c6326cbc3:

#include "mbed.h"
#include "CAR.h"


#define Adress 128
DigitalOut myled1(LED1);
DigitalOut myled2(LED2);
DigitalOut myled3(LED3);
DigitalOut myled4(LED4);
//DigitalOut S2 (p11);

//Serial bt(p13,p14);
Serial sbt(p9, p10); // tx, rx
//AnalogIn btri (p28);

//char action;
int iCoefVirage=0.44;
//string sprintf;

CAR::CAR(PinName TX, PinName RX) {
       Serial sbt (TX ,RX );
}
//CAR::~CAR() {

//}
void CAR::Led (bool l1,bool l2,bool l3,bool l4)   //Fonction pour aider au debug avec les led
{
    myled1=l1;
    myled2=l2;
    myled3=l3;
    myled4=l4;
}

void CAR::emiss(char Code,  char Vit)
{
    sbt.putc(Adress);
    sbt.putc(Code);
    sbt.putc(Vit);
    sbt.putc((Adress+Code+Vit) & 127);
}
void CAR::myVirageGauche (char Vit , char Ang)
{
    emiss(1,Vit);
    emiss(4,Vit);
    wait(0.792);   //Remplacer par (Ang*iCoefVirage)/Vit
    emiss(1,0);
    emiss(4,0);
}
void CAR::myVirageDroite (char Vit , char Ang)
{
    emiss(0,Vit);
    emiss(5,Vit);
    wait(0.792);
    emiss(0,0);
    emiss(5,0);
}
void CAR::avancer(char Vit)
{
    emiss(0,Vit);
    emiss(4,Vit);
}
void CAR::reculer(char Vit)
{
    emiss(1,Vit);
    emiss(5,Vit);
}
void CAR::arreter(void)
{
    emiss(0,0);
    emiss(4,0);
}
void CAR::tourner_droite(char Vit)
{
    emiss(0,Vit);
    emiss(5,Vit);
    wait(0.250);
    emiss(0,0);
    emiss(5,0);
}
void CAR::tourner_gauche(char Vit)
{
    emiss(1,Vit);
    emiss(4,Vit);
    wait(0.250); //0.125
    emiss(1,0);
    emiss(4,0);
}
void CAR::demi_tour_droite(char Vit)
{
    myVirageDroite(Vit,180);
}
void CAR::demi_tour_gauche(char Vit)
{
    myVirageGauche(Vit,180);
}