Indietro

LED controllato da pulsante: il tuo primo progetto Arduino con input

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

Diagramma del circuito LED-pulsante sul canvas del simulatore Velxio

Il circuito è composto da tre componenti principali:

Dettagli del Cablaggio

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

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

Codice sorgente per LED-pulsante nell'editor Monaco di Velxio

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

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

Uso del Simulatore Velxio

Barra degli strumenti dell'editor Velxio con controlli di compilazione ed esecuzione

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.

Barra degli strumenti del canvas Velxio sopra il viewport di simulazione

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

Selettore componenti Velxio modale che sfoglia parti per categoria

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

Gestore librerie Velxio modale che elenca le librerie Arduino installate

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:

  1. Modalità toggle: Modifica il codice in modo che ogni pressione accenda/spenga il LED invece di tenerlo premuto.
  2. LED multipli: Aggiungi più LED e pulsanti per creare un semplice pannello di input.
  3. Debounce: Implementa il debouncing software usando un ritardo di 50ms o un timer.
  4. Monitor seriale: Stampa lo stato del pulsante sul Monitor Seriale per il debug.
  5. 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 -----


Condividi su:
David Montero

Scritto da

David Montero

Creator of Velxio, the open-source circuit and Arduino simulator.

GitHub velxio.dev

Articoli correlati


Articolo precedente
Sfumare un LED con PWM su Arduino – Tutorial per Principianti
Articolo successivo
Costruisci un Simulatore di Semaforo con Arduino su Velxio