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=db0d2b049db076cf64ca27fe556cc9eed1cf3120;hb=487c31ee83fb81e856593ae272d2d76a2a5c1a78;hpb=ca9bc9014acdfae3ee07d19650c547f02b796994 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 db0d2b0..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); @@ -78,3 +82,5 @@ Domande: 1. Modificare lo sketch in modo che modifichi la luminosita' di un led via PWM tramite il valore letto dal sensore. 2. Come fare per costringere la variabile dentro un intervallo stabilito? +*/ +