Ultrasuoni+motori e ciclo while

Ciao ragazzi,vi spiego subito il mio problema.Vorrei che finchè un ultrasuono rileva un ostacolo a una distanza minore di 6 cm i motori vadano in avanti,e quando non rilevano più l’ostacolo si fermino.
Ho usato un ciclo while ma dopo aver messo la mano davanti l’ultrasuono i motori vanno in avanti all’infinito anche se non trovano piu nessun ostacolo.Vi posto il codice,spero possiate aiutarmi.Grazie in anticipo.

#include <Ultrasonic.h>

#define motdx 5 //motori
#define dirdx 4
#define motsx 6
#define dirsx 7

Ultrasonic dx(10,11);

void setup() {

 pinMode(4,OUTPUT); //direzione
pinMode(5,OUTPUT); //motorE

pinMode(7,OUTPUT); //direzione
pinMode(6,OUTPUT); //motore
 
}

void loop() {
  while(dx.Ranging(CM)<6) {
    digitalWrite(dirdx,HIGH);
    analogWrite(motdx,100);
    digitalWrite(dirsx,HIGH);
    analogWrite(motsx,100);
    
  }


  
}

Ok adesso funziona,non so perchè non l'abbia notato,grazie :slight_smile: