.. note:: 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 [|link_sf_facebook|] e unisciti oggi! .. _ar_digital_pullup: 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 ---------------------- .. image:: img/list_1.9.png * :ref:`cpn_mega2560` * :ref:`cpn_breadboard` * :ref:`cpn_wires` * :ref:`cpn_button` 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. .. image:: img/image53.png Schema del Circuito --------------------- .. image:: img/image411.png Codice ------- .. note:: * 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. .. raw:: html 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. .. code-block:: arduino Serial.begin(9600); Configura il pin 2 come input e abilita la resistenza pull-up interna. .. code-block:: arduino 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. .. code-block:: arduino int buttonState = digitalRead(2); Stampa i valori memorizzati nella variabile sul monitor seriale. .. code-block:: arduino Serial.println(buttonState); Immagine del Fenomeno ------------------------ .. image:: img/image55.jpeg