Problema sketch robot evita ostacoli con due sensori

Salve a tutti ho un problema nella costruzione del mio robot evita ostacoli, il robot evita tranquillamente tutti gli ostacoli con questo codice che ho cercato su internet

#include <Servo.h>  
  
Servo MotoreSinistro;  
Servo MotoreDestro;   
    
const int periodoLoop = 20;         
unsigned long ritardoLoop = 0;  
int valorefotocellula;
const int TrigPin = 8;  
const int EchoPin = 9;    

int distanza;               
int durata;                 
int minimaDistanza = 10;    
unsigned long tempoRotazioneSx = 1100;  
                                              
#define VAI_AVANTI  0  
#define GIRA_SX     1  
  
int stato = VAI_AVANTI;  
  
void setup()  
{  
  Serial.begin(9600);     
  pinMode(TrigPin, OUTPUT);  
  pinMode(EchoPin, INPUT);  
  MotoreSinistro.attach(11);  
  MotoreDestro.attach(10);  
}  
  
  
void loop()  
{        
    if(millis() - ritardoLoop >= periodoLoop)  
    {  
        letturaSensoreUltrasuoni(); // legge e memorizza la distanza misurata  
          
        azioneRobot();  
          
        ritardoLoop = millis();  
    }  
}  
  
void azioneRobot()  
{  
  if(stato == VAI_AVANTI)
  {  
    if(distanza > minimaDistanza || distanza < 0)      
    {       
      MotoreDestro.write(180);  
      MotoreSinistro.write(0);  
    }  
    else
    {  
      stato = GIRA_SX;  
    }  
  }  
  else if(stato == GIRA_SX) 
  {  
    unsigned long tempoRotazioneSx = 1100;         
    unsigned long tempoInizioRotazione = millis(); 
    
    while((millis()-tempoInizioRotazione) < tempoRotazioneSx) 
    {      
      MotoreDestro.write(180);  
      MotoreSinistro.write(180);  
    }  
    stato = VAI_AVANTI;  
  }  
}    
void letturaSensoreUltrasuoni()  
{  
    digitalWrite(TrigPin, HIGH);  
    delayMicroseconds(10);                     
    digitalWrite(TrigPin, LOW);  
      
    durata = pulseIn(EchoPin, HIGH);  
    distanza = (durata/2)/29;  
 }

Funziona perfettamente, il problema è l’aggiunta di un secondo sensore ad ultrasuoni, vorrei aggiungere un altro sensore capovolto verso la superficie del terreno, dovrei far si che il robot vada avanti quando il sensore riceve dati da 0 cm a 10 cm per poi arrivare al bordo di un tavolo , dove il sensore riceve dati da 10 a tot cm facendo così capire che sta per cadere, il robot dovrebbe andare indietro e girare verso sinistra, ho provato molte varianti del codice ma non essendo un esporto nella programmazione non so più dove sbatterci la testa, ho cercato anche su internet, ma niente.
Mi farebbe piacere un vostro aiuto, grazie mille.

Normalmente per controllare la cosa si adopera un più semplice ed efficiente sensore IR a riflessione tipo SHARP GP2Y0A41SK0F da 4 a 30cm puntato verso il basso sulla parte anteriore del robot.

Eviterei di usare un altro sensore ad ultrasuoni anche per evitare interferenze.

ma se io volessi comunque usare un altro sensore ultrasuoni, visto che ho già provato a mettere alla prova il suo funzionamento, cioè quello di andare indietro se il sensore riceve un dato superiore a 10cm, a me servirebbe sapere se è possibile inserire al codice che ho postato sopra un altro sensore che faccia quello che ho già spiegato senza interferenza con l’altro sensore.
Se è una cosa impossibile da fare allora penserò ad altre soluzioni.

Sì, è possibile.

Ovviamente, devi avere due routine di lettura sensore.

Non essendo bravo nella programmazione come dovrei fare nello sketch?

up :s