Introduzione
Benvenuto al tuo primo progetto Arduino con input! In questo tutorial, costruirai un circuito in cui un pulsante controlla un LED. Quando premi il pulsante, il LED si accende; quando lo rilasci, il LED si spegne. Questo semplice progetto ti introduce alla lettura degli input digitali, all’uso dei resistori pull-up interni e alla scrittura di codice Arduino pulito.
Utilizzeremo il simulatore in-browser di Velxio, che fornisce un ambiente accurato a livello SPACE così da poter testare il tuo circuito senza alcun hardware. Iniziamo!
Panoramica del Circuito

Il circuito è composto da tre componenti principali:
- Arduino Uno – il cervello dell’operazione.
- Pulsante – un interruttore momentaneo che collega due pin quando viene premuto.
- LED Rosso – il dispositivo di uscita.
Dettagli del Cablaggio
-
Pulsante su Arduino:
- Un’estremità del pulsante (pin
1.l) si collega al pin digitale 2 di Arduino tramite un filo blu (#00aaff). - L’altra estremità (pin
2.l) si collega a GND tramite un filo nero.
- Un’estremità del pulsante (pin
-
LED su Arduino:
- L’anodo (gamba lunga, pin
A) si collega al pin digitale 13 di Arduino tramite un filo rosso (#ff0000). - Il catodo (gamba corta, pin
C) si collega a GND tramite un filo nero.
- L’anodo (gamba lunga, pin
Nota che il pulsante non ha un resistore pull-up esterno. Utilizzeremo invece il resistore pull-up interno di Arduino nel codice. Quando il pulsante non è premuto, il pin di input viene portato HIGH; quando premuto, legge LOW.
Analisi del Codice

Ecco lo sketch Arduino completo:
// Button LED Control
// Press button to turn LED on
const int BUTTON_PIN = 2;
const int LED_PIN = 13;
void setup() {
pinMode(BUTTON_PIN, INPUT_PULLUP);
pinMode(LED_PIN, OUTPUT);
}
void loop() {
int buttonState = digitalRead(BUTTON_PIN);
if (buttonState == LOW) {
digitalWrite(LED_PIN, HIGH);
} else {
digitalWrite(LED_PIN, LOW);
}
}
Spiegazione
- Costanti:
BUTTON_PINè impostato a 2,LED_PINa 13. Usare costanti rende il codice più facile da leggere e modificare. setup():pinMode(BUTTON_PIN, INPUT_PULLUP)configura il pin 2 come input con il resistore pull-up interno abilitato. Questo significa che il pin legge HIGH per impostazione predefinita e LOW quando il pulsante viene premuto (collegandolo a GND).pinMode(LED_PIN, OUTPUT)imposta il pin 13 come output per pilotare il LED.
loop():digitalRead(BUTTON_PIN)legge lo stato del pulsante. Se è LOW (pulsante premuto), accendiamo il LED condigitalWrite(LED_PIN, HIGH). Altrimenti, lo spegniamo.
Concetti Chiave
Input Digitale e Resistori Pull-Up
Quando un pin digitale è configurato come input, legge HIGH (5V) o LOW (0V). Senza un resistore pull-up o pull-down, il pin può fluttuare tra gli stati, causando letture erratiche. Il resistore pull-up interno (tipicamente 20k-50k ohm) garantisce un HIGH stabile quando il pulsante è aperto. Premere il pulsante collega il pin direttamente a GND, sovrascrivendo il pull-up e dando una lettura LOW.
Debouncing
I pulsanti meccanici spesso rimbalzano, causando multiple transizioni rapide. In questo semplice esempio, ignoriamo il debouncing perché il LED risponde rapidamente e l’effetto è minimo. Per applicazioni più critiche, puoi aggiungere un piccolo ritardo o usare una libreria di debouncing.
Uso delle Costanti
Definire i numeri dei pin come costanti all’inizio dello sketch rende facile cambiare il cablaggio senza cercare nel codice. Migliora anche la leggibilità.
Errori Comuni e Suggerimenti per il Debug
- Cablaggio del pulsante: Assicurati che un’estremità vada al pin di Arduino e l’altra a GND. Se colleghi entrambe le estremità alla stessa riga, il pulsante non funzionerà.
- Polarità del LED: L’anodo (gamba lunga) deve essere collegato al pin digitale e il catodo (gamba corta) a GND. Invertirli non danneggerà il LED, ma non si accenderà.
- Pull-up non abilitato: Se dimentichi
INPUT_PULLUPe usiINPUTsemplice, il pin fluttuerà e il LED potrebbe lampeggiare casualmente. - Numeri dei pin errati: Ricontrolla che il codice corrisponda al cablaggio. In questo esempio, pulsante sul pin 2, LED sul pin 13.
Uso del Simulatore Velxio

Clicca il pulsante Run nella barra degli strumenti per compilare e avviare la simulazione. Puoi quindi cliccare il pulsante sul canvas per vedere il LED rispondere.

Usa la barra degli strumenti del canvas per mettere in pausa, resettare o regolare la velocità di simulazione.

Per aggiungere più componenti, apri il selettore componenti e sfoglia categorie come “Input” o “Output”.

Se hai bisogno di librerie aggiuntive (ad esempio, per il debouncing), usa il Gestore Librerie.
Estensioni Suggerite
Una volta che il circuito di base funziona, prova questi miglioramenti:
- Modalità toggle: Modifica il codice in modo che ogni pressione accenda/spenga il LED invece di tenerlo premuto.
- LED multipli: Aggiungi più LED e pulsanti per creare un semplice pannello di input.
- Debounce: Implementa il debouncing software usando un ritardo di 50ms o un timer.
- Monitor seriale: Stampa lo stato del pulsante sul Monitor Seriale per il debug.
- Luminosità PWM: Sostituisci la scrittura digitale con
analogWrite()per controllare la luminosità del LED in base alla durata della pressione del pulsante.
Invito all’Azione
Pronto a costruire il tuo LED controllato da pulsante? Apri l’esempio live su Velxio e inizia a sperimentare: Esempio LED Pulsante. Nessun hardware necessario – solo il tuo browser. Buon divertimento! ----- END POST -----