// left sensor
#define LEFT_SENSOR = A0;
#define RIGHT_SENSOR = A1;
// Left motor
#define LEFT_DIR 12
#define LEFT_STEP 13
// Right motor
#define RIGHT_DIR 4
#define RIGHT_STEP 3
void setup() {
pinMode(LEFT_DIR, OUTPUT);
pinMode(LEFT_STEP, OUTPUT);
pinMode(RIGHT_DIR, OUTPUT);
pinMode(RIGHT_STEP, OUTPUT);
pinMode(LEFT_SENSOR, INPUT);
pinMode(RIGHT_SENSOR, INPUT);
Serial.begin(9600);
Serial.println("Motor test running");
}
void stepMotor(int stepPin, int dirPin, bool forward, int steps) {
digitalWrite(dirPin, forward ? HIGH : LOW);
for (int i = 0; i < steps; i++) {
digitalWrite(stepPin, HIGH);
delayMicroseconds(800); // speed — lower = faster
digitalWrite(stepPin, LOW);
delayMicroseconds(800);
}
}
void loop() {
left_value = analogRead(LEFT_SENSOR);
right_value = analogRead(RIGHT_SENSOR);
stepMotor(LEFT_STEP, LEFT_DIR, true, 400); // forward
delay(500);
stepMotor(LEFT_STEP, LEFT_DIR, false, 400); // backward
delay(500);
}left sensor
right sensor
left motor
right motor