X-Git-Url: http://git.piffa.net/web?p=sketchbook_andrea;a=blobdiff_plain;f=basic%2Fanalog_input%2Fphoto_5_calibration%2Fphoto_5_calibration.ino;h=056d6325921811cba3ff0e172b4ff1ef6b56bc2b;hp=ea8ecf8c4a31df50827ae18d1a61a4e5039a438f;hb=487c31ee83fb81e856593ae272d2d76a2a5c1a78;hpb=ae46f04b54f49297dc1e916c575cbdae70095611 diff --git a/basic/analog_input/photo_5_calibration/photo_5_calibration.ino b/basic/analog_input/photo_5_calibration/photo_5_calibration.ino index ea8ecf8..056d632 100644 --- a/basic/analog_input/photo_5_calibration/photo_5_calibration.ino +++ b/basic/analog_input/photo_5_calibration/photo_5_calibration.ino @@ -23,12 +23,13 @@ http://arduino.cc/en/Tutorial/Calibration This example code is in the public domain. + Schema: Schema: https://learn.adafruit.com/assets/460 */ // These constants won't change: const int sensorPin = A0; // pin that the sensor is attached to -const int ledPin = 9; // pin that the LED is attached to +const int ledPin = 11; // pin that the LED is attached to // variables: int sensorValue = 0; // the sensor value @@ -39,6 +40,7 @@ int sensorMax = 0; // maximum sensor value void setup() { // turn on LED to signal the start of the calibration period: pinMode(13, OUTPUT); + pinMode(ledPin, OUTPUT); digitalWrite(13, HIGH); // calibrate during the first five seconds @@ -54,6 +56,7 @@ void setup() { if (sensorValue < sensorMin) { sensorMin = sensorValue; } + delay(5); // Let the sensor rest a bit and stabilize } // signal the end of the calibration period @@ -63,12 +66,13 @@ void setup() { void loop() { // read the sensor: sensorValue = analogRead(sensorPin); - + // in case the sensor value is outside the range seen during calibration + sensorValue = constrain(sensorValue, sensorMin, sensorMax); + // apply the calibration to the sensor reading sensorValue = map(sensorValue, sensorMin, sensorMax, 0, 255); - // in case the sensor value is outside the range seen during calibration - sensorValue = constrain(sensorValue, 0, 255); + // fade the LED using the calibrated value: analogWrite(ledPin, sensorValue);