.. 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_input_output: 1.6 Controllo dell'Uscita con Ingresso Digitale ================================================ Panoramica ----------- Grazie alla conoscenza di digitalWrite() e digitalRead(), possiamo costruire un sistema completo di I/O (input/output) per controllare un dispositivo di uscita leggendo i dati da un dispositivo di ingresso. Questo metodo consente di utilizzare componenti di ingresso digitale, come pulsanti, sensori tattili e sensori di movimento a infrarossi, per controllare dispositivi di uscita digitale come LED o cicalini attivi. In questa lezione utilizzeremo un pulsante e un LED come esempio per implementare il controllo del LED utilizzando un pulsante e la condizione (if-else). Componenti Necessari ----------------------- .. image:: img/list_1.6.png * :ref:`cpn_mega2560` * :ref:`cpn_breadboard` * :ref:`cpn_wires` * :ref:`cpn_button` * :ref:`cpn_resistor` Circuito con Fritzing ------------------------- In questo esempio utilizziamo il pin 9 per controllare il LED e il pin digitale 2 per leggere il segnale del pulsante. Quando il pulsante viene premuto, il LED si accende. .. image:: img/image48.png Schema del Circuito --------------------- .. image:: img/image407.png Codice --------- .. note:: * Puoi aprire direttamente il file ``1.6_digitalInputControlOutput.ino`` che si trova nel percorso ``sunfounder_vincent_kit_for_arduino\code\1.6_digitalInputControlOutput``. * Oppure copia questo codice nell'Arduino IDE. .. raw:: html Dopo aver caricato il codice sulla scheda Mega2560, puoi premere e tenere premuto il pulsante per accendere il LED. Analisi del Codice --------------------- Dichiara i pin del LED e del pulsante, oltre a una variabile per memorizzare lo stato del pulsante. .. code-block:: arduino const int buttonPin = 2; const int ledPin = 9; int buttonState = 0; Inizializza la modalità dei pin in setup(). .. code-block:: arduino pinMode(ledPin, OUTPUT); pinMode(buttonPin, INPUT); Leggi lo stato del pulsante in loop() e assegnalo alla variabile buttonState. .. code-block:: arduino buttonState = digitalRead(buttonPin); Utilizza una condizione if per verificare: se lo stato del pulsante è HIGH, accendi il LED. .. code-block:: arduino if (buttonState == HIGH) { digitalWrite(ledPin, HIGH); } Altrimenti, spegni il LED. .. code-block:: arduino else { digitalWrite(ledPin, LOW); } Immagine del Fenomeno ------------------------ .. image:: img/image49.jpeg