False righe in serial monitor Aiuto!!

Ciao a tutti, chi mi sa dire perchè l'invio dati sul monito seriale mi escono delle righe sbagliate ?
devo correggere o modificare qualcosa per avere i dati giusti ?
questo è quello che mi compare
ON/OFFScale6
6
ON/OFFScale
6
6
6
ON/OFFDisimpegnoSu
6
6
6ON/OFFDisimpegnoSu
6
8
8
6
8
8ON/OFFDisimpegnoSu
6
8
ON/OFFScale8
Avvolte si inseriscono i numeri sulle descrizioni.
questo è lo sketch sono semplici condizioni iff.

//GESTIONE ILLUMINAZIONE PIANO SUPERIORE 

#define rele1  2 // relè 1 scale collegato sul pin digitale 2
#define rele2  3 // relè 2 disimpegno collegato sul pin digitale 3
#define rele3  4 // relè 3 camera Davide collegato sul pin digitale 4
#define rele4  5 // relè 4 camera Silvia/Gianluca collegato sul pin digitale 5
#define rele5  6 // relè 5 Bagno collegato sul pin digitale 6
#define rele6  7 // relè 6 Camera Carlo collegato sul pin digitale 7

int pulsante8 = 8; // pulsante scale collegato sul pin digitale 8
int pulsante9 = 9; // pulsante disimpegno collegato sul pin digitale 9
//#define pulsante 10 // pulsante Camera Davide collegato sul pin digitale 10
//#define pulsante 11 // pulsante Camera Silvia/Gianluca collegato sul pin digitale 11
//#define pulsante 12 // pulsante Bagno collegato sul pin digitale 12
//#define pulsante 13 // pulsante Camera Carlo collegato sul pin digitale 13

boolean statoPulsante8 = false;  // si userà valPulsante per conservare lo stato del pin di input pulsante scale
boolean statoPulsante9 = false;  // si userà valPulsante per conservare lo stato del pin di input pulsante disimpegno
//int valPulsante10 = 0; // si userà valPulsante per conservare lo stato del pin di input pulsante Camera Davide
//int valPulsante11 = 0; // si userà valPulsante per conservare lo stato del pin di input pulsante Camera Silvia/Gianluca
//int valPulsante12 = 0; // si userà valPulsante per conservare lo stato del pin di input pulsante Bagno
//int valPulsante13 = 0; // si userà valPulsante per conservare lo stato del pin di input pulsante Camera Carlo

nto, stato = 1 Rele acceso

String readString;
  
void setup() {                  
  
Serial.begin(9600);
  
 // IMPOSTAI VARI PIN IN OUTPUT
  pinMode(rele1, OUTPUT); 
  pinMode(rele2, OUTPUT); 
  pinMode(rele3, OUTPUT);
  pinMode(rele4, OUTPUT);
  pinMode(rele5, OUTPUT);
  pinMode(rele6, OUTPUT);
 
  digitalWrite(rele1, HIGH);
  digitalWrite(rele2, HIGH);
  digitalWrite(rele3, HIGH);
  digitalWrite(rele4, HIGH);
  digitalWrite(rele5, HIGH);
  digitalWrite(rele6, HIGH);

  pinMode(pulsante8, INPUT); // imposta il pin 8 pulsante Scale come input 
  pinMode(pulsante9, INPUT); // imposta il pin 9 pulsante Disimpegno come input
//  pinMode(pulsante10, INPUT); // imposta il pin 10 pulsante Camera Davide come input
//  pinMode(pulsante11, INPUT); // imposta il pin 11 pulsante Camera Silvia/Gianuca come input
//  pinMode(pulsante12, INPUT); // imposta il pin 12 pulsante Bagno come input
//  pinMode(pulsante13, INPUT); // imposta il pin 13 pulsante Camera Carlo come input


}  
  
void loop() {  

     
  // Verifica se la luce Scale è ON o OFF e aggiorna lo stato del pulsante sul tablet in ON o OFF    
int  valPulsante8 = digitalRead(pulsante8); // controlla se il pulsante 8 Scale è LOW o HIGH
 
    if (valPulsante8 == LOW){
      if (statoPulsante8 == false){
      Serial.println("5");// ON Scale
      delay(1000);
      //Serial.println("ONScale");
      statoPulsante8 = true;
      delay(1000);
  }}
    if (valPulsante8 == HIGH) {
      statoPulsante8 = false;
      Serial.println("6");// OFF Scale
       delay(1000);   
      
    }
//  Verifica se la luce Disimpegno è ON o OFF e aggiorna lo stato del pulsante sul tablet in ON o OFF 
int  valPulsante9 = digitalRead(pulsante9); // controlla se il pulsante 9 Disimpegno è LOW o HIGH
   
    if (valPulsante9 == LOW){
      if (statoPulsante9 == false){
      Serial.println("7");// ON Scale
      delay(1000);
      //Serial.println("ONScale");
      statoPulsante9 = true;
      delay(1000);
  }}
    if (valPulsante9 == HIGH) {
      statoPulsante9 = false;
      Serial.println("8");// OFF Scale
       delay(1000);   
  
    }
  
  while (Serial.available()) {
    delay(3);  
    char c = Serial.read();
    readString += c;
  }
  

// Controlla Se è stato inviato il dato dal tablet per attivare il relè corrispondente "Scale" 
  if (readString.length() >0) {
    Serial.println(readString);
    if (readString == "ON/OFFScale")     
    {
      digitalWrite(rele1, LOW);
      delay(400);//400
      digitalWrite(rele1, HIGH);
    delay(500);
  }
    

    if (readString == "ON/OFFDisimpegnoSu")     
    {
      digitalWrite(rele2, LOW);
      delay(400);//400
      digitalWrite(rele2, HIGH);
     
    }
    if (readString == "ON/OFFCamDav")     
    {
      digitalWrite(rele3, LOW);
      delay(400);//400
      digitalWrite(rele3, HIGH);
     
    }
      if (readString == "ON/OFFCamSG")     
    {
      digitalWrite(rele4, LOW);
      delay(400);//400
      digitalWrite(rele4, HIGH);
     
    }
     if (readString == "ON/OFFBagnoSu")     
    {
      digitalWrite(rele5, LOW);
      delay(400);//400
      digitalWrite(rele5, HIGH);
     
    }
     if (readString == "ON/OFFCamCar")     
    {
      digitalWrite(rele6, LOW);
      delay(400);//400
      digitalWrite(rele6, HIGH);
     
    }
    
    readString="";
  }
}

Tutti quei delay(1000) riducono di molto la risposta del sistema.

All'inizio del loop, raggruppa tutte le letture dei pulsanti e poi decidi cosa fare con il loro stato

void loop() {  
  statoPulsante8 = digitalRead(pulsante8);  // quando premuto assume stato LOW
  statoPulsante9 = digitalRead(pulsante9);

...

  if (statoPulsante8 == LOW {
    if (digitalRead(releX) == HIGH) {  // relè non attivo
      digitalWrite(releX) == LOW;       // attiva relè
      Serial.println("5");                   // ON Scale
    }
  }
  else {
    if (digitalRead(releX) == LOW) {  // relè attivo
      digitalWrite(releX) == HIGH;       // disattiva relè
      Serial.println("8");                   // OFF Scale
    }
  }

...

}

Grazie mille per l'aiuto.
L'ho modificato cosi. Non posso mettere else perche in effetti questo sketch si collega con un tablet android via bluetooth. Se non blocco la sequenza dei dati nel seriale si intrecciano con i dati che mi invia il tablet.
Il funzionamento di adesso mi da i valori numerici solo ne momento della condizione è reale, senza avere una sequenza di numeri inutili.
Con la tua modifica sembra che vada meglio non mi escono più valori inviati e ricevuti sulla stessa riga.
Grazie ancora.

int  valPulsante8 = digitalRead(pulsante8); // controlla se il pulsante 8 Scale è LOW o HIGH
int  valPulsante9 = digitalRead(pulsante9); // controlla se il pulsante 9 Disimpegno è LOW o HIGH

// Verifica se la luce Scale è ON o OFF e aggiorna lo stato del pulsante sul tablet in ON o OFF  
    if (valPulsante8 == LOW)
    {
      if (statoPulsante8 == false)
      {
      Serial.println("5");// ON Scale
      statoPulsante8 = true;
     // delay(1000);
      }
    }
    
    if (valPulsante8 == HIGH) 
    {
     if (statoPulsante8 == true)
     {
       Serial.println("6");// OFF Scale
       statoPulsante8 = false;
       delay(1000);   
      }
    }
 //  Verifica se la luce Disimpegno è ON o OFF e aggiorna lo stato del pulsante sul tablet in ON o OFF 
    if (valPulsante9 == LOW)
    {
      if (statoPulsante9 == false)
      {
      Serial.println("7");// ON disimpegno
      statoPulsante9 = true;
     // delay(1000);
      }
    }
    
    if (valPulsante9 == HIGH) 
    {
     if (statoPulsante9 == true)
     {
       Serial.println("8");// OFF disimpegno
       statoPulsante9 = false;
      // delay(1000);   
      }
    }