Stap 18: Afbreken van de Code: kalibreren deel 2
Int (int SENSOR_PIN, int INDICATOR_PIN) kalibreren
{
int sensor_mid = 0; Eerste schatting van de gemiddelde waarde voor de sensor.
int sensor_high = 0; eerste gissing voor de hoogste waarde de sensor zal lezen
int sensor_low = 1023; Eerste gissing voor de laagste waarde de sensor zal
niet-ondertekende lange current_time = millis(); Krijgen van de huidige tijd in milliseconden
unsigned long end_time = current_time + 5000; Zullen we sensor lezingen voor 5000 milliseconden (5 seconden)
digitalWrite (INDICATOR_PIN, hoge); Inschakelen van de LED te tonen welke sensor (rechts, links of midden wordt gekalibreerd is)
terwijl (current_time < end_time)
{
current_time = millis(); De huidige tijd bijwerken
int sensor_value = analogRead(SENSOR_PIN); Lees de sensor
Als (sensor_value < sensor_low)
sensor_low = sensor_value; Bijwerken van sensor laag naar huidige sensorgegevens, als sensor_low groter dan huidige sensorgegevens is
Als sensor_high > sensor_value)
sensor_high = sensor_value; Sensor hoge bijwerken naar huidige sensor lezen als sensor_high is minder dan de huidige sensor lezen
}
digitalWrite (INDICATOR_PIN, laag); Uitschakelen van de LED te tonen van de sensor (rechts, links of midden is gekalibreerd
keren sensor_mid = ((sensor_high + sensor_low)/2); De mediane waarde retourneren tussen hoge-sensor en sensor lage
}