Rilevamento tempo trascorso tra due sensori ad ultrasuoni [Risolto]

Brunello:
Il tempo lo devi prendere subito dopo la lettura di ogni sensore, non alla fine come fai tu

if (ValueDist > 10) {

t = millis();  }
  if(ValueDist == 0) {
    t1 = millis();  }
  if(ValueDistA > 10) {
    t2 = millis();  }





ovvero, una cosa cosi'



delay(50); // Wait 50ms between pings
  t1 = 0 ;
  int uS = sonar.ping_cm(); legge la distanza in cm
  if ( uS > 0 ) { // ok. l'oggetto è passato dal via
    t = millis();  // Mi segno il tempo di partenza
    while ( (millis() - t ) < 10000 ) // tempo massimo ammesso 10 secondi
    {
      uS = sonara.ping_cm(); legge la distanza in cm
      if ( uS > 0 ) { // Ok e' arrivato al secondo sensore
        t1 = millis(); // segno il tempo di arrivo
        break ; // esco dal while prima che scada
      }
      t1 = 0 ;
    }
    if ( !t1  ) {
      Serial.println("fuori tempo massimo");
    }
  }
  tempo = (t1 - t ) ;
  if (tempo  > 0 ) {
    Serial.print ("Millisecondi  ");
    Serial.println(tempo);
  }

Adesso ho capito dov'era il problema :slight_smile: ora funziona perfettamente, grazie ancora a tutti per le risposte:)