Definisci 4 variabili: tre sono quelle della scorsa guida, la quarta è “stato_led”, che memoriza lo stato logico del LED.
int led=7;
int pulsante=9;
int stato_led=0;
int stato_pulsante=0;
Il setup è lo stesso:
void setup() {
pinMode(led, OUTPUT);
pinMode(pulsante, INPUT);
}
Cambia il loop:
void loop() {
stato_pulsante=digitalRead(pulsante);
if (stato_pulsante == HIGH) {
if (stato_led == LOW) {
stato_led = 1;
digitalWrite(led, stato_led);
delay (1000);
}
else {
stato_led=0;
digitalWrite(led, stato_led);
delay (1000);
}
}
}
Innanzitutto associa alla variabile “stato_pulsante” la lettura digitale dello stato del pin a cui è collegato. Poi inserisci un if, la cui condizione da verificare è lo stato logico del pulsante alto. Se questo è vero, vengono eseguite le istruzioni all’interno delle graffe, in questo caso un altro if, la cui condizione è lo stato logico basso del led. In questo modo se lo stato del pulsante è HIGH e quello del LED è LOW, viene associato il valore “1” alla variabile “stato_led” (che memorizza appunto lo stato del led) e il valore logico di questa al LED; è poi presente una pausa di 1 secondo; questo tempo è più o meno quello dei nostri riflessi, è il tempo che impieghi a premere il pulsante. Introduciamo, dopo avere chiuso la graffa del secondo if la funzione “else“. Grazie a essa potrai dire ad Arduino cosa fare in caso la verifica del secondo if restituisca un valore falso. La sintassi di else è la seguente:
if(condizione){
operazioni
}
else {
operzioni
}
Nel caso in cui lo stato logico del led non sia LOW (0), quindi sia HIGH (1), la variabile “stato_led assume valore LOW (0) e il LED assume lo stato logico di questa variabile: LOW.
La guida finisce qui, colgo l’occasione per augurarti buone feste e un felice Natale!
It’s actually a great and helpful piece of information. I am glad that you just shared this useful information with us. Please stay us up to date like this. Thank you for sharing. dkdeekagdgfe
Thank you so much for the compliments! I will surely keep you updated with new articles.
I wish you a happy new year!