Il pulsante a rilascio viene usato per fornire un valore digitale di ingresso. Gli interruttori e i pulsanti a rilascio sono ideali per fornire un livello digitale, perchè si possono portare in uno dei due stati 'on' e 'off'. Un piedino del pulsante viene collegato a GND, e l'altro piedino al pin digitale. Quando si preme il pulsante, il piedino digitale viene collegato a GND e quindi Arduino legge un livello LOW. Ma quando il pulsante è rilasciato il piedino è completamente disconnesso, si dice che è volante. Non è collegato nè ad un livello LOW nè ad un livello HIGH. Di conseguenza si collega una resistenza tra il pin digitale di Arduino e i 5 V, in tal modo, quando il pulsante è rilasciato il piedino è collegato a +5 V (=HIGH).
Se il pulsante è premuto il pin è collegato a GND, se é rilasciato il pin è collegato a 5V. Quindi il livello sul pin sarà LOW quando lo stato del pulsante è premuto (stato ON), e sarà HIGH quando il pulsante è rilasciato (stato OFF).
const int button1Pin =2 ;const int button2Pin =3 ;const int ledPin =13 ;void setup() {// i pin su cui sono collegati i pulsanti a rilascio vengono programmati per INPUT: pinMode( ;button1Pin ,INPUT )pinMode( ;button2Pin ,INPUT )// il pin su cui è collegato il LED é programmato per OUTPUT: pinMode( ;ledPin ,OUTPUT )} void loop() {int button1State ,button2State ; // stati dei pulsantibutton1State =digitalRead( ; // lettura dello statobutton1Pin )button2State =digitalRead( ;button2Pin )/* se uno dei due pulsanti è premuto e non sono premuti entrambi */ if ((( button1State ==LOW ) || (button2State ==LOW ))&& ! (( button1State ==LOW ) && (button2State ==LOW ))){ digitalWrite( ; // Accende il LEDledPin ,HIGH )} else { digitalWrite( ; // Spegne il LEDledPin ,LOW )} }
misurare la prontezza di riflessi: tenere il LED acceso con un ritardo casuale, spegnerlo e far partire un conteggio. Quando si preme il pulsante comunicare, via porta seriale, il valore del conteggio. Ripetere quando si preme nuovamente il pulsante.
contare quante volte è stato premuto il pulsante e comunicare il conteggio via porta seriale.