const int M1_IN1 = 5; const int M1_IN2 = 6; const int M2_IN1 = 8; const int M2_IN2 = 9; void setup() { Serial.begin(115200); while (!Serial) { delay(100); } pinMode(M1_IN1, OUTPUT); pinMode(M1_IN2, OUTPUT); pinMode(M2_IN1, OUTPUT); pinMode(M2_IN2, OUTPUT); motor1_coast(); motor2_coast(); delay(3000); } void loop() { // testing motor features (reverse / forward / brake / coast) motor1_forward(); delay(2000); motor1_brake(); delay(1000); motor1_reverse(); delay(2000); motor1_coast(); delay(2000); motor2_forward(); delay(2000); motor2_brake(); delay(1000); motor2_reverse(); delay(2000); motor2_coast(); delay(2000); motor1_forward(); motor2_forward(); delay(2000); motor1_brake(); motor2_brake(); delay(2000); motor1_coast(); motor2_coast(); delay(5000); } // motor functions defined void motor1_forward() { digitalWrite(M1_IN1, HIGH); digitalWrite(M1_IN2, LOW); } void motor1_reverse() { digitalWrite(M1_IN1, LOW); digitalWrite(M1_IN2, HIGH); } void motor1_brake() { digitalWrite(M1_IN1, HIGH); digitalWrite(M1_IN2, HIGH); } void motor1_coast() { digitalWrite(M1_IN1, LOW); digitalWrite(M1_IN2, LOW); } void motor2_forward() { digitalWrite(M2_IN1, HIGH); digitalWrite(M2_IN2, LOW); } void motor2_reverse() { digitalWrite(M2_IN1, LOW); digitalWrite(M2_IN2, HIGH); } void motor2_brake() { digitalWrite(M2_IN1, HIGH); digitalWrite(M2_IN2, HIGH); } void motor2_coast() { digitalWrite(M2_IN1, LOW); digitalWrite(M2_IN2, LOW); }