Tu lis mes réponses mais tu ne les appliques pas ...
- Il manque une } à la fin de checkDirectionVersBordureGauche
- Tu peux ôter les inches, restons français
- Dans la loop, je pense que "long tempsEcouleAvantPause = millis() - startMillis;" doit être "long tempsEcouleAvantPause = millis() - startMillisPause;"
- enfin, prends l'habitude d'initialiser les variables lorsque tu les déclares, surtout lorsque ça concerne la gestion du temps : ça ne coûte rien et ça peut éviter des problèmes.
// Variable globale pour faire le décompte du temps
unsigned long startMillis = 0; // <-- init
unsigned long startMillisPause =0; // <-- init
enum Directions { Forward, TurnLeft, TurnRight, TurnAround, Brake};
Directions nextStep = Forward;
unsigned long t1 = 0; // <-- init
unsigned long t2 = 0; // <-- init
unsigned long pulse_width = 0; // <-- init
float cm = 0; // <-- init
// float inches; <-- ne sert pas (et à enlever dans checkDistance
Sinon, ça a de l'allure ! J'attends de voir la vidéo du bateau dans la piscine...