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.
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?
*/
/* 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?
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
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");
+/* 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.
+ */