![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
TP_presa
Dependencies: SRF08 Servo mbed
Diff: CAR.cpp
- Revision:
- 6:d61052f4ab1e
- Child:
- 7:7d3c6326cbc3
diff -r 8c2101d3ecef -r d61052f4ab1e CAR.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CAR.cpp Mon Jun 26 06:36:03 2017 +0000 @@ -0,0 +1,98 @@ +#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.125); + emiss(0,0); + emiss(5,0); +} +void CAR::tourner_gauche(char Vit) +{ + emiss(1,Vit); + emiss(4,Vit); + wait(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); +} + + +