Tutoriale ESP32 23/55 - Lettura della tensione del potenziometro utilizzando ESP32 | Kit IoT ESP32 di SunFounder

Tutoriale ESP32 23/55 - Lettura della tensione del potenziometro utilizzando ESP32 | Kit IoT ESP32 di SunFounder

In questo tutorial impareremo come misurare la tensione DC da un potenziometro utilizzando il modulo ESP32 di SunFounder. Il progetto dimostrerà anche come attenuare un LED in base alla posizione del potenziometro. Mentre ruoti il potenziometro in senso antiorario, la lettura della tensione diminuisce e il LED si attenua di conseguenza. Questo esercizio fornirà una comprensione pratica dell'uso del convertitore da analogico a digitale (ADC) nell'ESP32.

potenziometro
Potenziometro o resistore variabile
Potenziometro o resistenza variabile

L'ESP32 è un potente microcontrollore dotato di Wi-Fi e Bluetooth integrati, rendendolo ideale per progetti IoT. In questo tutorial, utilizzeremo le sue caratteristiche di input analogico per leggere i livelli di tensione da un potenziometro, controllando nel contempo la luminosità di un LED in base a queste letture. Il risultato sarà un LED reattivo che varia la sua intensità man mano che si regola il potenziometro.

Hardware spiegato

Per questo progetto, avremo bisogno dei seguenti componenti:

  • Modulo ESP32:Il microcontrollore principale che leggerà la tensione del potenziometro e controllerà il LED.
  • Potentiometro:Un resistore variabile utilizzato per regolare la tensione. Ha tre pin: due per resistori fissi e uno che varia.
  • LED:Un diodo a emissione di luce la cui luminosità sarà controllata in base alla posizione del potenziometro.
  • Resistore:Una resistenza da 220 ohm per limitare la corrente attraverso il LED.

Il potenziometro funziona variando la resistenza tra i suoi pin, permettendo di generare una tensione che l'ESP32 può leggere attraverso il suo ADC. La luminosità del LED è controllata utilizzando la Modulazione di Larghezza d'Impulso (PWM) per regolare la potenza fornita in base alla lettura analogica.

Dettagli del datasheet

Istruzioni per il cablaggio

ESP32-23-fading-LED_pot-wiring

Per cablare i componenti, inizia collegando il potenziometro. Collega uno dei suoi pin esterni all'alimentazione a 3,3V sull'ESP32. Collega l'altro pin esterno a terra (GND). Il pin centrale del potenziometro si collegherà al pin35sull'ESP32, che è utilizzato per la lettura della tensione analogica.

Successivamente, per il LED, collegare il pin più lungo (anodo) al pin26sull'ESP32 attraverso un resistore da 220 ohm. Collega il pin più corto (catodo) del LED a terra. Assicurati che tutte le connessioni siano sicure e ricontrolla l'orientamento del LED per prevenire danni.

Potentiometer or variable resistor

Esempi di codice e guida passo passo

Il seguente frammento di codice mostra come configurare l'ESP32 per leggere il potenziometro e controllare il LED:

const int potPin = 35; // Potentiometer connected to
const int ledPin = 26; // LED connected to

// PWM settings
const int freq = 5000; // PWM frequency
const int resolution = 12; // PWM resolution (bits)

In questo estratto, definiamo i pin per il potenziometro e il LED. Vengono impostati anche la frequenza e la risoluzione del PWM, che determineranno i livelli di luminosità del LED.

Successivamente, inizieremo a configurare il sistema:

void setup() {
  Serial.begin(115200);

  // Configure PWM
  ledcAttach(ledPin, freq, resolution);
}

Nella funzione di setup, inizializziamo la comunicazione seriale e configuriamo le impostazioni PWM per il LED. Questo setup viene eseguito una sola volta all'avvio del programma.

Infine, la funzione loop legge continuamente il valore del potenziometro e regola la luminosità del LED:

void loop() {
  int potValue = analogRead(potPin); // read the value of the potentiometer
  uint32_t voltage_mV = analogReadMilliVolts(potPin); // Read the voltage in millivolts

  ledcWrite(ledPin, potValue);
  // Serial output omitted for brevity
}

Nel ciclo, leggiamo il valore analogico dal potenziometro e lo traduciamo per controllare la luminosità del LED. L'uscita seriale mostra il valore del potenziometro e la tensione, aiutando a verificare le letture.

Dimostrazione / Cosa Aspettarsi

Quando il circuito è correttamente configurato e il codice è caricato, ruotando il potenziometro si dovrebbe avere una corrispondente variazione nella lettura della tensione visualizzata nel monitor seriale. Il LED dovrebbe attenuarsi gradualmente in entrata e in uscita mentre il potenziometro viene regolato. Se il LED non risponde come previsto, controlla le connessioni dei cavi e assicurati che il potenziometro funzioni correttamente (nel video alle 11:30).

Timestamp video

  • 00:00 Inizio
  • 2:02 Cos'è il Pot
  • 4:15 Misurare la resistenza del pot
  • 6:59 Pagina di documentazione
  • 8:56 Spiegazione del cablaggio
  • 12:28 Codice Arduino spiegato
  • 15:58 Selezionando la scheda ESP32 e la porta COM nell'Arduino IDE
  • 17:40 Dimostrazione della lettura del valore del potenziometro con ESP32

Immagini

Potentiometer or variable resistor
Potentiometer or variable resistor
ESP32-23-fading-LED_pot-schematic
ESP32-23-fading-LED_pot-schematic
ESP32-23-fading-LED_pot-wiring
ESP32-23-fading-LED_pot-wiring
potentiometer
potentiometer
822-ESP32 Tutorial 23/55- Arduino code for fading LED
Lingua: C++
Copia!

Risorse e riferimenti

File📁

Nessun file disponibile.