Étape 18 : Briser le Code : calibrer partie 2
Int calibrer (int SENSOR_PIN, int INDICATOR_PIN)
{
int sensor_mid = 0 ; Estimation de la valeur médiane pour le capteur.
int sensor_high = 0 ; estimation de la valeur la plus élevée du capteur va lire
int sensor_low = 1023 ; Estimation de la valeur la plus basse du capteur sera
unsigned long current_time = millis() ; Obtenir l’heure actuelle en millisecondes
unsigned long end_time = current_time + 5000 ; Nous allons prendre les lectures du capteur pour 5000 millisecondes (5 s)
digitalWrite (INDICATOR_PIN, élevé) ; Allumer la LED pour montrer quel capteur (droite, gauche ou milieu est étalonné)
tandis que (current_time < end_time)
{
current_time = millis() ; Mise à jour à l’heure actuelle
int sensor_value = analogRead(SENSOR_PIN) ; Lire le capteur
Si (sensor_value < sensor_low)
sensor_low = sensor_value ; Mise à jour de lecture de capteur capteur faible au courant si sensor_low est supérieure à la lecture courante de capteur
Si sensor_high > sensor_value)
sensor_high = sensor_value ; Mise à jour de capteur haute à capteur de courant si sensor_high est moins de capteur de courant lire la lecture
}
digitalWrite (INDICATOR_PIN, basse) ; Éteindre la LED pour montrer le capteur (droite, gauche ou milieu a été étalonné
retour sensor_mid = ((sensor_high + sensor_low)/2) ; Retourne la valeur médiane entre la haute et la sonde basse
}