Контроль движения шагового двигателя

Сделал градусник с вертикальной шкалой , подключил датчик , при считывании температуры раз в N минут двигатель вращает направляющую, стрелка едет к температуре на N сигналов. При увеличении температуры - стрелка штатно едет вверх, при уменьшении - почему то так же вверх, хотя должна вниз .Все данные в порт выводятся верные ( температура, в какую поз по сигналам нужно ехать и т.д.) Помогите разобраться. Библиотека -AccelStepper, драйвер и прочее подключены верно) Вот часть кода с движением :


void moveStepperToPosition(int position) {
  long targetPosition1 = position * stepsPerDegree;
  Serial.print("dvijenie v poz: ");
  Serial.println(targetPosition1);

  if (stepper.currentPosition() < targetPosition1) {
    Serial.println("dvigaemsya vverx...");
      stepper.moveTo(targetPosition1);   
      stepper.runToPosition();  
  } else if (stepper.currentPosition() > targetPosition1) {
    Serial.println("dvigaemsya vniz...");
     stepper.moveTo(targetPosition1);  
     stepper.runToPosition();
  }

 else {
  Serial.println("yje tyt .");
}

while (stepper.distanceToGo() != 0) {
  stepper.run();
  delay(1);

position - градусы с датчика stepsPerDegree - количество шагов двигателя на 1 градус ( задаю сам в зависимости от размеров шкалы градусника).Когда тестовый код запускаю ,указываю текущую позицию условно 1000, а движение в поз. 500, то едет вниз на 500 сигналов исправно ,в моем же коде в любом раскладе едет вверх.

Проверяй что там с dir

все верно подключено ,в тестовом коде все работает

мне одному не понятно почему он в Serial.print пишет английским, вроде как монитор порта же может выводить кирилицу

Какой “тестовый скетч”?
Сделайте тестовый скетч со своей функцией moveStepperToPosition() - кто-нибудь у себя запустит.

а что там делать? если текущ. позиция != новой,то идем к новой

подключил по инструкции к драйверу ,не работает, поменял местами как “не должно быть”, заработало

Нафига строки 6-13 ? Зачем одно и тоже проверять, перепроверять и…один хрен делать одно и то же?