Rémi Gui / Mbed 2 deprecated Auto_Motor

Dependencies:   SRF08 Servo mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers CAR.cpp Source File

CAR.cpp

00001 #include "mbed.h"
00002 #include "CAR.h"
00003 
00004 
00005 #define Adress 128
00006 DigitalOut myled1(LED1);
00007 DigitalOut myled2(LED2);
00008 DigitalOut myled3(LED3);
00009 DigitalOut myled4(LED4);
00010 //DigitalOut S2 (p11);
00011 
00012 //Serial bt(p13,p14);
00013 Serial sbt(p9, p10); // tx, rx
00014 //AnalogIn btri (p28);
00015 
00016 //char action;
00017 int iCoefVirage=0.44;
00018 //string sprintf;
00019 
00020 CAR::CAR(PinName TX, PinName RX) {
00021        Serial sbt (TX ,RX );
00022 }
00023 //CAR::~CAR() {
00024 
00025 //}
00026 void CAR::Led (bool l1,bool l2,bool l3,bool l4)   //Fonction pour aider au debug avec les led
00027 {
00028     myled1=l1;
00029     myled2=l2;
00030     myled3=l3;
00031     myled4=l4;
00032 }
00033 
00034 void CAR::emiss(char Code,  char Vit)
00035 {
00036     sbt.putc(Adress);
00037     sbt.putc(Code);
00038     sbt.putc(Vit);
00039     sbt.putc((Adress+Code+Vit) & 127);
00040 }
00041 void CAR::myVirageGauche (char Vit , char Ang)
00042 {
00043     emiss(1,Vit);
00044     emiss(4,Vit);
00045     wait(0.792);   //Remplacer par (Ang*iCoefVirage)/Vit
00046     emiss(1,0);
00047     emiss(4,0);
00048 }
00049 void CAR::myVirageDroite (char Vit , char Ang)
00050 {
00051     emiss(0,Vit);
00052     emiss(5,Vit);
00053     wait(0.792);
00054     emiss(0,0);
00055     emiss(5,0);
00056 }
00057 void CAR::avancer(char Vit)
00058 {
00059     emiss(0,Vit);
00060     emiss(4,Vit);
00061 }
00062 void CAR::reculer(char Vit)
00063 {
00064     emiss(1,Vit);
00065     emiss(5,Vit);
00066 }
00067 void CAR::arreter(void)
00068 {
00069     emiss(0,0);
00070     emiss(4,0);
00071 }
00072 void CAR::tourner_droite(char Vit)
00073 {
00074     emiss(0,Vit);
00075     emiss(5,Vit);
00076     wait(0.250);
00077     emiss(0,0);
00078     emiss(5,0);
00079 }
00080 void CAR::tourner_gauche(char Vit)
00081 {
00082     emiss(1,Vit);
00083     emiss(4,Vit);
00084     wait(0.250); //0.125
00085     emiss(1,0);
00086     emiss(4,0);
00087 }
00088 void CAR::demi_tour_droite(char Vit)
00089 {
00090     myVirageDroite(Vit,180);
00091 }
00092 void CAR::demi_tour_gauche(char Vit)
00093 {
00094     myVirageGauche(Vit,180);
00095 }
00096 
00097 
00098