⭐ Principiante
⏱️ 15 minuti
Pulsante luce
Crei un pulsante luce. Premi una volta: il LED si accende. Premi ancora: il LED si spegne. Così impari come Arduino "sente" un pulsante.
🧰 Che cosa ti serve?
🗺️ Schema di collegamento
Segui i fili dall'Arduino a ogni componente. Puoi scegliere tu i colori dei fili.
| Da | A |
|---|---|
Arduino UNO · D2 |
Pulsante · 1 |
Pulsante · 2 |
Arduino UNO · GND |
Arduino UNO · D13 |
Resistenza 220 Ω · 1 |
Resistenza 220 Ω · 2 |
LED (lampadina) · ANODE |
LED (lampadina) · CATHODE |
Arduino UNO · GND |
🛠️ Così lo costruisci
- Metti il pulsante sopra la fessura della tua breadboard.
- Collega un piedino al pin 2 e un piedino dall'altro lato a GND.
- Metti il LED con una resistenza da 220 Ω sul pin 13, con il piedino corto verso GND.
💻 Il codice
// Pulsante luce
// Premi una volta il pulsante: il LED si accende. Ancora una volta: il LED si spegne.
const int PIN_PULSANTE = 2; // Il pulsante è sul pin 2 (l'altro lato va a GND)
const int PIN_LED = 13; // Il LED è sul pin 13 (tramite la resistenza)
bool ledAcceso = false; // Ricorda se il LED ora è acceso o spento
bool pulsantePrecedente = HIGH; // Com'era il pulsante la volta prima
void setup() {
pinMode(PIN_PULSANTE, INPUT_PULLUP); // Ingresso con resistenza integrata: libero = HIGH, premuto = LOW
pinMode(PIN_LED, OUTPUT);
}
void loop() {
bool pulsante = digitalRead(PIN_PULSANTE);
// Reagire solo nel momento in cui premi il pulsante
if (pulsantePrecedente == HIGH && pulsante == LOW) {
ledAcceso = !ledAcceso; // Invertire: acceso diventa spento, spento diventa acceso
digitalWrite(PIN_LED, ledAcceso ? HIGH : LOW);
delay(50); // Piccola pausa contro il "rimbalzo" del pulsante
}
pulsantePrecedente = pulsante;
}
🧠 Che cosa fa il codice?
- Il pulsante è sul pin 2 con
INPUT_PULLUP. Libero è HIGH, premuto è LOW. - Ricordiamo se il LED è acceso o spento in
ledAcceso. - Solo nel momento in cui premi il pulsante, invertiamo
ledAcceso.
🎯 Prova anche…
- Fai lampeggiare il LED invece di lasciarlo acceso
- Fai spegnere il LED da solo dopo 10 secondi
- Conta quante volte viene premuto il pulsante e mostralo nel monitor seriale
🚀 Costruisci questo progetto con Codey: apri codey.online/it/starter-kits/uno/projects/light-switch e clicca su FAI QUESTO. Così il codice e lo schema di collegamento sono subito pronti.
Codey Online è un prodotto di OTRONIC