Je viens de rentrer dans la 4ème dimensions... ^^
Non, pas encore, malheureusement, il y a un problème que je n'arrive pas à résoudre.
Je fais communiquer deux Arduino. Avec le premier j'envoie ça :
Serial.print('M'); // Permet l'identification des commandes moteurs par le programme robot
Serial.write(ZONE); // Permet le débogage des conditions à l'aide du VI
Serial.write((int)PWM1);
Serial.write((int)PWM2);
Serial.write((int)PWM3);
Serial.write((int)PWM4);
et avec le deuxième je veux lire la valeur des PWM donc j'ai écrit (avec l'aide de Skywodd

) :
byte PWM_MOT[4]; // Tableau de 6 octets
int n_octet = 4;
int pin_PWM_A = 10;
int pin_PWM_B = 9;
int pin_PWM_C = 6;
int pin_PWM_D = 5;
void setup()
{
Serial.begin(9600); // Paramétrage de la vitesse de la liaison série
}
/*********************** DEBUT DE LA BOUCLE PRINCIPALE ********************************************/
void loop()
{
if(Serial.available()>0)
{
if(Serial.read()!='M')
{
delay(50);
}
else
{
for(int n=1; n<=n_octet; n++)
{
while(Serial.available() < 1);
PWM_MOT[n]=Serial.read();
}
}
//analogWrite(pin_PWM_A, PWM_MOT[1]);
//analogWrite(pin_PWM_B, PWM_MOT[2]);
//analogWrite(pin_PWM_C, PWM_MOT[3]);
//analogWrite(pin_PWM_D, PWM_MOT[4]);
//Serial.print(PWM_MOT[0]);
Serial.print(PWM_MOT[1]);
Serial.print(PWM_MOT[2]);
Serial.print(PWM_MOT[3]);
Serial.print(PWM_MOT[4]);
//Serial.print(PWM_MOT[5]);
Serial.println();
}
else
{
analogWrite(pin_PWM_A, 0);
analogWrite(pin_PWM_B, 0);
analogWrite(pin_PWM_C, 0);
analogWrite(pin_PWM_D, 0);
}
Serial.flush();
delay(50);
}
Et je vous joins les deux screen XCTU qui m'ont permis de constater que il y avait +1 sur la PWM4 alors que je n'ai rien fait pour... enfin je pense
COM11 : Arduino qui envoit les infos
COM13 : Arduino qui reçoit et qui les (ré)affichent