// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
-int led = 13;
+int led = 12;
int input = 2;
// the setup routine runs once when you press reset:
int switchPin = 2; // switch connesso al pin 2
// Nota: le prossime due variabili sono
- // solo "dichiarate" e non "definite"
+ // solo "definite" e non "inizializzate"
int statoAttuale; // Variabile per leggere lo stato del bottone
int ultimoStato; // Variabile per registrare l'ultimo stato del bottone
void loop(){
statoAttuale = digitalRead(switchPin); // 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) {
// verifica due condizioni che devono realizzarsi contemporaneamente
if (statoAttuale == HIGH) { // il bottone e' stato premuto
Serial.println("Bottone premuto");
}
- else { // the button is -not- pressed...
+ else { // il bottone non e' premuto...
Serial.println("Bottone rilasciato");
}
}
ultimoStato = statoAttuale; // Aggiorna lo stato finale al valore attuale
}
+/* 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.
+ 3. Quanti stati ha il LED?
+ 4. Sarebbe possibile passare rapidamente da uno stato all'altro?
+
+ */
+
}
+/* Domande:
+ 1. I due cicli if verificano che due condizioni siano concomitanti: e' possibile
+ integrarli semplificando il codice?
+
+ */
PWM demo
PWM per un LED: impostare i valori di luminosita' di un LED.
+
*/
int led = 9 ; // Il pin ~9 e' abilitato al PWM
byte brightness = 0; // Valore iniziale per il PWM del LED
-int pausa = 2000; // Pausa tra uno stato e l'altro
+int pausa = 5; // Pausa tra uno stato e l'altro
void setup() {
pinMode(led, OUTPUT); // Il PIN nove va dichiarato come un OUTPUT
}
void loop() {
- analogWrite(led, 0) ; // spento
- delay(pausa);
- analogWrite(led, 63) ; // 1/4
- delay(pausa);
- analogWrite(led, 127) ; // 1/2
- delay(pausa);
- analogWrite(led, 191) ; // 3/4
- delay(pausa);
- analogWrite(led, 254) ; // Full light
+ analogWrite(led, brightness) ; // spento
delay(pausa);
+ brightness++ ;
+
}
// Carica un file di esempio con tutte le note
// #include "pitches.h";
-// int notes[] = {NOTE_C4, NOTE_G4,NOTE_A5 }; // suona una prima, quinta, ottava
+// int notes[] = {NOTE_C4, NOTE_G4,NOTE_C5 }; // suona una prima, quinta, ottava
void setup(){
//start serial connection