Freescale_Cachan / Mbed 2 deprecated Programme_course_30Tr

Dependencies:   MMA8451Q mbed

Fork of Programme_course_vir_am_2 by Freescale_Cachan

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers shield.cpp Source File

shield.cpp

00001 #include "Mlib.h"
00002 
00003 /***************SHIELD*****************/
00004 
00005 
00006 void moteurs_arriere()
00007 {
00008     vitesse_virage = new_bari/2;
00009     
00010     ajust_vitesse = ajust_vit_bosse +((ligne_droite*5)/2);-ajust_vit_vir;
00011     
00012     pc.printf("%hi\n", ajust_vit_bosse);
00013     
00014     if(bosse==1) {PWM_motor(90,90);} // acceleration à diminuer pour la competition
00015     else if(bosse==3) {PWM_motor(30,30);}
00016     else if(VIT == 0)
00017     {
00018         PWM_motor(0,0);
00019     }
00020     else if(ralentire == 1)
00021     {
00022         if(vitesse_virage > 0)
00023         {
00024             PWM_motor((VIT+ajust_vitesse) - vitesse_virage,(VIT)+ 4*vitesse_virage); 
00025         }
00026         else
00027         { 
00028             PWM_motor((VIT)- 4*vitesse_virage, (VIT+ajust_vitesse) + vitesse_virage);
00029         }
00030     }
00031     else
00032     {
00033         if(vitesse_virage > 0)
00034         {
00035             PWM_motor((VIT) - vitesse_virage, (VIT) + vitesse_virage);
00036         }
00037         else
00038         { 
00039             PWM_motor((VIT)- vitesse_virage,  (VIT) + vitesse_virage);
00040         }
00041     }
00042     
00043 }
00044 
00045 void test_servo(int time)
00046 {
00047     Timer debut_fct;
00048     debut_fct.start();
00049     while(debut_fct.read() < time)
00050     {
00051         for(int i = -30; i < 30; i++)
00052         {
00053             angle_servo_moteur(i);
00054             wait(0.01);
00055         }
00056         for(int i = 30; i > -30; i--)
00057         {
00058             angle_servo_moteur(i);
00059             wait(0.01);
00060         }
00061     }
00062     angle_servo_moteur(0);
00063 }
00064 
00065 void Get_pot_value()
00066 {
00067     VIT = 0, KP = 0;
00068     for(int i = 0; i < 10; i++)
00069     {
00070        VIT += ((pot1.read()+1)*(25.0));
00071         KP += ((pot2.read()+1)*100); 
00072     }
00073     VIT /= 10;
00074     pc.printf("VIT=%d\nKP=%d\n",VIT,KP);                                    //ici
00075 }