Programme course fonctionnel Jour J Croisement non pris en charge (tourne en rond)

Dependencies:   MMA8451Q mbed

Fork of Programme_course_30Tr by Freescale_Cachan

Revision:
0:3ec7fc598e48
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/motor.cpp	Thu Jan 26 07:37:45 2017 +0000
@@ -0,0 +1,57 @@
+#include "motor.h"
+
+
+PwmOut moteurA_avancer (PTC2);
+PwmOut moteurA_reculer (PTC1);
+
+PwmOut moteurB_avancer (PTC4);
+PwmOut moteurB_reculer (PTC3);
+
+
+PwmOut servo (PTB0);
+
+void PWM_motor (int vitesse_gauche ,int vitesse_droite)
+{  
+
+        if(vitesse_gauche >= 0)//On avance
+        {
+            moteurA_reculer.write(0);
+            moteurA_avancer.write((vitesse_gauche*CORRECTION)/100.0);
+        }
+        else//On recule
+        {
+            moteurA_avancer.write(0);
+            moteurA_reculer.write(vitesse_gauche/100.0);
+        }          
+
+  
+        if(vitesse_droite >= 0)//On avance
+        {
+            moteurB_reculer.write(0);
+            moteurB_avancer.write(vitesse_droite/100.0);
+        }
+        else//On recule
+        {
+            moteurB_avancer.write(0);
+            moteurB_reculer.write(vitesse_droite/100.0);
+        }
+ 
+}
+void motor_init()
+{
+    moteurA_avancer.period(1.0/FREQ_PWM);
+    moteurB_avancer.write(0);
+    moteurA_avancer.write(0);
+    moteurB_reculer.write(0);
+    moteurA_reculer.write(0);
+    activate_motor = 1;
+    
+}
+void angle_servo_moteur (double angle)
+{
+    if(angle > 30) angle = 30;
+    if(angle < -30) angle = -30;
+    angle = (angle * PWM_ANGLE_DROIT_MAX) / ANGLE_DROIT_MAX;
+    angle += 0.0725; 
+    servo.write(angle);
+}