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 stop = 0;
void setup() {
// if you want to use serial printning
// you have to do a call to function Serial.begin(baudrate);
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() {
// in this case it can be coded much simpler
// a simple if-condition that checks if the button is pressed
// is sufficient because there are so many delays() in this code
// you would have to hold down the button for more than
/*
delay(1000);
delay(2000);
delay(1000);
delay(2000);
delay(1000);
delay(1000);
delay(2000);
delay(1000);
delay(2000);
delay(1000);
delay(2000);
----------
16 seconds to make it run a second round immidiately
*/
if (digitalRead(buttonPin) == LOW ) {
// Button was pressed
// Start the code sequence
Serial.println("Button pressed. 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);
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);
}
}