#9Principiante

Accendere un LED con un pulsante (Push)

4.9(110)
179 completato
Accendere un LED con un pulsante (Push)
Progetto di controllo istantaneo (push) che accende il LED quando il pulsante viene premuto e lo spegne quando viene rilasciato. Insegna l'uso della lettura dei pulsanti e dell'espressione condizionale con digitalRead.

Video

Schema circuito

Accendere un LED con un pulsante (Push) - Circuit

Codice sorgente

Arduino (C++)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Accendere un LED con un pulsante (Push)
4// ─────────────────────────────────────────
5// Il LED resta acceso finché il pulsante è tenuto premuto e si spegne
6// quando viene rilasciato (push). Mostra la lettura di un pulsante con
7// digitalRead e if-else.
8//
9// Pin:
10//   D13 -> Pulsante, altro piedino a 5V
11//   D13 -> Resistenza da 10k a GND (pull-down)
12//   D7  -> LED (con una resistenza da 330 ohm)
13
14void setup() {
15  pinMode(13, INPUT);    // Ingresso del pulsante (pull-down esterna)
16  pinMode(7, OUTPUT);    // Uscita del LED
17}
18
19void loop() {
20  if (digitalRead(13) == HIGH) {   // Il pulsante è premuto?
21    digitalWrite(7, HIGH);         // Premuto: LED acceso
22  } else {
23    digitalWrite(7, LOW);          // Rilasciato: LED spento
24  }
25}
26

FAQ

A cosa serve una resistenza da 10 kΩ?▾

Si tratta di un resistore pull-down: quando il pulsante non è premuto, porta il pin a GND garantendo una lettura stabile a livello LOW. Senza questo resistore, il pin rimarrebbe libero e verrebbe letto un livello casuale HIGH/LOW, con il LED che lampeggerebbe spontaneamente.

Posso collegare un pulsante senza utilizzare una resistenza?▾

Sì, con `pinMode(pin, INPUT_PULLUP)` si attiva la resistenza pull-up integrata nell'Arduino. In questo caso, il pulsante viene collegato tra il pin e GND e la logica si inverte: quando è premuto viene letto LOW, quando viene rilasciato viene letto HIGH.

Quali piedini del pulsante devo usare?▾

Nei pulsanti a 4 piedini, i due piedini opposti sono già collegati internamente. Posiziona il pulsante sopra lo spazio vuoto al centro della breadboard e usa i piedini incrociati; in questo modo sarai sicuro di aver scelto quelli giusti.

Qual è la differenza tra "Push" e "On-Off"?▾

In modalità Push, il LED si accende solo mentre si tiene premuto il pulsante. In modalità On-Off (toggle), ogni pressione cambia lo stato del LED, che rimane acceso anche dopo aver rilasciato il pulsante; per questo è necessaria una variabile di stato.

Accendere un LED con un pulsante (Push) | BlueGrays