unsigned long
  motorTmr = 0,
  processTmr= 0;
       
float
  processDelay = 630, // Общее вращение
  motorDelay = 1; // Для обмоток мотора

bool
    currentDirection = false,
    left_flag = 1,//false,
    right_flag = 1;//false;

const byte
  leftSensor = 8,
  rightSensor = 9,
  dirPin = 3,
  stepPin = 2;

void setup(){Serial.begin(115200);
  pinMode(leftSensor, INPUT);
  pinMode(rightSensor, INPUT);
  pinMode(dirPin, OUTPUT);
  pinMode(stepPin, OUTPUT);
  motorTmr = processTmr = millis();
}

void loop(){

 if(digitalRead(leftSensor) && left_flag){
  left_flag=0;
  right_flag=1;
  Serial.println("left");
        processTmr = millis();
        currentDirection = true;
       }

    if(digitalRead(rightSensor) && right_flag){
      left_flag=1;
      right_flag=0;
      Serial.println("right");
        processTmr = millis();
        currentDirection =false ;
        }
 
    if (millis() - processTmr <= processDelay){
        if(millis() - motorTmr >= motorDelay){
            motorTmr = millis();
            digitalWrite(dirPin, currentDirection);
            digitalWrite(stepPin, !digitalRead(stepPin));
        }  
    } else {
        processTmr = millis();
        currentDirection = !currentDirection;
    }
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
btn2:1.l
btn2:2.l
btn2:1.r
btn2:2.r
r1:1
r1:2
r2:1
r2:2