Детекция смены знака переменной

Да, спасибо!
Совет очень своевременный. Значительно продвинулся.
Сейчас разбираюсь, почему не включаются реле внутри функции.
Вот обновленный код :

//трекер на 1 ось по времени

#define position_sensor_pin 0  // средняя ножка резистора ОС по положению на пин 0
#define relay1 8  // пин 8 реле 1
#define relay2 7  // пин 7 реле 2
int val, L;  //переменная для хранения значения фактического угла, угол из таблицы
byte T;  // время расчетное
int delta, delta_old; // текущее и предыдущее значение рассогласования


#include <microDS3231.h>
MicroDS3231 rtc;

void setup() {


      Serial.begin(9600);   // Устанавливаем скорость передачи данных 
   delay(200);                               // Ждем 200 мкс
  Serial.println("DS3231RTC Read Test");    // Выводим данные на последовательный порт
  Serial.println("-------------------");    // Выводим данные на последовательный порт

  
  // проверка наличия модуля на линии i2c
  if (!rtc.begin()) {
    Serial.println("DS3231 not found");
    for(;;);
pinMode(relay2, OUTPUT);
pinMode(relay1, OUTPUT);

  }

  // получаем все данные в структуру
  DateTime now = rtc.getTime();

   //меняем любой параметр
  //now.year += -10;
  //now.second =0;
  //now.minute =54;
  //now.hour =22;
  //now.day =6;
  //now.date =26;
  //now.month =5;

   //отправляем в rtc
  //rtc.setTime(now);

   void MUVE ();
}


void loop() {

  printTime();
  delay(100);
 digitalWrite(relay2, LOW); // включение реле2 для проверки, все равно не включается


void MUVE ();}

void printTime() {
  // получаем все данные в структуру и используем их
  // этот способ быстрее и "легче" вызова отдельных get-функций
  DateTime now = rtc.getTime();

  Serial.print(now.hour);
  Serial.print(":");
  Serial.print(now.minute);
  Serial.print(":");
  Serial.print(now.second);
  Serial.print(" ");
  Serial.print(now.day);
  Serial.print(" ");
  Serial.print(now.date);
  Serial.print("/");
  Serial.print(now.month);
  Serial.print("/");
  Serial.println(now.year);



L=100; // значение для ПРОВЕРКИ функции поворота
MUVE (); // запуск функции поворота

}


 
////////////////////////////
  void MUVE () {   //функция поворота
  //int  delta_old, delta;

val = analogRead(position_sensor_pin);  // чтение резистора ОС
  val = map(val, 0, 1023, 15, 345);       //конвертировать выходной диапазон в градусах угола поворота потенциометра
  constrain(val, 0, 360); //ограничение диапазона
delta = val-L; // разница между фактическим углом и требуемым на данный момент
if (delta>0){digitalWrite(relay1, LOW);}  else {digitalWrite(relay2, LOW);} //включаем двигатель


 Serial.println(val);
Serial.println(delta);
Serial.println(delta_old);
Serial.println(L);
Serial.println("ssssssssssssssssssssssssssssssss");//для удобства чтения
 delay(1000);
if (((delta < 0) && (delta_old > 0)) || ((delta > 0) && (delta_old < 0))) {  //контроль смены знака х (продолжить выполнение после смены знака Х)
Serial.println(888); //контроль этой ветки


digitalWrite (relay1, HIGH); //откл. реле
digitalWrite (relay2, HIGH);
return;
} else
{Serial.println(444); //контроль этой ветки
if (delta_old != delta) {delta_old = delta;}; 
Serial.println(delta_old);
//if (delta_old != delta) {delta_old = delta;}; 
MUVE ();}

}

Адекватности в работе функции поворота значительно добавилось. По крайней мере все переменные выводятся на печать адекватно. Но реле почему то не работают. Без них трудно проверить логику работы, не хватает воображения. Другой программой запускаются, как и положено. Чувствую, что-то нужно еще определить внутри функции.
Буду признателен за намек всем, снизошедшим до объяснения азбучных истин дедушке из Богом забытой, депрессивной, воюющей страны.
А то, что все получится, не сомневаюсь нисколько.

Off topic
Недавно делал систему отопления в своем доме. Все спроектировал и почти все сделал сам (супеорсварщика только на пару дней нанимал) Ранее никогда с этим не сталкивался. На профильных форумах , естественно, вопросы разные задавал. Ситуация примерно как здесь, только вместо программистов теплотехники собираются. 80% снисходительно посмеивались над моими хотелками и упражнялись в сарказме, но и несколько дельных советов получил. В итоге уже второй год зимую и радуюсь. Получился практически шедевр по логике работы, надежности, простоте. Шабашники никогда бы мне ничего подобного не сваяли. Поэтому и за управление трекером взялся без сомнений.