Télémètre Arduino capteur ultrason

Bonjour à tous,

je suis en train de réaliser un télémètre avec un Arduino, un module HC-SR04 et un écran LCD, j’ai écris le code mais j’aimerais lui apporter une modification pour que la valeur minimum mesurée reste affichée sur l’écran LCD jusqu’a l’appui d’un bouton poussoir “reset”, je ne trouve pas la solution pour réaliser cela.
voici le code que j’ai écris

#include <LiquidCrystal.h>

LiquidCrystal lcd(11, 10, 5, 4, 3, 2);

const char DOUT_TRIGGER = 6;
const char DIN_ECHO = 7;
float distance;
float distancemini;
int switchState = 0;

void setup() {

  lcd.begin(16, 2);
  lcd.print("*****");
  lcd.setCursor(0,1);
  lcd.print("****");
  pinMode(DOUT_TRIGGER,OUTPUT);
  pinMode(DIN_ECHO,INPUT);
  pinMode(8,INPUT);
  delay(3000);
}

void loop() {

  digitalWrite(DOUT_TRIGGER,LOW);
  delayMicroseconds(2);
  digitalWrite(DOUT_TRIGGER,HIGH);
  delayMicroseconds(10);
  digitalWrite(DOUT_TRIGGER,LOW);

  distance = pulseIn(DIN_ECHO,HIGH) / 58.0 ;
  switchState = digitalRead(8);

if (distance == distance)

  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("***** ");
  lcd.print(distance);
  lcd.print("cm");
  delay(1000);
 
 if (distance <= distance && switchState == LOW) {
  lcd.setCursor(0,1);
  lcd.print("mini    "); 
  lcd.print(distance);
  lcd.print("cm ");
  delay(1000);
 }
  
}
/code]

Merci d’avance

il faut comparer distancemini et distance

if (distancemini = 0.00 || distancemini > distance) distancemini = distance;
if ( digitalRead(bouton_reset) = HIGH) distancemini = 0.00;

merci de ta réponse j’ai fait cela mais je ne pense pas avoir bien fait

#include <LiquidCrystal.h>

LiquidCrystal lcd(11, 10, 5, 4, 3, 2);

const char DOUT_TRIGGER = 6;
const char DIN_ECHO = 7;
float distance;
float distancemini;
int switchState = 0;

void setup() {

  lcd.begin(16, 2);
  lcd.print("*****");
  lcd.setCursor(0,1);
  lcd.print("****");
  pinMode(DOUT_TRIGGER,OUTPUT);
  pinMode(DIN_ECHO,INPUT);
  pinMode(8,INPUT);
  delay(3000);
}

void loop() {

  digitalWrite(DOUT_TRIGGER,LOW);
  delayMicroseconds(2);
  digitalWrite(DOUT_TRIGGER,HIGH);
  delayMicroseconds(10);
  digitalWrite(DOUT_TRIGGER,LOW);

  distance = pulseIn(DIN_ECHO,HIGH) / 58.0 ;
  switchState = digitalRead(8);

if (distancemini = 0.00 || distancemini > distance) distancemini = distance;

  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("***** ");
  lcd.print(distance);
  lcd.print("cm");
  delay(1000);
 
 
 if ( digitalRead(switchState = HIGH)) distancemini = 0.00;
 
  lcd.setCursor(0,1);
  lcd.print("mini    "); 
  lcd.print(distance);
  lcd.print("cm ");
  delay(1000);
 }
  
/code]