Paso 18: Rompiendo el código: calibrar parte 2
Calibre de int (int SENSOR_PIN, int INDICATOR_PIN)
{
int sensor_mid = 0; Estimación inicial de valor mediano para el sensor.
int sensor_high = 0; estimación inicial de valor más alto que el sensor leerá
int sensor_low = 1023; Estimación inicial de menor valor el sensor será
current_time larga sin signo = millis(); Obtener hora actual en milisegundos
end_time largo sin signo = current_time + 5000; Vamos a tomar las lecturas de sensor para 5000 milisegundos (5 segundos)
digitalWrite (INDICATOR_PIN, alto); Enciende el LED para indicar que sensor (derecha, izquierda o centro está siendo calibrado)
mientras que (current_time < end_time)
{
CURRENT_TIME = millis(); Actualizar la hora actual
int sensor_value = analogRead(SENSOR_PIN); Leer el sensor
Si (sensor_value < sensor_low)
sensor_low = sensor_value; Actualizar la lectura del sensor de sensor baja al actual si sensor_low es mayor que la lectura del sensor de corriente
Si sensor_high > sensor_value)
sensor_high = sensor_value; Sensor de actualización alto a sensor de corriente si sensor_high es menor que el sensor de corriente de lectura la lectura
}
digitalWrite (INDICATOR_PIN, bajo); Apagar el LED para mostrar el sensor (derecha, izquierda o medio ha sido calibrado
volver sensor_mid = ((sensor_high + sensor_low)/2); Devolver el valor promedio entre sensor y sensor de alta baja
}