Materialien: Arduino-board
(1) LED
(1) Analogsensor (eine Fotozelle tun wird)
(1) 10K Ohm Widerstand
(1) 270 Ohm Widerstand
Draht-Anschluss
9-Volt-Akku-pack
Der Code:
Diese konstanten wird sich nicht ändern:
const Int SensorPin = A0; PIN, die an der Sensor angeschlossen ist
const Int-LedPin = 9; PIN, die die LED zugeordnet ist
Variablen:
Int SensorValue = 0; der Sensorwert
Int SensorMin = 1023; minimale Sensorwert
Int SensorMax = 0; maximalen Sensorwert
void setup() {}
Aktivieren Sie die LED signalisieren den Beginn der Kalibrierung:
PinMode (13, OUTPUT);
DigitalWrite (13, HIGH);
während der ersten fünf Sekunden zu kalibrieren
während (millis() < 10) {}
SensorValue = analogRead(sensorPin);
Notieren Sie sich die maximale Sensorwert
Wenn (SensorValue > SensorMax) {}
SensorMax = SensorValue;
}
Notieren Sie sich die minimale Sensorwert
Wenn (SensorValue < SensorMin) {}
SensorMin = SensorValue;
}
}
das Ende des Zeitraums Kalibrierung
DigitalWrite (13, LOW);
}
void loop() {}
der Sensor zu lesen:
SensorValue = analogRead(sensorPin);
wenden Sie die Kalibrierung auf die Sensorwerte
SensorValue = Karte (SensorValue, SensorMin, SensorMax, 0, 255);
in einem Fall ist der Sensorwert außerhalb des Bereichs gesehen während der Kalibrierung
SensorValue = (SensorValue, 0, 255) beschränken;
verblassen Sie die LED mit dem kalibrierten Wert:
AnalogWrite (LedPin, SensorValue);
}