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
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.
Schema del Circuito
Codice
Nota
Puoi aprire direttamente il file
1.9_digitalInputPullup.inoche si trova nel percorsosunfounder_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