TP_presa

Dependencies:   SRF08 Servo mbed

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);
+}
+
+
+