Bonjour a tous les grands programmeur,
Voilà ce qui se passe : j'utilise un tableau pour faire tourner un moteur pas à pas en 1/2 pas. En grande vitesse, on ne remarque rien, mais en vitesse très lente (1 pas par seconde) je me suis aperçu d’irrégularité dans le cycle... bizarre, vérification des broches, des connections, idem.
Voila le tableau en question :
int mot[4] = {2,3,4,5}; // les quatre broches utilisées
boolean P[8][4] = {
{1,0,0,0}, //0
{1,0,1,0}, //1
{0,0,1,0}, //2
{0,1,1,0}, //3
{0,1,0,0}, //4
{0,1,0,1}, //5
{0,0,0,1}, //6
{1,0,0,1} //7
};
je lui fait lire de la façon suivante (la, c'est en arriere !) ;
void Arriere()
{
for(j = 0 ; j < 4; j++) {
digitalWrite(mot[j+2],P[cpt][j]);
}
cpt --;
if (cpt < 0) cpt = 7;
} // fin fonction
(c'est en avant, cette fois , pour tester)
Si je lui fait afficher les valeurs passées :
void Avant()
{
for(j = 0 ; j < 4; j++)
{
digitalWrite(mot[j+2],P[cpt][j]);
Serial.print(" j");
Serial.print(j);
Serial.print(" : ");
Serial.print(P[cpt][j]);
} // fin du for j on configure les quatres broches
Serial.print(" cpt :");
Serial.println(cpt);
cpt ++;
if(cpt > 7) cpt = 0; // selon cpt (de 0 a 7
} // fin fonction
il m'affiche ceci:
voir fichier joint (je n'arrive à coller directement la copie d'écran dans le message).
Bref, on voit que la première valeur correspondante a la première ligne du tableau est a "5", alors que mon tableau est sensé être " boolean"
La question est donc : "pourquoi je sors ce ce sacré tableau ?" Merci si quelqu'un trouve