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.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

../_images/list_1.6.png

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.

../_images/image48.png

Schema del Circuito

../_images/image407.png

Codice

Nota

  • 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.

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.

const int buttonPin = 2;
const int ledPin =  9;
int buttonState = 0;

Inizializza la modalità dei pin in setup().

pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);

Leggi lo stato del pulsante in loop() e assegnalo alla variabile buttonState.

buttonState = digitalRead(buttonPin);

Utilizza una condizione if per verificare: se lo stato del pulsante è HIGH, accendi il LED.

if (buttonState == HIGH) {
    digitalWrite(ledPin, HIGH);
}

Altrimenti, spegni il LED.

else {
    digitalWrite(ledPin, LOW);
}

Immagine del Fenomeno

../_images/image49.jpeg