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

Dependencies:   MMA8451Q mbed

Fork of Programme_course_30Tr by Freescale_Cachan

motor.cpp

Committer:
leandre
Date:
2017-03-24
Revision:
5:7714a216c91d
Parent:
0:3ec7fc598e48

File content as of revision 5:7714a216c91d:

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