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