Chicos alguien me puede ayudar a buscar la manera de cambiar el giro a un motor

Ante todo que tengan un buen dia estube buscando la manera de cambiar el giro a un motor pero sin necesidad de utilizar el delay ya que este pararia el programa y no quiero tener problemas al realizar un conteo, alguien me puede explicar una manera eficas el envio el codigo que tengo:

if (caracterrecibido == 'A'){
   
   if (X == 1){
     if ((Contador < Y) && (Contador < 108)){           // Comparacion para el posicionamiento panel solar y activacion del actuador
       digitalWrite(IN3, HIGH);
       digitalWrite(IN4, LOW);
       analogWrite(ENB,255);
       actual = debounce(anterior); 
       if ( anterior == 0 && actual == 1){
         Contador++;              
         delay (100);          
       }
       anterior = actual; 
     } else {
       digitalWrite(IN3, LOW);
       digitalWrite(IN4, LOW);
       analogWrite(ENB,0);
     }
   } else if (X == 0){                                                      // Cuando Sea la hora del ocasa le ordenamos al actuador que cambie de giro para que se para regresar a su posicion de reposo
     if ((Contador > 0) && (Contador <= 108)){
       // en esta parte busco que se realize el giro pero sin poner un delay para que la bobina se desenergise        

       digitalWrite(IN3, LOW); 
       digitalWrite(IN4, HIGH);
       analogWrite(ENB,255);
       if ( anterior == 0 && actual == 1){
         Contador--;              
         delay (100);          
       }
       anterior = actual;
     } else {
       digitalWrite(IN3, LOW);
       digitalWrite(IN4, LOW);
       analogWrite(ENB,0);
     }
   }

De antemano gracias por la ayuda

Hola ¿Porque no explicas tu proyecto como si se lo contaras a alguien que no sabe de electrónica y mucho menos de arduino?

Un ejemplo podría ser así. Hola, tengo cuatro paneles solares de 50 watts cada uno, fijados en el tejado de mi casa y me gustaría colocarlos en una plataforma giratoria para que desde la primera hora de la mañana apunten al sol para conseguir la mayor cantidad de energía posible..... Cuento con los siguientes materiales y me presupuesto se puede ampliar hasta x valor.

Si fuera este el caso, yo usaría dos ejes para la plataforma. Por lo económico un reloj en tiempo real para fijar una hora conveniente durante la noche en la cual los paneles irán a la posición cero, o tal vez invertidos para protegerlos de una tormenta de granizo. En cuanto al seguimiento me inclinaría por sensores LDR y en cuanto a los motores, si sabes hacer la mecánica podrías moverlos con motores paso a paso de viejas impresoras fax.

Pero al menos yo, te leo y ante una explicación pobre, y un código incompleto casi que no entusiasma brindar ayuda.

Saludos