problème chrono circuit avec meilleur tour

Bonjour à tous,

je m’appelle Julien.

J'ai un souci de prog arduino, j’espère qu'il est dans la bonne rubrique !

J'ai fait un prog arduino pour faire un chrono circuit avec une voiture RC, ça fonctionne bien.

J'aimerais maintenant rajouter un affichage du meilleur tour mais j'ai du mal à réaliser la fonction du meilleur tour.

Je sollicite votre aide.

Le code ci-après :

#include <HCSR04.h>
#include <LiquidCrystal.h>

double i = 0;
double a = millis();
double c ;
int lap = 0;
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
int buzzer =9;// Borne de sortie

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
UltraSonicDistanceSensor capteur_distance(7,8);

void setup() {

lcd.begin(16, 2);
lcd.print("circuit JU");
pinMode(buzzer,OUTPUT);
Serial.begin(9600);

}

void loop() {

digitalWrite(buzzer, LOW );
lcd.setCursor(0, 1);
lcd.print("Tour:");
lcd.setCursor(6, 1);
lcd.print(lap);
int distance = capteur_distance.measureDistanceCm();

delay(10);

if ( distance < 27 )

{

digitalWrite(buzzer, HIGH);

c = millis();

i = (c - a) / 1000;

if(i > 1)

{

lap++;

Serial.print("Lap: ");

Serial.print(lap);

Serial.print("\t\t");

Serial.println(i);

a = millis();

lcd.setCursor(10, 1);
lcd.print(i);

}
}

}

lire les règles d'utilisation du forum SVP

Salut ,

Il suffit de faire une recherche de minimum ,

tu compares ta valeur i à une variable seuil_mini (initialisée à une forte valeure)
si i est inférieure à seuil_mini, seuil_mini = i ;

Avec un tableau , tu dois facilement pouvoir enregistrer tous tes temps au tour :wink:

Pardon je n'ai pas les régles du forum !

je vais essayer demain, merci bruno.

les règles du forum sont épinglées en haut de la page

expliquez aussi ce que le capteur capte pour déterminer qu'il y a eu un tour. c'est quoi ce  if ( distance < 27 )et à la vitesse où tourne le processeur êtes vous sûr qu'il n'y aura pas 5 mesures qui donneraient ce résultat et que vous comptiez 5 tours ?