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

Dependencies:   MMA8451Q mbed

Fork of Programme_course_30Tr by Freescale_Cachan

shield.cpp

Committer:
leandre
Date:
2017-03-24
Revision:
5:7714a216c91d
Parent:
4:8b0215ec788f

File content as of revision 5:7714a216c91d:

#include "Mlib.h"

/***************SHIELD*****************/


void moteurs_arriere()
{
    vitesse_virage = new_bari/2;
    
    ajust_vitesse = ajust_vit_bosse +((ligne_droite*5)/2)-ajust_vit_vir;
    
    pc.printf("%hi\n", ajust_vit_bosse);
    
    if(bosse==1) {PWM_motor(90,90);} // acceleration à diminuer pour la competition
    else if(bosse==3) {PWM_motor(30,30);}
    else if(VIT == 0)
    {
        PWM_motor(0,0);
    }
    else if(ralentire == 1)
    {
        if(vitesse_virage > 0)
        {
            PWM_motor((VIT+ajust_vitesse) - vitesse_virage,(VIT)+ 4*vitesse_virage); 
        }
        else
        { 
            PWM_motor((VIT)- 4*vitesse_virage, (VIT+ajust_vitesse) + vitesse_virage);
        }
    }
    else
    {
        if(vitesse_virage > 0)
        {
            PWM_motor((VIT) - vitesse_virage, (VIT) + vitesse_virage);
        }
        else
        { 
            PWM_motor((VIT)- vitesse_virage,  (VIT) + vitesse_virage);
        }
    }
    
}

void test_servo(int time)
{
    Timer debut_fct;
    debut_fct.start();
    while(debut_fct.read() < time)
    {
        for(int i = -30; i < 30; i++)
        {
            angle_servo_moteur(i);
            wait(0.01);
        }
        for(int i = 30; i > -30; i--)
        {
            angle_servo_moteur(i);
            wait(0.01);
        }
    }
    angle_servo_moteur(0);
}

void Get_pot_value()
{
    VIT = 0, KP = 0;
    for(int i = 0; i < 10; i++)
    {
       VIT += ((pot1.read()+1)*(25.0));
        KP += ((pot2.read()+1)*75); 
    }
    VIT /= 10;
    pc.printf("VIT=%d\nKP=%d\n",VIT,KP);                                    //ici
}