]> git.piffa.net Git - sketchbook_andrea/commitdiff
Sensors analog
authorAndrea Manni <andrea@piffa.net>
Thu, 10 Dec 2015 15:46:03 +0000 (16:46 +0100)
committerAndrea Manni <andrea@piffa.net>
Thu, 10 Dec 2015 15:46:03 +0000 (16:46 +0100)
basic/analog_input/photo_4_calibrated/photo_4_calibrated.ino
basic/buttons/button_1/button_1.ino
basic/buttons/button_state_3/button_state_3.ino
basic/buttons/button_state_4_state/button_state_4_state.ino
basic/buttons/button_state_4_state_and_condition/button_state_4_state_and_condition.ino

index 27086892c4ed01c079ce55a7cf678416a7286661..3701f07e81b1ac4851cb788efddf6dcdde461b5c 100644 (file)
@@ -7,7 +7,7 @@
  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.
index 5df80f0ba35c25354d05ed77a70f1dfc0c8942a2..f6328d541e7e78032db378b842ce25bdbe6ad78c 100644 (file)
@@ -41,5 +41,5 @@ void loop() {
     quando il bottone e' premuto.
  3. Si potrebbe usare un ciclo iterativo while invece che 
     un ciclo condizonale if? Che differenza c'e' tra il ciclo while e  for?
- 4. Domanda: cosa succede se il jumper input non e' collegato ne al +5 ne al gound?
+ 4. Domanda: cosa succede se il jumper input non e' collegato ne al +5 ne al ground?
  */
index 5ff5c068b1902fc81878572efb678a3318f03695..2f43ec5751de1e3bb8fd024c4cd70c18dab00fa0 100644 (file)
@@ -38,7 +38,7 @@ void loop(){
 /* Domande:
 
  1. Cosa succde se non uso un delay(20) alla lettura del bottone?
- 2. Implementare un LED che passa dallo stato acceso a spento quando viene premuto il bottone.
+ 2. Implementare un LED che cambia stato quando viene premuto il bottone.
  3. Quanti stati ha il LED?
  4. Sarebbe possibile passare rapidamente da uno stato all'altro?
  
index 26d1625003fe51d56fce529742e7299943403de9..4e06d42f9ea7137a2568bff307717dea95ef369d 100644 (file)
@@ -44,5 +44,5 @@ void loop(){
  1. I due cicli if verificano che due condizioni siano concomitanti: e' possibile
     integrarli semplificando il codice?
     
 */
+ */
 
index 3cbc8698f4e6c681bf19b20e22c57667e704ca64..d9bdbba459525798bac3e4e9daca90edfc297e65 100644 (file)
@@ -11,7 +11,7 @@ int ultimoStato;           // Variabile per registrare l'ultimo stato del botton
 int ledStatus;             // varabile per mantenere lo stato del led
 
 void setup() {
-  pinMode(buttonPin, INPUT);    // Set the switch pin as input
+  pinMode(buttonPin, INPUT);          // Set the switch pin as input
   pinMode(led, OUTPUT);    
   Serial.begin(9600);                 // Attiva la comunicazione seriale a 9600bps
   ultimoStato = digitalRead(buttonPin);   // Prima lettura del bottone
@@ -20,7 +20,7 @@ void setup() {
 
 void loop(){
   statoAttuale = digitalRead(buttonPin);      // Legge lo stato del bottone e lo resistra in val
-  delay(20);                      // riduce l'effetto bounce
+  delay(20);                                  // riduce l'effetto bounce
   if (statoAttuale != ultimoStato && statoAttuale == HIGH) { // due condizione contemporanee
     // lo stato del bottone e' camabiato AND lo stato attuale e' HIGH
       Serial.println("Button premuto");
@@ -39,3 +39,32 @@ void loop(){
 
 
 
+/* Domande:
+
+ 1. La variabile ledstatus serve per tenere traccia dello stato del LED: 
+    si potrebbe fare a meno di questa? 
+    Cosa fa Arduino quando deve accendere o spegnere un LED?
+    Come funziona DigiralRead() ?
+
+ .
+ .
+ .
+ .
+ .
+ .
+ .
+ .
+ .
+ .
+ .
+ .
+ .
+ .
+ .
+ Soluzione:
+
+ 1. Per accendere o spegnere un LED Arduino imposta il valore del registro corrispondente
+    al PIN: se questo e' 0 il circuito e' aperto mentre se e' 1 il circuito e' chiuso.
+    Allo stesso modo con DigitalRead() e' possibile leggere lo stato di quel regustro
+    e conoscere se il LED e' acceso o spento.    
+ */