Urm37 measure drop to 0

March 28, 2025, 15:04

clement_2006

im using a urm37 for controlling a servomotor but the measure drop every time to 0 and activate the motor then come back to right measure and all time like that code #include <Servo.h> Servo myservo; // Créer un objet servo int URECHO = 5; // Broche ECHO int URTRIG = 4; // Broche TRIG int servoPin = 9; // Broche du servomoteur unsigned int DistanceMeasured = 0; void setup() { Serial.begin(9600); // Initialisation de la communication série pinMode(URTRIG, OUTPUT); // Définir TRIG comme sortie digitalWrite(URTRIG, HIGH); // Mettre TRIG à HIGH pinMode(URECHO, INPUT); // Définir ECHO comme entrée myservo.attach(servoPin); // Attacher le servomoteur à la broche PWM delay(500); Serial.println("Init the sensor"); } void loop() { Serial.print("Distance="); digitalWrite(URTRIG, LOW); digitalWrite(URTRIG, HIGH); unsigned long LowLevelTime = pulseIn(URECHO, LOW); // Mesurer le temps bas if (LowLevelTime >= 50000) { // La lecture est invalide Serial.println("Invalid"); } else { DistanceMeasured = LowLevelTime / 50; // Chaque 50us représente 1cm Serial.print(DistanceMeasured); Serial.println("cm"); // Contrôler le servomoteur en fonction de la distance if (DistanceMeasured < 20) { myservo.write(45); // Tourner le servomoteur à 45 degrés delay(100); } else { myservo.write(0); // Tourner le servomoteur à 0 degré delay(100); } }