Nota

Ciao, benvenuto nella comunità di appassionati di SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Immergiti nel mondo affascinante di Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.

Perché unirti a noi?

  • Supporto esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra comunità e del nostro team.

  • Impara e condividi: Scambia consigli e tutorial per migliorare le tue competenze.

  • Anteprime esclusive: Ottieni accesso anticipato a nuovi annunci di prodotti e contenuti esclusivi.

  • Sconti speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.

  • Promozioni festive e concorsi: Partecipa a concorsi e promozioni speciali durante le festività.

👉 Sei pronto a esplorare e creare con noi? Clicca su [Qui] e unisciti oggi!

1.9 Ingresso Digitale con Resistenza Pull-Up

Panoramica

Quando si utilizzano dispositivi di input come interruttori, spesso vengono impiegate resistenze pull-up o pull-down per mantenere i livelli dei pin a un valore definito quando il dispositivo non è attivo. Ad esempio, nella sezione 1.4 Digital Read, viene utilizzata una resistenza da 10k per collegare il pin a GND quando il pulsante non è premuto. Se utilizziamo molti componenti di input come interruttori e vogliamo semplificare il circuito, possiamo configurare il pin in modalità 「INPUT_PULLUP」 nel codice, in modo che il pin legga un livello alto in stato sospeso.

Componenti Necessari

../_images/list_1.9.png

Circuito con Fritzing

In questo esempio, utilizziamo il pin 2 per leggere il segnale del pulsante. La resistenza pull-up interna del pin 2 è attivata, quindi, se il pulsante non è premuto, il pin 2 leggerà un livello HIGH; quando il pulsante è premuto, il livello sarà LOW.

../_images/image53.png

Schema del Circuito

../_images/image411.png

Codice

Nota

  • Puoi aprire direttamente il file 1.9_digitalInputPullup.ino che si trova nel percorso sunfounder_vincent_kit_for_arduino\code\1.9_digitalInputPullup.

  • Oppure copia questo codice nell’Arduino IDE.

Dopo aver caricato il codice sulla scheda Mega2560, puoi aprire il monitor seriale per vedere i valori letti dal pin. Quando il pulsante è premuto, il monitor seriale mostrerà «0», mentre quando il pulsante è rilasciato, mostrerà «1».

Analisi del Codice

Avvia la comunicazione seriale nella funzione setup() e imposta la velocità di trasmissione a 9600.

Serial.begin(9600);

Configura il pin 2 come input e abilita la resistenza pull-up interna.

pinMode(2, INPUT_PULLUP);

Leggi lo stato del livello del pin digitale 2 utilizzando l’istruzione digitalRead() in loop() e dichiara una variabile per memorizzarlo.

int buttonState = digitalRead(2);

Stampa i valori memorizzati nella variabile sul monitor seriale.

Serial.println(buttonState);

Immagine del Fenomeno

../_images/image55.jpeg