Arduino tutorial parte 1.3: usare un pulsante come interruttore di un LED

4.868 views 1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 3,50 out of 5)

Loading...

Ciao a tutti e bentornati sul mio sito nella sezione dei tutorial su Arduino. Oggi nella terza parte del tutorial sui LED che continuerà ancora per un paio di articoli proveremo ad accendere un LED tramite un pulsante che fungerà da interruttore. A ogni pressione e rilascio del pulsante si invertirà lo stato del LED: se era acceso si spegnerà e viceversa. Oggi utilizzeremo la struttura if, trattata nella parte 1.2, quindi nulla di nuovo se avete seguito tutti i tutorial fino ad adesso. Per ogni dubbio vi aspetto nei commenti.

Circuito con pulsante usato come interruttore

Occorrente per questo circuito:
-1x Arduino UNO
-1x LED rosso
-1x resistenza 220 Ohm
-1x resistenza 10 KOhm
-1x pulsante
-wipe jumpers

Creazione Circuito: Per creare questo circuito, molto simile a quello della puntata precedente, per prima cosa inseriamo il LED sulla Bread Board e colleghiamo il suo piedino positivo (+ quello senza smussatura) al pin digitale numero 2. Colleghiamo l’altro piedino alla riga negativa (-) della Bread Board tramite una resistenza a 220 Ohm. Passiamo al pulsante: inseriamo il pulsante a metà tra le colonne centrali della Bread Board, come mostrato nel disegno per agevolare la pressione. Il piedino di sinistra lo colleghiamo direttamente alla riga positiva (+) mentre quello di destra lo colleghiamo sia con il pin digitale numero 3, sia con il polo negativo (-) tramite una resistenza da 10 KOhm, come mostrato nella figura sopra. Per il circuito è tutto, come ultima cosa colleghiamo i pin 5 Volt e GND alle righe positive e negative della Bread Board e siamo pronti a passare alla stesura dello sketch.

Struttura Codice: Per lo sketch di oggi iniziamo come al solito definendo i pin del pulsante e del LED che andremo ad utilizzare come costanti. Nella funzione setup utilizziamo l’istruzione pinMode per inizializzare i pin come OUTPUT (LED) o INPUT (pulsante). Nella funzione loop dimensioniamo due variabili lettura e ledStato nelle quali inseriamo lo stato del pulsante e del LED con la funzione digitalRead. Poi ci chiediamo con la struttura if, descritta in precedenza, se lo stato del pulsante è HIGH, ovvero premuto. Se è vero allora aggiungiamo un ritardo obbligatorio di 200 millisecondi. Poi invertiamo la variabile ledStato con il ! che passa da HIGH a LOW o da LOW a HIGH. Quindi accendiamo o spegniamo il LED con la funzione digitalWrite. Abbiamo concluso lo sketch: verifichiamo e carichiamo su Arduino. Il codice è qui sotto, per ogni dubbio vi aspetto nei commenti.

#define PULSANTE 3
#define LED 2

void setup() {
  pinMode(LED, OUTPUT);
  pinMode(PULSANTE, INPUT);
}

void loop() {
  int lettura = digitalRead(PULSANTE);
  int ledStato = digitalRead(LED);
  if(lettura == HIGH){
    delay(200);
    ledStato = !ledStato;
    digitalWrite(LED, ledStato);
  }
}

Ok ragazzi, spero che dopo questo tutorial abbiate capito il funzionamento del pulsante come interruttore e che abbiate imparato nuovi comandi e nuove nozioni sul funzionamento di Arduino. Quindi continuate a seguire la pagina per rimanere aggiornati su nuovi articoli di applicazioni e software che rilascerò e ovviamente sulla continuazione dei tutorial di Arduino. Vi aspetto nei commenti…
Fabio Java

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *