Envoie valeur via liaison série

Bonjour,

Ça fonctionne très bien avec la fct print().

Maintenant j'aimerais envoyer plusieurs informations (environ 5 variables).
J'ai le programme d'émission, mais je ne sais pas si je dois utiliser une boucle avec une architecture "normale" ou un tableau.
Voici mes deux programmes:

  1. avec le tableau:
int index;//permet de parcourir le tableau
char deb_trans[] = "start";//début de la transmission série
  /* -------L'INSTRUCTION "BYTE" N'ENVOIE QUE DES NBR ENTIERS----------*/

byte vitesse = 12; // déclare la vitesse à 12,8 Km/h
byte courant = 10; // déclare le courant à 10A
void setup() //initialisation 
{
  Serial.begin(9600); //on démarre la liaison en choisissant une vitesse de transmission de 9600 bauds
}

void loop() //création d'une boucle infinie 
// on va envoyer les variables du tableau sur le port série
{
    Serial.print(deb_trans);//on envoie l'information de début de transmission "start"
    for (index=0; index <=1; index++){
      Serial.print(variables[index]); //on envoie les valeurs du tableau une par une
      delay(500);//attente de 500mS entre chaque caractère
    }
}
  1. architecture "normale":
byte v = 2; 
//déclaration variable i, pour le courant
byte i = 13;
//initialisation de la liaison 
void setup()
{
  Serial.begin(9600);
}
//lancement d'une boucle
void loop()
{
  Serial.print(v);
  delay(500);
  digitalWrite(v , DEC);
  Serial.print(i);
  delay(500);
  digitalWrite(i , DEC);
}

Mais j'ai un problème pour la réception j'ai essayé ce genre de programme mais sans résultat:

//déclaration d'une variable
byte carlu = 0;
//initalisation 
void setup()
{
  Serial.begin(9600);
}
//création d'une boucle infinie
void loop()
{ 
  if(Serial.available() > 0)
  {
    carlu = Serial.read()- '0';
    Serial.println(carlu);
    Serial.flush();
    if(carlu == 50)
    {
      digitalWrite(carlu , DEC);
      Serial.print("la vitesse est de ");
      Serial.flush();
    } 
    
    else if(carlu == 49)
    digitalWrite(carlu , DEC);
    Serial.print("le courant est de ");
    Serial.flush();
  }
}

Quel programme choisir pour la réception et comment pourrais je améliorer mon programme de réception?

Merci :slight_smile: