Salut à toi visiteur !
Inscris toi en moins de 10 secondes pour profitez pleinement du site et partager avec la communauté ! S'inscrire


Aide Petit help en C/NXC


#1
Alors voila je dois écrire un programme de suivie de ligne en NXC (langage basé sur le C) avec un LineLeader jusqu'à ce que la couleur rouge soit trouver par le robot.
Mais mon problème c'est que quand je veux compacter le programme en mettant une partie dans un while, le programme ne veux pas fonctionner (ce compile mais lorsque que j’exécute rien ne ce passe)
La première partie est celle que j'ai essayé de faire pour compacter, la seconde est celle qui a fonctionner.
Je vous remercie de vos aides x)



Code :
/*-----------------------------------------------------------PARTIE 1----------------------------------------------------------*/

void main()
{
DefineSensors(ARRAY, NONE, COLOR, NONE);

int array[8];
int i = 0;
int somme = 0;
int division = 0;
int puissance = 0;

while (GetSensorValue(IN_3) =! 5)
{
GetSensorArray(IN_1, array);

while(i < 8)
{
array[i] = 100 - array[i];
somme += array[i];
array[i] = i * array[i];
division += array[i];
i++;
}

moyenne = division/somme;

if (moyenne < 3)
{
puissance = moyenne * 12;
MotorOn(OUT_B, puissance);
MotorOn(OUT_C, puissance - 20);
}
else if (moyenne > 4)
{
puissance = moyenne * 6;
MotorOn(OUT_B, puissance);
MotorOn(OUT_C, puissance - 20);
}
else
{
MotorOn(OUT_BC, 50);
}
}

MotorOff(OUT_BC);
}


Code :
/*-----------------------------------------------------------PARTIE 2----------------------------------------------------------*/



void main()
{
DefineSensors(ARRAY, NONE, COLOR, NONE);

int array[8];
int somme = 0;
int division = 0;
int puissance = 0;

while (GetSensorValue(IN_3) =! 5)
{
GetSensorArray(IN_1, array);

array[0] = 100 - array[0];
array[1] = 100 - array[1];
array[2] = 100 - array[2];
array[3] = 100 - array[3];
array[4] = 100 - array[4];
array[5] = 100 - array[5];
array[6] = 100 - array[6];
array[7] = 100 - array[7];

somme = array[0] + array[1] + array[2] + array[3] + array[4] + array[5] + array[6] + array[7];

array[0] = 0 * array[0];
array[1] = 1 * array[1];
array[2] = 2 * array[2];
array[3] = 3 * array[3];
array[4] = 4 * array[4];
array[5] = 5 * array[5];
array[6] = 6 * array[6];
array[7] = 7 * array[7];

division = array[0] + array[1] + array[2] + array[3] + array[4] + array[5] + array[6] + array[7];

moyenne = division/somme;

if (moyenne < 3)
{
puissance = moyenne * 12;
MotorOn(OUT_B, puissance);
MotorOn(OUT_C, puissance - 20);
}
else if (moyenne > 4)
{
puissance = moyenne * 6;
MotorOn(OUT_B, puissance);
MotorOn(OUT_C, puissance - 20);
}
else
{
MotorOn(OUT_BC, 50);
}
}

MotorOff(OUT_BC);
}


Messages dans ce sujet
Petit help en C/NXC - par Shenron - 15-10-2018, 13:45
RE: Petit help en C/NXC - par UzGz - 15-10-2018, 14:55
RE: Petit help en C/NXC - par Shenron - 15-10-2018, 15:17
RE: Petit help en C/NXC - par UzGz - 15-10-2018, 15:30
RE: Petit help en C/NXC - par Shenron - 17-10-2018, 19:16

Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  Résolu Petit problème NeMoGoD 2 10,427 19-06-2020, 22:12
Dernier message: NeMoGoD
  petit probleme batarddu65 1 1,144 16-05-2018, 08:39
Dernier message: bitri12
  besoin d'un petit coup de pouce lounours 2 1,894 07-10-2014, 18:25
Dernier message: lounours

Atteindre :