/*
- * Alternating switch
+ * Contatore di input
+
+ Il programma rileva la pressione del bottone e
+ riduce un contatore ad ogni pressione,
+ passando dallo stato iniziale a un secondo stato finale
+ dopo 10 iterazioni.
*/
int switchPin = 2; // switch is connected to pin 2
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) { // lo stato del bottone e' cambiato
if (statoAttuale == HIGH) { // il bottone e' stato premuto
Serial.println("Bottone premuto");
--- /dev/null
+/*
+ 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
+
+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
+ delay(pausa);
+}
-/*pwm_
+/*
Fade
PWM per un LED: aumentare progressivamente la luminosita'.
1. Come fare a invertire la dissolvenza diminuendo la luminosita'?
2. Provare a far salire e poi scendere la luminosita'
-
+*/
void loop()
{
- for ( i = 0; i < 255 ; i++) { // Operatore ternario, 3 argomenti:
+ for (int i = 0; i < 255 ; i++) { // Operatore ternario, 3 argomenti:
/* 1. definizione iteratore
2. limite iteratore
3. incremento operatore
delay(5 );
}
// Ora l'inverso
- for ( c = 255; c > 0 ; c--) {
+ for (int c = 255; c > 0 ; c--) {
analogWrite(led, c) ;
- delay(5 );
+ delay(5);
}
}
*/
int led = 9;
-int brightness = 0;
+int brightness = 0; // this two could be bytes as well
int fadeAmount = 5;
// the pin that the LED is attached to
// how bright the LED is