Ton programme n'est pas complet. De plus tu as mis les numéros de ligne dans le code??
Je vais quand même répondre.
A chaque test il faut tester tous les boutons
if (digitalRead(buttonPin1) == HIGH && digitalRead(buttonPin2)==LOW && digitalRead(buttonPin4)==LOW && digitalRead(buttonPin8)==LOW) {
delay(1000);
Serial.println("je suis classe 1");
}
else if (digitalRead(buttonPin2) == HIGH && digitalRead(buttonPin1)==LOW && digitalRead(buttonPin4)==LOW && digitalRead(buttonPin8)==LOW) {
delay(1000);
Serial.println("je suis salle 2");
}
// ...
Ca fait un programme fastidieux, il y a moyen de faire plus simple
const int buttonPin1 = 2;
const int buttonPin2 = 4;
const int buttonPin4 = 7;
const int buttonPin8 = 8;
int buttonState1 = 0;
int buttonState2 = 0;
int buttonState4 = 0;
int buttonState8 = 0;
void setup() {
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
pinMode(buttonPin4, INPUT);
pinMode(buttonPin8, INPUT);
Serial.begin(9600);
}
void loop() {
buttonState1 = digitalRead(buttonPin1);
buttonState2 = digitalRead(buttonPin2);
buttonState4 = digitalRead(buttonPin4);
buttonState8 = digitalRead(buttonPin8);
int salle = 0;
if (digitalRead(buttonPin1) == HIGH)
salle += 1;
if (digitalRead(buttonPin2) == HIGH)
salle += 2;
if (digitalRead(buttonPin4) == HIGH)
salle += 4;
if (digitalRead(buttonPin8) == HIGH)
salle += 8;
if (salle > 0 && salle <= 10)
{
Serial.print("je suis classe ");
Serial.println(salle);
}
else
{
Serial.println("je suis dans aucune salle");
}
delay(1000);
}