Alarme multi-zone avec affichage lcd

Salut, petit point sur le projet. Tout fonctionne correctement. J'ai essayé de raccourcir le code, je lutte un peu, mais je vais y arriver. Maintenant, je vais m'occuper de la modélisation 3D des panneaux de contrôle, car c'est pour les placer à deux endroits différents. Je pense que je peux mettre les deux en parallèle. Voici le code "barbare"


```cpp
#include <LiquidCrystal.h> //  library:

LiquidCrystal lcd = LiquidCrystal(2, 3, 4, 5, 6, 7); // Pin Parameters: (RS, E, D4, D5, D6, D7):

const int sensorPin1 = 40; // capteur de porte
const int sensorPin2 = 41;
const int sensorPin3 = 42;
const int sensorPin4 = 43;
const int sensorPin5 = 44;
const int sensorPin6 = 45;

int etatsensor1; //Variable capteur
int etatsensor2;
int etatsensor3;
int etatsensor4;
int etatsensor5;
int etatsensor6;

const int ResetPin = 8; // boutton poussoir pour le reset
const int buttonOnOff = 9; // boutton poussoir pour le ON / OFF

const int ledPin1 = 26; // led d'information porte ouverte
const int ledPin2 = 27;
const int ledPin3 = 28;
const int ledPin4 = 29;
const int ledPin5 = 30;
const int ledPin6 = 31;

const int statusLed = 24;

const int buzzer = 10; // broche buzzer
const int ledLCD = 36; // broche lumiere (ecran lcd) broche A
const int lumiere2 = 38; // broche lumiere
const int lumiere1 = 39; // broche lumiere

bool sensorsActive = true; // condition alarme active ou pas (ligne 157) 

char message[17] = "";


void setup() {
  pinMode(sensorPin1, INPUT_PULLUP);
  pinMode(sensorPin2, INPUT_PULLUP);
  pinMode(sensorPin3, INPUT_PULLUP);
  pinMode(sensorPin4, INPUT_PULLUP);
  pinMode(sensorPin5, INPUT_PULLUP);
  pinMode(sensorPin6, INPUT_PULLUP);

  pinMode(ResetPin, INPUT_PULLUP);
  pinMode(buttonOnOff, INPUT_PULLUP);

  pinMode(ledPin1, OUTPUT);
  pinMode(ledPin2, OUTPUT);
  pinMode(ledPin3, OUTPUT);
  pinMode(ledPin4, OUTPUT);
  pinMode(ledPin5, OUTPUT);
  pinMode(ledPin6, OUTPUT);

  pinMode(statusLed, OUTPUT);

  pinMode(buzzer, OUTPUT);
  digitalWrite(buzzer, LOW); // Le buzzer est eteint au debut
  pinMode(ledLCD, OUTPUT);
  digitalWrite(ledLCD, LOW); // La affichage lcd éteint au début
  pinMode(lumiere2, OUTPUT);
  digitalWrite(lumiere2, HIGH); // La lumiere est éteinte au début
  pinMode(lumiere1, OUTPUT);
  digitalWrite(lumiere1, HIGH); // La lumiere est éteinte au début

  lcd.begin(16, 2);  
 
}

void loop() {
  if (sensorsActive) {
  etatsensor1 = etatsensor1==HIGH? etatsensor1 : digitalRead(sensorPin1); // Lire la valeur du capteur
  etatsensor2 = etatsensor2==HIGH? etatsensor2 : digitalRead(sensorPin2);
  etatsensor3 = etatsensor3==HIGH? etatsensor3 : digitalRead(sensorPin3);
  etatsensor4 = etatsensor4==HIGH? etatsensor4 : digitalRead(sensorPin4);
  etatsensor5 = etatsensor5==HIGH? etatsensor5 : digitalRead(sensorPin5);
  etatsensor6 = etatsensor6==HIGH? etatsensor6 : digitalRead(sensorPin6);
  
  lcd.clear();
  sprintf(message, "3GA=%1d 3P=%1d 3PA=%1d", etatsensor1, etatsensor2, etatsensor3);
  lcd.setCursor(0, 0); // Choix de la position et de la ligne (1) 
  lcd.print(message);
  sprintf(message, "2GA=%1d 2P=%1d 2PA=%1d", etatsensor4, etatsensor5, etatsensor6);
  lcd.setCursor(0, 1);
  lcd.print(message);


  if (etatsensor1 == HIGH) { // Si le capteur est déclenché
    digitalWrite(ledPin1, HIGH); // Allumer la LED
    digitalWrite(lumiere2, LOW); // Activer le relai
    digitalWrite(buzzer, HIGH);
    digitalWrite(ledLCD, HIGH);
    digitalWrite(lumiere1, LOW);
  }

  if (etatsensor2 == HIGH) { // Si le capteur est déclenché
    digitalWrite(ledPin2, HIGH); // Allumer la LED
    digitalWrite(lumiere2, LOW); // Activer le relai
    digitalWrite(buzzer, HIGH);
    digitalWrite(ledLCD, HIGH);
    digitalWrite(lumiere1, LOW);
  }

  if (etatsensor3 == HIGH) { // Si le capteur est déclenché
    digitalWrite(ledPin3, HIGH); // Allumer la LED
    digitalWrite(lumiere2, LOW); // Activer le relai
    digitalWrite(buzzer, HIGH);
    digitalWrite(ledLCD, HIGH);
    digitalWrite(lumiere1, LOW);
  }

  if (etatsensor4 == HIGH) { // Si le capteur est déclenché
    digitalWrite(ledPin4, HIGH); // Allumer la LED
    digitalWrite(lumiere2, LOW); // Activer le relai
    digitalWrite(buzzer, HIGH);
    digitalWrite(ledLCD, HIGH);
    digitalWrite(lumiere1, LOW);
  }

  if (etatsensor5 == HIGH) { // Si le capteur est déclenché
    digitalWrite(ledPin5, HIGH); // Allumer la LED
    digitalWrite(lumiere2, LOW); // Activer le relai
    digitalWrite(buzzer, HIGH);
    digitalWrite(ledLCD, HIGH);
    digitalWrite(lumiere1, LOW);
  }

  if (etatsensor6 == HIGH) { // Si le capteur est déclenché
    digitalWrite(ledPin6, HIGH); // Allumer la LED
    digitalWrite(lumiere2, LOW); // Activer le relai
    digitalWrite(buzzer, HIGH);
    digitalWrite(ledLCD, HIGH);
    digitalWrite(lumiere1, LOW);
  }

  if (digitalRead(ResetPin) == LOW) {
      digitalWrite(ledPin1, LOW);
      digitalWrite(ledPin2, LOW);
      digitalWrite(ledPin3, LOW);
      digitalWrite(ledPin4, LOW);
      digitalWrite(ledPin5, LOW);
      digitalWrite(ledPin6, LOW);
      digitalWrite(buzzer, LOW);
      digitalWrite(lumiere2, HIGH);
      digitalWrite(lumiere1, HIGH);
      etatsensor1 = etatsensor1==LOW? etatsensor1 : digitalRead(sensorPin1);
      etatsensor2 = etatsensor2==LOW? etatsensor2 : digitalRead(sensorPin2);
      etatsensor3 = etatsensor3==LOW? etatsensor3 : digitalRead(sensorPin3);
      etatsensor4 = etatsensor4==LOW? etatsensor4 : digitalRead(sensorPin4);
      etatsensor5 = etatsensor5==LOW? etatsensor5 : digitalRead(sensorPin5);
      etatsensor6 = etatsensor6==LOW? etatsensor6 : digitalRead(sensorPin6);
      digitalWrite(ledLCD, LOW);
      }

     if (digitalRead(buttonOnOff) == LOW) {
      sensorsActive = false; 
      digitalWrite(statusLed, HIGH);
      digitalWrite(ledPin1, LOW);
      digitalWrite(ledPin2, LOW);
      digitalWrite(ledPin3, LOW);
      digitalWrite(ledPin4, LOW);
      digitalWrite(ledPin5, LOW);
      digitalWrite(ledPin6, LOW);
      digitalWrite(buzzer, LOW);
      digitalWrite(ledLCD, HIGH);
      digitalWrite(lumiere2, HIGH);
      digitalWrite(lumiere1, HIGH);
      lcd.clear();
      lcd.setCursor(4, 0);  
      lcd.print("SYSTEME");  
      lcd.setCursor(4, 1);
      lcd.print("INNACTIF");
      delay(3000);
      digitalWrite(ledLCD, LOW);
      lcd.clear();
      }
    
    }else {
    if (digitalRead(buttonOnOff) == LOW) {
      sensorsActive = true;
      digitalWrite(statusLed, LOW);
      digitalWrite(ledLCD, HIGH);
      lcd.clear();
      lcd.setCursor(4, 0); 
      lcd.print("SYSTEME");  
      lcd.setCursor(5, 1);
      lcd.print("ACTIF");
      delay(3000);
      digitalWrite(ledLCD, LOW);
      lcd.clear();
      etatsensor1 = etatsensor1==LOW? etatsensor1 : digitalRead(sensorPin1);
      etatsensor2 = etatsensor2==LOW? etatsensor2 : digitalRead(sensorPin2);
      etatsensor3 = etatsensor3==LOW? etatsensor3 : digitalRead(sensorPin3);
      etatsensor4 = etatsensor4==LOW? etatsensor4 : digitalRead(sensorPin4);
      etatsensor5 = etatsensor5==LOW? etatsensor5 : digitalRead(sensorPin5);
      etatsensor6 = etatsensor6==LOW? etatsensor6 : digitalRead(sensorPin6);
      }  
    } 
     delay(200);
  }