mirror of
https://github.com/arduino/Arduino.git
synced 2024-11-30 11:24:12 +01:00
Adding a calibration example and moving knock into the sensors folder.
This commit is contained in:
parent
3b8db8909b
commit
f856428cb1
49
build/shared/dist/examples/Analog/Calibration/Calibration.pde
vendored
Normal file
49
build/shared/dist/examples/Analog/Calibration/Calibration.pde
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
/*
|
||||
* Calibration
|
||||
*
|
||||
* Demonstrates one techinque for calibrating sensor input. The
|
||||
* sensor readings during the first five seconds of the sketch
|
||||
* execution define the minimum and maximum of expected values.
|
||||
*/
|
||||
|
||||
int sensorPin = 2;
|
||||
int ledPin = 9;
|
||||
|
||||
int val = 0;
|
||||
int sensorMin = 1023, sensorMax = 0;
|
||||
|
||||
void setup() {
|
||||
// signal the start of the calibration period
|
||||
pinMode(13, OUTPUT);
|
||||
digitalWrite(13, HIGH);
|
||||
|
||||
// calibrate during the first five seconds
|
||||
while (millis() < 5000) {
|
||||
val = analogRead(sensorPin);
|
||||
|
||||
// record the maximum sensor value
|
||||
if (val > sensorMax) {
|
||||
sensorMax = val;
|
||||
}
|
||||
|
||||
// record the minimum sensor value
|
||||
if (val < sensorMin) {
|
||||
sensorMin = val;
|
||||
}
|
||||
}
|
||||
|
||||
// signal the end of the calibration period
|
||||
digitalWrite(13, LOW);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
val = analogRead(sensorPin);
|
||||
|
||||
// apply the calibration to the sensor reading
|
||||
val = map(val, sensorMin, sensorMax, 0, 255);
|
||||
|
||||
// in case the sensor value is outside the range seen during calibration
|
||||
val = constrain(val, 0, 255);
|
||||
|
||||
analogWrite(ledPin, val);
|
||||
}
|
Loading…
Reference in New Issue
Block a user