Bonjours,
je voudrais simplement si l'on pourrait m'expliquer ce code :
void move(int sens) // la fonction move prend comme parametre sens
{
/*une instruction switch évalue la valeur d'une variable sur
les valeurs spécifiées dans les déclarations de cas.*/
int m1 = 0, m2 = 0;
switch(sens) // test des valeurs de ma variable "sens"
{
/*en fonction du déplacement, on indique dans quel sens doit
se déplacer chaque moteur.*/
case DROITE: m1 = 1; m2 = -1;
break;
case GAUCHE: m1 = -1; m2 = 1;
break;
case AVANT: m1 = 1; m2 = 1;
break;
case ARRIERE: m1 = -1; m2 = -1;
break;
}
enAvant(SERVOG, m1*VMAX);
enAvant(SERVOD, m2*VMAX);
Ainsi que celui-ci,
void enAvant(int s, int rapide)
{
//Vitesse :
// 0 -> 0; 1 -> 1; 2 -> 3; 3 -> 8; 4 -> 10; v => 5 -> 30
int tab[6] = {0,1,3,8,10,30}; //
int pos = getNeutral(s); /* on definie la fonction
pos qui garde une valeur neutre
On effectue des opération sur des variable avec une autre variable.*/
int acc;
if (rapide < 0) // si la vitesse est inferieure à 0
acc = - tab[abs(rapide)];
else
acc = tab[rapide];
if(s == SERVO) // on definie s = sevog
servo.write(pos += acc); // servog =
else
servo.write(pos -= acc);
}
Car je ne comprend pas tout ^^
EleCarh
Inscrit(e) (le) 26 sept. 2012Déconnecté Dernière activité avril 02 2013 03:31