#define START_BUTTON_PIN 22 // ESP32 pin GPIO22 connected to start button's pin
#define STOP_BUTTON_PIN 21 // ESP32 pin GPIO21 connected to stop button's pin
#define RELAY1_PIN 27 // ESP32 pin GPIO27 connected to 1st relay's pin
#define RELAY2_PIN 26 // ESP32 pin GPIO26 connected to 2nd relay's pin
#define ACC_RELAY3_PIN 25 // ESP32 pin GPIO25 connected to 2nd relay's pin
#define ACC_RELAY4_PIN 33 // ESP32 pin GPIO33 connected to 2nd relay's pin
void setup() {
Serial.begin(9600); // initialize serial
pinMode(START_BUTTON_PIN, INPUT_PULLUP); // set ESP32 pin to input pull-up mode
pinMode(STOP_BUTTON_PIN, INPUT_PULLUP); // set ESP32 pin to input pull-up mode
pinMode(RELAY1_PIN, OUTPUT); // set ESP32 pin to output mode
pinMode(RELAY2_PIN, OUTPUT); // set ESP32 pin to output mode
pinMode(ACC_RELAY3_PIN, OUTPUT); // set ESP32 pin to output mode
pinMode(ACC_RELAY4_PIN, OUTPUT); // set ESP32 pin to output mode
}
void loop() {
int StopButtonState = digitalRead(STOP_BUTTON_PIN); // read new state
int StartButtonState = digitalRead(START_BUTTON_PIN); // read new state
if (StartButtonState == LOW) {
Serial.println("Start your engine");
digitalWrite(ACC_RELAY3_PIN, HIGH); // turn on ACC relay 3
digitalWrite(ACC_RELAY4_PIN, HIGH); // turn on ACC relay 4
delay(500); // wait for .5 seconds
Serial.println("Starting engine 1");
digitalWrite(RELAY1_PIN, HIGH); // turn on relay 1
delay(3000); // wait for 3 seconds
digitalWrite(RELAY1_PIN, LOW); // turn off relay 1
delay(500); // wait for .5 seconds
Serial.println("Starting engine 2");
digitalWrite(RELAY2_PIN, HIGH); // turn on relay 2
delay(3000); // wait for 3 seconds
digitalWrite(RELAY2_PIN, LOW); // turn off relay 2
}
if (StopButtonState == LOW) {
Serial.println("Stop all engines");
digitalWrite(ACC_RELAY3_PIN, LOW); // turn off ACC relay 3
digitalWrite(ACC_RELAY4_PIN, LOW); // turn off ACC relay 4
delay(300); // wait for .3 seconds
}
}