//Déclaration des variables
int bouton1 = 2 ; 
int bouton2 = 3;
int RelaisG = 8;  
int RelaisD = 9;  
int fc1 = 4 ;  
int fc2 = 5 ;  
 
bool etatbouton1 = false;
bool etatbouton2 = false;
bool etatfc1 = false;
bool etatfc2 = false;



void setup() {    //Déclaration des entrées et sorties
  pinMode(bouton1, INPUT);
  pinMode(bouton2, INPUT);
  pinMode(RelaisG, OUTPUT);
  pinMode(RelaisD, OUTPUT);

  digitalWrite(RelaisG, LOW);
  digitalWrite(RelaisD, LOW);

  Serial.begin(9600);

}

void loop() {
  

  //Gestion de la liaison série

  if (Serial.available() > 0) // si données disponibles sur le port série, lit l'octet entrant
    
  {
    char command = Serial.read();

    switch (command) 
    {
      case '1':  // Commande pour activer le sens droit
        digitalWrite(RelaisD, HIGH);  // RelaisD activé
        digitalWrite(RelaisG, LOW);   // RelaisG désactivé
        
        }
        break;
     
     case '0':  // Commande pour activer le sens gauche
        digitalWrite(RelaisG, HIGH);  // RelaisG activé
        digitalWrite(RelaisD, LOW);   // RelaisD désactivé
        
        break;
        
        case '2': //Relais éteint
        digitalWrite(RelaisG, LOW);  //RelaisG désactivé
        digitalWrite(RelaisD,LOW);   // RelaisD désactivé
        if (etatfc1 == HIGH)
        digitalWrite(RelaisG, LOW);
        if (etatfc2 == HIGH)
        digitalWrite(RelaisD, LOW);
        
        break;

         case '3': // 2 Boutons activés
        digitalWrite(RelaisG, HIGH);
        digitalWrite(RelaisD,HIGH);
        break;
      default:
        // Commande non reconnue
        break;
    }
  }

  // Si 2 boutons activés
  if (etatbouton1 == HIGH && etatbouton2 == HIGH) {
    digitalWrite(RelaisG, LOW);  // RelaisG désactivé
    digitalWrite(RelaisD, LOW);  // RelaisD désactivé
  {
    // Si 2 boutons pas appuyés
    if (etatbouton1 == LOW && etatbouton2 == LOW)
    digitalWrite(RelaisD, LOW);  // RelaisD désactivé
    digitalWrite(RelaisG, LOW);  // RelaisG désactivé
}
  }

  

  
}
