Capteur_US

Dependencies:   mbed DRV8825

Revision:
5:34ed652f8c31
Parent:
3:3ba377aafdfd
Child:
6:ea6b30c4bb01
--- a/odo_asserv.cpp	Sat Jul 18 17:09:08 2020 +0000
+++ b/odo_asserv.cpp	Tue Jul 21 19:33:38 2020 +0000
@@ -1,11 +1,5 @@
 //Nom du fichier : odo_asserv.cpp
 #include "pins.h"
-#define Pi 3.14159265359
-
-#define capt 1000 // Nb d'impulsions
-#define ecart 245 // Distance en mm entre les deux roues codeuses
-#define diametreRoueCodeuse 51.450 // Diamètre de la roue codeuse en mm
-#define perimetreRoueCodeuse (diametreRoueCodeuse * Pi)
 
 // Variables globales
 // cpt_cdgA est le compteur d'impulsion du codeur de gauche
@@ -15,11 +9,11 @@
 
 void odometrie(){
 
-    float distG = (cpt_cdgA * perimetreRoueCodeuse) / capt; // 1000 est le nombre d'impulsions par tour de la roue codeuse 
-    float distD = (cpt_cddA * perimetreRoueCodeuse) / capt; // 1000 est le nombre d'impulsions par tour de la roue codeuse 
+    float distG = (cpt_cdgA * perimetreRoueCodeuse) / NbPulseCodeur; // 1000 est le nombre d'impulsions par tour de la roue codeuse 
+    float distD = (cpt_cddA * perimetreRoueCodeuse) / NbPulseCodeur; // 1000 est le nombre d'impulsions par tour de la roue codeuse 
     
     float distRobot = (distG + distD) / 2; // Distance parcourue par le robot (en mm)
-    float rayon = (ecart /2) * ((distD + distG) / (distD - distD)); // Trajectoire s'apparente à un cercle
+    float rayon = (ecartCodeuse /2) * ((distD + distG) / (distD - distD)); // Trajectoire s'apparente à un cercle
     
     float dTheta = distRobot / rayon; // Changement d'orientation => Commande
     float posX0 = posX - rayon*cos(theta);