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.7 Controllo dell’Uscita con Ingresso Analogico

Panoramica

Puoi creare un sistema di I/O (input/output) utilizzando dispositivi analogici. Ad esempio, puoi utilizzare un potenziometro, una fotoresistenza o un sensore di livello dell’acqua per controllare la luminosità di un LED, la velocità di un motore e altro ancora. In questa lezione, utilizzeremo un potenziometro e un LED per modificare la luminosità del LED ruotando il potenziometro.

Componenti Necessari

../_images/list_1.7.png

Circuito con Fritzing

In questa lezione, utilizziamo il pin PWM 9 per controllare il LED e il pin analogico A0 per leggere il valore del potenziometro. Dopo aver caricato il codice, noterai che la luminosità del LED cambia in base alla rotazione del potenziometro.

../_images/image50.png

Schema del Circuito

../_images/image408.png

Codice

Nota

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

  • Oppure copia questo codice nell’Arduino IDE.

Una volta caricato il codice sulla scheda Mega2560, noterai che la luminosità del LED cambia ruotando la manopola del potenziometro.

Analisi del Codice

Dichiara i pin del potenziometro e del LED.

const int sensorPin = A0;
const int ledPin = 9;

In setup(), configura la modalità del ledPin come OUTPUT.

pinMode(ledPin,OUTPUT);

In loop(), leggi il valore del potenziometro.

int sensorValue=analogRead(sensorPin);

Mappa il valore letto dal potenziometro ai livelli di luminosità del LED (da 0-1024 a 0-255).

int brightness = map(sensorValue,0,1024,0,255);

Scrivi il valore di luminosità al LED.

analogWrite(ledPin,brightness);

Immagine del Fenomeno

../_images/image51.jpeg