]> git.piffa.net Git - sketchbook_andrea/blobdiff - basic/analog_input/photo_4_calibrated/photo_4_calibrated.ino
Cleanup Motori
[sketchbook_andrea] / basic / analog_input / photo_4_calibrated / photo_4_calibrated.ino
index 27086892c4ed01c079ce55a7cf678416a7286661..2d4a997b64368189e66254c3a82924e947403150 100644 (file)
@@ -7,16 +7,16 @@
  quantita' di luce.
  
  Per ottenere valori significativi utilizzare unaresistenza
  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.
  
  
  Questo sketch modifica l'intervallo di intermittenza di un led
  in base alla luminosita' rilevata.
  
- Schema: http://lab.piffa.net/schemi/photoresistor_led.png
+ Schema: https://learn.adafruit.com/assets/460
  */
 
 int sensorPin = A0;    // select the input pin for the potentiometer
  */
 
 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 = 60;        // valore minimo rilevato dal sensore
 int sensorValue = 0;  // variable to store the value coming from the sensor
 
 int min = 60;        // valore minimo rilevato dal sensore
@@ -32,28 +32,38 @@ void setup() {
 void loop() {
   // read the value from the sensor:
   sensorValue = analogRead(sensorPin);   
 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 <sensorValue> milliseconds:
-  delay(calValue);          
-  // turn the ledPin off:        
-  digitalWrite(ledPin, LOW);   
-  // stop the program for for <sensorValue> 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 cal delay = ");      
   Serial.println(calValue);
   Serial.print("sensor = " );                       
   Serial.print(sensorValue);      
   Serial.print("\t cal delay = ");      
   Serial.println(calValue);
-  delay(sensorValue);                  
 }
 
 /*
 Domande:
 }
 
 /*
 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?
-3. Come si potrebbe eseguire la calibrazione automaticamente?
+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
 */
 
 */