Aktion ausführen wenn Bedingung erfüllt

Hallo und guten abend zusammen.

Ich hab da mal wieder eine Frage.

Kann ich Teile eines Sketches in eine "do while" oder "if else" schleife packen?

Der hintergrund ist:
Ich möchte eine Servo Steuerung starten, wenn etwas vor einem HC-SR04 auftaucht.

Was wäre da sinnvoller? "do while" oder "if else" ?

MfG Matze

Das hängt davon ab ...

Am flexibelsten bist du, wenn loop() keine delays und keine while Schleifen hat, also sofort fertig ist und im nächsten Umlauf feststellt, dass noch nichts neues passiert ist...
Mit ( if else ) stellst du dann irgendwann Änderungen fest und in den nächsten Umläufen macht dein Servo dann "weiche dem Hindernis aus" .

Den aktuellen Zustand merkst du dir in globalen Variablen, und ( für Zeitdauern ) mekst du dir, wann etwas passiert ist.

if ( ausweichen ) 
{
    // Ausweich-Logik hier

   if ( (millis() - start) > ausweichdauer )
   { 
       ausweichen = false; // weiter im Normalprogramm
   }
} 
else
{
   // Normalprogramm hier
   if ( HindernisErkennung() ) 
   {
       ausweichen = true;
       start = millis();
   }
}