I have my project hooked up to two buttons 2 and 3, The code is checking for an update on the two buttons then it displays it in the serial monitor D1 (Door 1) works fine but when I press D2 (Door 2) it displays the text for D1 and D2
This is my code:
int D1 = 2;
int D2 = 3;
int D1state = 0;
int lastD1state = 0;
int D2state = 0;
int lastD2state = 0;
void setup() {
//Start Serial
Serial.begin (9600);
// Initalize Door D1
pinMode(D1, INPUT);
pinMode(D2, INPUT);
Serial.print(">Executing startup.sh");
delay (500);
Serial.print(".");
delay (500);
Serial.print(".");
delay (500);
Serial.println(".");
delay (500);
Serial.print(">Executing libaries.sh");
delay (500);
Serial.print(".");
delay (500);
Serial.print(".");
delay (500);
Serial.println(".");
delay (500);
Serial.print(">Executing buttons.sh");
delay (500);
Serial.print(".");
delay (500);
Serial.print(".");
delay (500);
Serial.println(".");
delay (500);
Serial.println(" ");
Serial.println(">Ready");
Serial.println(" ");
}
void loop() {
// read the pushbutton input pin:
D1state = digitalRead(D1);
D2state = digitalRead(D2);
// compare the buttonState to its previous state
if (D1state != lastD1state) {
// if the state has changed, increment the counter
if (D1state == HIGH) {
Serial.println("--------------------------");
Serial.print(">Executing open_door1.sh");
delay (500);
Serial.print(".");
delay (500);
Serial.print(".");
delay (500);
Serial.println(".");
delay (500);
Serial.print(">Initiating");
delay (500);
Serial.print(".");
delay (500);
Serial.print(".");
delay (500);
Serial.println(".");
delay (1500);
Serial.println(">Success!");
Serial.println("--------------------------");
Serial.println(" ");
delay (1000);
Serial.println(">Ready"); // Ready to receive commands
Serial.println(" ");
}
if (D2state != lastD2state) {
// if the state has changed, increment the counter
if (D2state == HIGH) {
Serial.println("--------------------------");
Serial.print(">Executing open_door2.sh");
delay (500);
Serial.print(".");
delay (500);
Serial.print(".");
delay (500);
Serial.println(".");
delay (500);
Serial.print(">Initiating");
delay (500);
Serial.print(".");
delay (500);
Serial.print(".");
delay (500);
Serial.println(".");
delay (1500);
Serial.println(">Success!");
Serial.println("--------------------------");
Serial.println(" ");
delay (1000);
Serial.println(">Ready"); // Ready to receive commands
Serial.println(" ");
}
}
}
}