X-Git-Url: http://git.piffa.net/web?a=blobdiff_plain;f=basic%2Fanalog_input%2Fphoto_4_calibrated%2Fphoto_4_calibrated.ino;h=2d4a997b64368189e66254c3a82924e947403150;hb=fd843739e632cc71f079bdf3c94d9d5f8e9a3b13;hp=b43252840ebf42a8ae92a369b67a23265220834d;hpb=db26862cf5427076e1b6c05b5624f3e72b307f41;p=sketchbook_andrea diff --git a/basic/analog_input/photo_4_calibrated/photo_4_calibrated.ino b/basic/analog_input/photo_4_calibrated/photo_4_calibrated.ino index b432528..2d4a997 100644 --- a/basic/analog_input/photo_4_calibrated/photo_4_calibrated.ino +++ b/basic/analog_input/photo_4_calibrated/photo_4_calibrated.ino @@ -7,18 +7,20 @@ quantita' di luce. Per ottenere valori significativi utilizzare unaresistenza - da ~5k ohms in serie con il sensore. + da ~5k - 10k ohms in serie con il sensore. Questo sketch modifica l'intervallo di intermittenza di un led in base alla luminosita' rilevata. + + Schema: https://learn.adafruit.com/assets/460 */ int sensorPin = A0; // select the input pin for the potentiometer -int ledPin = 13; // select the pin for the LED +int ledPin = 11; // select the pin for the LED int sensorValue = 0; // variable to store the value coming from the sensor -int min = 240; // valore minimo rilevato dal sensore -int max = 380; // valore massimo rilevato dal sensore +int min = 60; // valore minimo rilevato dal sensore +int max = 600; // valore massimo rilevato dal sensore void setup() { // declare the ledPin as an OUTPUT: @@ -30,26 +32,38 @@ void setup() { void loop() { // read the value from the sensor: sensorValue = analogRead(sensorPin); - int calValue = map(sensorValue,min,max,0,1024) ; - // Max pausa = 1024 - // turn the ledPin on - digitalWrite(ledPin, HIGH); - // stop the program for milliseconds: - delay(calValue); - // turn the ledPin off: - digitalWrite(ledPin, LOW); - // stop the program for for milliseconds: - // print the results to the serial monitor: + delay(5); // stabilizziamo il sensore + int calValue = map(sensorValue,min,max,0,255) ; + analogWrite(ledPin, calValue); + // Debug, per disabilitarlo togliere l'inizializzazione della seriale + // dal setup() Serial.print("sensor = " ); Serial.print(sensorValue); - Serial.print("\t delay = "); + Serial.print("\t cal delay = "); Serial.println(calValue); - delay(sensorValue); } -/* domande: - 1. qual'e' il valore minimo rilevato? - 2. quale il massimo? - 3. Come adattare la risoluzione dell'attuatore alla sensibilita' del sensore? - */ +/* +Domande: +1. Come fare per costringere la variabile dentro un intervallo stabilito? +2. Come si potrebbe eseguire la calibrazione automaticamente? +. +. +. +. +. +. +. +. +. +. +. +. +. +. +. + +1. Utilizzando costrain() +2. Vedi esercizio sucessivo +*/