Comment envoyer et recevoir des données sur la voie série

Bonjour à tous, Je suis débutant dans le langage Arduino,

J'ai 8 LEDS que j'aimerais allumer l'un à la suite des autres en envoyer au port série COM une valeur par exemple 1 pour allumer le LED 1 et 2 pour allumer le LED 2 et ainsi de suite et chaque LED restera allumé en fonction de minutes qui lui ai attribuées.

J'ai vraiment besoin de votre aide!

voici le code

String mensaj;
String data;
int post=0;
String led;
long mins;
long delai1=0;
long delai2=0;
long delai3=0;
long delai4=0;
long delai5=0;
long delai6=0;
long delai7=0;
long delai8=0;
long delai9=0;

String minutes;


void setup() {


Serial.begin(9600);
 
pinMode(1,OUTPUT);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);



}

void loop() {
  
   
   
  while (Serial.available()>0){
  String mensaj=Serial.readString();
  data=mensaj;
  led= data.substring(0,1);
  led=led.toInt();
  minutes=data.substring(1,3);
  mins = minutes. toInt(); 

  
  }
   if(led==1){
    
  
   delai1+=mins*60000;
    
    digitalWrite(1,HIGH);
    delay(delai1);
    digitalWrite(1,LOW);
    
    Serial.end();
  }

  if(led==2){
      
    delai2+=mins*60000;
    
    digitalWrite(2,HIGH);
    delay(delai2);
    digitalWrite(2,LOW);
    
    Serial.flush();
  }
  if(led==3){
    
  
     delai3+=mins*60000;
    
    digitalWrite(3,HIGH);
    delay(delai3);
    digitalWrite(3,LOW);
    
    Serial.end();
 }
  if(led==4){
    
  
    delai4+=mins*60000;
    
    digitalWrite(4,HIGH);
    delay(delai4);
    digitalWrite(4,LOW);
    
    Serial.end();
 }
  if(led==5){
   
  
    delai5+=mins*60000;
    
    digitalWrite(5,HIGH);
    delay(delai5);
    digitalWrite(5,LOW);
    
    Serial.end();
  }
  if(led==6){
    
  
   delai6+=mins*60000;
    
    digitalWrite(6,HIGH);
    delay(delai6);
    digitalWrite(6,LOW);
    
    Serial.end();
 }
  if(led==7){
    
  
    delai7+=mins*60000;
    
    digitalWrite(7,HIGH);
    delay(delai7);
    digitalWrite(7,LOW);
    
    Serial.end();
  }
  if(led==8){
   
  
   delai8+=mins*60000;
    
    digitalWrite(8,HIGH);
    delay(delai8);
    digitalWrite(8,LOW);
    
    Serial.end();
  }
 

}

fil clos : fait double emploi avec celui-ci qui a été déplacé vers le forum francophone :