Non riesco ad aggiornare il dato sul LCD

Grazie Mille Guglielmo ;D
Sono riuscito ad avere i dati aggiornati, e va tutto perfetto tranne che per l'inversione di marcia, che sembra essere ostacolata dall'altro verso e si compensa. :frowning:
Ecco il codice corretto.

#define ORARIO  2
#define ANTIOR  3
#define STEP   11
#define DIR    10
#define MODE0  12
// #define MODE1  11
// #define MODE2  12
#define ENABLE 13
#include <LiquidCrystal.h>

int POTENZ   = A0;
int  ora     =  0;
int  ant     =  0;
int VALORE01 =  0;
int VALORE02 =  0;
int i        =  0;
int tempPin  = A1;
int analogInput = A2;
float vout = 0.0;
float vin = 0.0;
float R1 = 100000.0; // inserire valore esatto resistenza R1 (100K)
float R2 = 10000.0; // inserire valore esatto resistenza R2 (10K)
int value = 0;

//                BS  E D4 D5 D6 D7
LiquidCrystal lcd(4, 5, 6, 7, 8, 9);

void setup() {
  lcd.begin(16, 2);
  Serial.begin(   9600     );
  // Serial.println(F("Tempo in Millisecondi per impulso"));
  pinMode( ENABLE , OUTPUT );
  pinMode( DIR    , OUTPUT );
  pinMode( STEP   , OUTPUT );
  pinMode( MODE0  , OUTPUT );
  //pinMode( MODE1  , OUTPUT );
  //pinMode( MODE2  , OUTPUT );
  pinMode(POTENZ  , INPUT  );
  pinMode(ORARIO  , INPUT  );
  pinMode(ANTIOR  , INPUT  );
  pinMode(tempPin , INPUT  );
  pinMode(analogInput, INPUT);
}

void loop() {
  int readPin = analogRead(POTENZ);
  int delayTime = map(readPin, 0, 1024, 70, 80);
  digitalWrite( DIR    , HIGH );
  digitalWrite( STEP   , LOW  );
  digitalWrite( MODE0  , HIGH );

  for ( i = 0; i < 1; i++) {
    digitalWrite( STEP, HIGH );
    delay( delayTime);
    digitalWrite( STEP, LOW  );
    delay( delayTime);
    VALORE01 = analogRead(POTENZ);
    VALORE02 = analogRead(value);
    // tempPin =analogRead(tempC);
    // Serial.println();

    ora = digitalRead(ORARIO);
    ant = digitalRead(ANTIOR);
  }
  if (ora == HIGH) {
    for ( i = 0; i < 1; i++) {}
    digitalWrite( DIR   , HIGH);
    digitalWrite( STEP, HIGH );
    delay( 1 );
    digitalWrite( STEP, LOW );
    delay( 1 );
  }
  if (ant == HIGH) {
    for ( i = 0; i < 1; i++) {}
    digitalWrite( DIR   , LOW);
    digitalWrite( STEP, HIGH );
    delay( 1 );
    digitalWrite( STEP, LOW );
    delay( 1 );
  }
  value = analogRead(analogInput);
  vout = (value * 5.0) / 1024.0;
  // inserire al posto di 5.0V l`uscita in volt tra i Pin 5V e GND del vostro Arduino
  vin = vout / (R2 / (R1 + R2));
  if (vin < 0.09) {
    vin = 0.0;
  }
  // Sensore temperatura e conversione
  int tempReading = analogRead(tempPin);
  double tempK = log(10000.0 * ((1024.0 / tempReading - 1)));
  tempK = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * tempK * tempK )) * tempK );       //  Temp Kelvin
  float tempC = tempK - 273.15;            // Convert Kelvin to Celcius
  float tempF = (tempC * 9.0) / 5.0 + 32.0; // Convert Celcius to Fahrenheit

  lcd.setCursor(0, 0);
  lcd.print("Precisione      ");
  lcd.setCursor(11, 0);
  lcd.print(VALORE01);
  delay(1);

  lcd.setCursor(0, 1);
  lcd.print("Temp      V     ");
  lcd.setCursor(4, 1);
  lcd.print(tempC);
  delay(1);
  
  lcd.setCursor(11, 1);
  // lcd.print("INPUT V= ");
  lcd.print(vin);
  delay(1);
}