int In1 = 7;
int In2 = 8;
int ENA = 5;
int SPEED = 255;
int In3 = 4;
int In4 = 6;
int ENB = 2;
int In5 = 10;
int In6 = 9;
int ENA2 = 11;
const int buttonPin = 3;
int buttonState = HIGH;
int lastButtonState = HIGH;
bool buttonPressed = false;
bool codeRunning = false;
int stop = 0;
void setup() {
Serial.begin(115200);
Serial.println("Setup-Start");
pinMode(In1, OUTPUT);
pinMode(In2, OUTPUT);
pinMode(ENA, OUTPUT);
pinMode(In3, OUTPUT);
pinMode(In4, OUTPUT);
pinMode(ENB, OUTPUT);
pinMode(In5, OUTPUT);
pinMode(In6, OUTPUT);
pinMode(ENA2, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == LOW && lastButtonState == HIGH) {
// Button was pressed
buttonPressed = true;
}
if (buttonPressed && buttonState == HIGH) {
if (!codeRunning) {
// Start the code sequence
Serial.println("Button pressed and released. Running code...");
digitalWrite(In1, HIGH);
digitalWrite(In2, LOW);
Serial.println("A Motor1 Right");
delay(1000);
digitalWrite(In1, LOW);
digitalWrite(In2, LOW);
Serial.println("B Motor1 Stop");
delay(2000);
digitalWrite(In1, LOW);
digitalWrite(In2, HIGH);
Serial.println("C Motor1 Left");
delay(1000);
digitalWrite(In1, LOW);
digitalWrite(In2, LOW);
Serial.println("D Motor1 Stop");
delay(2000);
analogWrite(ENA, SPEED);
digitalWrite(In3, HIGH);
digitalWrite(In4, LOW);
Serial.println("E Motor2 Right");
delay(1000);
digitalWrite(In3, LOW);
digitalWrite(In4, LOW);
digitalWrite(In3, LOW);
digitalWrite(In4, HIGH);
Serial.println("F Motor2 Left");
delay(1000);
digitalWrite(In3, LOW);
digitalWrite(In4, LOW);
Serial.println("G Motor2 Stop");
delay(2000);
analogWrite(ENB, SPEED);
digitalWrite(In5, HIGH);
digitalWrite(In6, LOW);
Serial.println("H Motor3 Right");
delay(1000);
digitalWrite(In5, LOW);
digitalWrite(In6, LOW);
Serial.println("I Motor3 Stop");
delay(2000);
digitalWrite(In5, LOW);
digitalWrite(In6, HIGH);
Serial.println("J Motor3 Left");
delay(1000);
digitalWrite(In5, LOW);
digitalWrite(In6, LOW);
Serial.println("K Motor3 Stop");
delay(2000);
analogWrite(ENA2, SPEED);
codeRunning = true;
}
else {
// End the code sequence
Serial.println("Code sequence ended.");
digitalWrite(In1, LOW);
digitalWrite(In2, LOW);
digitalWrite(ENA, stop);
digitalWrite(In4, LOW);
digitalWrite(In5, LOW);
digitalWrite(ENB, stop);
digitalWrite(In5, LOW);
digitalWrite(In6, LOW);
analogWrite(ENA2, stop);
codeRunning = false;
buttonPressed = false; // Reset the flag
}
}
}