Perché usare resistenze con pulsanti e interruttori su Arduino

Perché usare resistenze con pulsanti e interruttori su Arduino

Questo tutorial spiega perché l'uso di una resistenza con pulsanti e interruttori collegati a un Arduino è cruciale per un funzionamento affidabile. Comprendere questo concetto è fondamentale per qualsiasi progetto Arduino che coinvolga input dell'utente. Questa conoscenza previene comportamenti imprevisti e assicura che i tuoi progetti funzionino correttamente. Ecco alcune idee di progetto in cui questa conoscenza è essenziale:

  • Semplice interruttore on/off per un LED
  • Controller di gioco interattivo
  • Telecomando per elettrodomestici
  • Sistema di sicurezza con attivazione tramite pulsante

Esploriamo i motivi per cui si utilizzano i resistori in questi circuiti.

Arduino wiring for Push button wihthout resistor

Hardware/Componenti

I componenti principali necessari per questo progetto sono minimi: una scheda Arduino, un interruttore a pulsante e una resistenza (maggiore di 300 ohm). Il valore della resistenza non è critico; valori come 1kΩ, 10kΩ o anche 100kΩ generalmente funzioneranno bene (nel video a 00:41).

Guida al cablaggio

Ci sono due configurazioni principali di cablaggio (nel video a 00:30):

  1. Configurazione 1:Collega il pulsante tra il pin dell'Arduino e +5V. L'altro lato del pulsante è collegato a massa tramite una resistenza. Quando il pulsante è premuto, il pin legge HIGH; quando viene rilasciato, legge LOW.
  2. Configurazione 2:Collega il pulsante tra il pin dell'Arduino e la massa. L'altro lato del pulsante è collegato a +5V tramite una resistenza. Quando il pulsante è premuto, il pin legge LOW; quando viene rilasciato, legge HIGH.

Arduino wriring for push button and LED
Arduino wriring for push button and LED

Uno schema di cablaggio visivo sarebbe utile qui.

Spiegazione del codice

Il codice Arduino utilizza ilpinMode()funzione per configurare il pin come ingresso. La parte cruciale è l'uso diINPUT_PULLUP(nel video a 04:06, 04:23). Questo resistore pull-up interno elimina la necessità di un resistore esterno in certe configurazioni, semplificando il cablaggio. IldigitalRead()La funzione legge lo stato del pin, e un sempliceif-elseL'istruzione determina se il pulsante è premuto (LOW) o meno (HIGH) (nel video a 08:34).


pinMode(2, INPUT_PULLUP); // Configures pin 2 as input with internal pull-up resistor
int pushButton = digitalRead(2); // Reads the state of pin 2
if (pushButton == LOW) {
  // Button is pressed
} else {
  // Button is not pressed
}

Progetto/Dimostrazione dal vivo

Il video mostra entrambe le configurazioni di cablaggio e i rispettivi comportamenti. Evidenzia i problemi che possono insorgere quando la resistenza viene omessa, come letture erratiche dovute al rumore e all'accoppiamento capacitivo (nel video a 06:18, 06:39, 07:21). La dimostrazione mostra chiaramente il funzionamento stabile e affidabile ottenuto con la resistenza in posizione (nel video a 08:08).

Capitoli

  • [00:00] Introduzione
  • [00:30] Configurazioni di cablaggio
  • [04:12] Spiegazione del codice usando INPUT_PULLUP
  • [05:36] Rimozione del resistore: dimostrazione pratica
  • [08:33] Spiegazione del codice

Immagini

Perché dovremmo usare una resistenza con un pulsante in un progetto Arduino?
Perché dovremmo usare una resistenza con un pulsante in un progetto Arduino?
Perché dovremmo utilizzare una resistenza con un pulsante per Arduino?
Perché dovremmo utilizzare una resistenza con un pulsante per Arduino?
2 pin tactile push button switch
2 pin tactile push button switch
Arduino wriring for push button and LED
Arduino wriring for push button and LED
Arduino wiring for Push button with resistor-2
Arduino wiring for Push button with resistor-2
Arduino wiring for Push button with resistor-1
Arduino wiring for Push button with resistor-1
Arduino wiring for Push button wihthout resistor
Arduino wiring for Push button wihthout resistor
132-Code example using a resistor
Lingua: C++
133-Code example using INPUT_PULLUP without a resistor
Lingua: C++
Copia!

Cose di cui potresti avere bisogno

Risorse e riferimenti

Nessuna risorsa ancora.

File📁

Nessun file disponibile.