Ultrasonic bibliothèque problème

Coucou,
je suis en train de faire un robot suiveur de ligne mais le code me donne mal à la tête. Je n'arrive pas à faire fonctionner le code. J'ai essayé de changer la bibliothèque, mais même en changeant et en mettant à jour, cela ne fonctionne pas.
Je demande de l'aide à vous.
AIDEZ MOI

voici mon code et une capture d'écran du problème

#include "Grove_I2C_Motor_Driver.h"
#include "ChainableLED.h"
#include "Ultrasonic.h"

// default I2C address is 0x0f
#define I2C_ADDRESS 0x0f
#define NUM_LEDS  5

int signalPin =  3; 
int signalPin2 =  4;
ChainableLED leds(7, 8, NUM_LEDS);
Ultrasonic ultrasonic(5);

void setup() {
  
  Motor.begin(I2C_ADDRESS);
  pinMode(signalPin, INPUT);
  pinMode(signalPin2, INPUT);
  leds.init();
}


void loop()
{
    long RangeInCentimeters;

    Serial.println("The distance to obstacles in front is: ");
      RangeInCentimeters = ultrasonic.MeasureInCentimeters(); // two measurements should keep an interval
      Serial.print(RangeInCentimeters);//0~400cm
      Serial.println(" cm");
      
    if(HIGH == digitalRead(signalPin) and HIGH == digitalRead(signalPin2) and RangeInCentimeters > 15)
     {
        Motor.speed(MOTOR1, -500);
        Motor.speed(MOTOR2, 500);
        Serial.println("GO");
        leds.setColorHSL(0.0, 0.25, 1.0, 0.3);
        delay(100);
     }  
     else if (HIGH == digitalRead(signalPin) and LOW == digitalRead(signalPin2) and RangeInCentimeters > 15) 
     {
        Motor.speed(MOTOR1, 100);
        Motor.speed(MOTOR2, 100);
        Serial.println("Turn R");
        leds.setColorHSL(0.0, 0.025, 1.0, 0.5);
        delay(100);
     }  
      else if (LOW == digitalRead(signalPin) and HIGH == digitalRead(signalPin2) and RangeInCentimeters > 15) 
      {
        Motor.speed(MOTOR1, -100);
        Motor.speed(MOTOR2, -100);
        Serial.println("Turn L");
        leds.setColorHSL(0.0, 0.025, 1.0, 0.5); 
        delay(100);
      }
     else 
     {
        Motor.stop(MOTOR1);
        Motor.stop(MOTOR2); 
        Serial.println("Obstacles");
        leds.setColorHSL(0.0, 0.0, 1.0, 0.5);
        delay(100);
     }

}

// End of file

:warning:
Post mis dans la mauvaise section, on parle anglais dans les forums généraux. déplacé vers le forum francophone.

Merci de prendre en compte les recommandations listées dans Les bonnes pratiques du Forum Francophone

Le problème vient de cette ligne.
D'accord quel est ton capteur à ultrasons ? Si c'est un HCSR04 il te faut déclarer deux numéros de pin, pas un seul comme tu le fais.

Now is simply create a variable of type Ultrasonic passing as parameters two values representing, respectively, the Trig (emitter) and Echo (receiver) pins. Like this:

Ultrasonic ultrasonic(12, 13);

Le premier correspond à l'émetteur, le second au récepteur.

Et si c'est un capteur 3 fils il faut mettre 2 fois le même numéro de broche.
Ultrasonic ultrasonic(5, 5);

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.