GUIDA 6: Arduino, pulsante pt.2

Vediamo il circuito della precedente guida, cambiando però il codice, per fare in modo che venga conservato lo stato logico “alto” del pin a cui è collegato il LED anche dopo aver rilasciato il pulsante, e, che quando questo viene premuto nuovamente si associa al pin lo stato logico “basso”.

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!

2 Risposte a “GUIDA 6: Arduino, pulsante pt.2”

  1. 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

    1. Thank you so much for the compliments! I will surely keep you updated with new articles.
      I wish you a happy new year!

I commenti sono chiusi.