]> git.piffa.net Git - sketchbook_andrea/blob - oggi/button_2_serial_debug/button_2_serial_debug.ino
oggi
[sketchbook_andrea] / oggi / button_2_serial_debug / button_2_serial_debug.ino
1 /*
2   Input serial debug
3  
4  
5  Accensione e spegnimanto di un LED utilizzando un pin come input.
6  Utilizzare un bottone momentaneo per attivare il LED.
7
8  Schemi del circuito per bottone in pull down:
9  - http://lab.piffa.net/schemi/button_1_bb.png
10  - http://lab.piffa.net/schemi/button_1_schem.png
11
12 Tutorial:
13
14  */
15
16 int led = 12;
17 int input = 2;
18
19 // the setup routine runs once when you press reset:
20 void setup() {                
21   pinMode(led, OUTPUT);       // Il PIN e' attivato come output
22   pinMode(input, INPUT);      // Il PIN e' attivato come output
23
24   Serial.begin(9600);         // Attivazione seriale
25 }
26
27 // the loop routine runs over and over again forever:
28 void loop() {
29   if (digitalRead(input) == HIGH) { // Verifica se il PIN input e' +5v
30     digitalWrite(led, HIGH);
31     Serial.println("Bottone premuto: circuito chiuso");  // Debug seriale
32     delay(200);
33   } 
34   else { // Alterativa: se non e' +5v
35     digitalWrite(led, LOW);
36     Serial.println("Bottone libero: circuito aperto");  // Debug seriale
37     delay(200);
38   }
39 }
40
41 /* Domande:
42  1. invertire il programma facendo in modo che il led si spenga
43     quando il bottone e' premuto. Consoderare come ottenere lo stesso risultato
44     modificando il circuito.
45  2. Modificare il programma per far brillare il led cinque volte al secondo
46     quando il bottone e' premuto.
47  3. Si potrebbe usare un ciclo iterativo while invece che 
48     un ciclo condizonale if? Che differenza c'e' tra il ciclo while e  for?
49  4. Domanda: cosa succede se il jumper input non e' collegato ne al +5 ne al gound?
50  */