distance de détection d'un capteur ultrason

Bonjour, je réalise actuellement un robot ramasseur mais le capteur détecte sur une trop grande distance , comment modifier la distance de de détection hcsr04 ( j'aimerais 11 cm grand maximum ) voila mon code :

/* Utilisation du capteur Ultrason HC-SR04 pour contrôler un servomoteur*/
#include <Servo.h>
Servo myservo; // create servo object to control a servo

// définition des broches utilisées
int servo = 9;
int trig = 12;
int echo = 11;
long lecture_echo;
long cm;
int val;
long lastCm = 0;

#include <Stepper.h>
const int enable = 30;
int nombreDePas = 48*64;

Stepper monMoteur(nombreDePas,8,13,10,6);

void setup()
{
myservo.attach(servo);
pinMode(trig, OUTPUT);
digitalWrite(trig, LOW);
pinMode(echo, INPUT);
Serial.begin(9600);

monMoteur.setSpeed(9);
}

void loop()
{
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
lecture_echo = pulseIn(echo, HIGH);
cm = lecture_echo / 58;
int diff = int(abs(lastCm - cm)); // detection de grand saut
if(diff < 20){ // seulement si diff est faible
val = min(cm,179);
if( val< 179){

Serial.print(diff);
Serial.print(" : ");
Serial.println(val);
myservo.write(val);
}
}

delay(10);
lastCm = cm;

monMoteur.step(100);

monMoteur.step(-200);

}

Je pense qu'il faut jouer sur le timeout de pulseIn

pulseIn(pin, value, timeout)

Parameters
pin: the number of the pin on which you want to read the pulse. (int)

value: type of pulse to read: either HIGH or LOW. (int)

timeout (optional): the number of microseconds to wait for the pulse to start; default is one second (unsigned long)

TimeOut calculation

TimeOut = Max.Distance(cm) * 58

Example: 11 cm * 58 = 640µs

merci pour ta réponse , mais ou veux tu que je mette ces nouvelles lignes ?

Mettre le code entre balises </> comme demandé sur ce forum (voir les messages épinglés)

la commande pulseIn() peut se voir imposer une 'timeout'
Référence içi

ou le mettre ? ...là où tu utilises pulseIn() !!!

(Si ton code avait été correctement publié , j'aurai facilement fait un copier-coller dans l'IDE Arduino et aurait pu t'indiquer le n° de ligne)

Bonjour, je réalise actuellement un robot ramasseur mais le capteur détecte sur une trop grande distance , comment modifier la distance de de détection hcsr04 ( j'aimerais 11 cm grand maximum ) voila mon code

C'est quoi le problème au final?
Parce que tu peux toujours ignorer les mesures au-delà de 15cm.
Si c'est un problème de temps, l'usage du hors temps n'empêchera pas qu'il faut quand même attendre 60ms entre deux activation du capteur si j'en crois la doc du constructeur.