Nota

Ciao, benvenuto nella community di SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino e ESP32 insieme ad altri appassionati.

Perché Unirsi?

  • Supporto Esperti: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra community e del nostro team.

  • Impara & Condividi: Scambia consigli e tutorial per migliorare le tue competenze.

  • Anteprime Esclusive: Accedi in anteprima agli annunci di nuovi prodotti e alle anticipazioni.

  • Sconti Speciali: Goditi sconti esclusivi sui nostri prodotti più recenti.

  • Promozioni Festive e Giveaway: Partecipa ai giveaway e alle promozioni festive.

👉 Pronto a esplorare e creare con noi? Clicca su [qui] e unisciti oggi stesso!

5.8 Ruota la Manopola

Un potenziometro è un dispositivo a tre terminali comunemente utilizzato per regolare la resistenza in un circuito. Dispone di una manopola o di una leva scorrevole che può essere utilizzata per variare il valore di resistenza del potenziometro. In questo progetto, lo utilizzeremo per controllare la luminosità di un LED, simile a una lampada da scrivania nella nostra vita quotidiana. Regolando la posizione del potenziometro, possiamo modificare la resistenza nel circuito, regolando così la corrente che attraversa il LED e di conseguenza la sua luminosità. Questo ci consente di creare un’esperienza di illuminazione personalizzabile e regolabile, simile a quella di una lampada da scrivania.

Componenti Necessari

In questo progetto, abbiamo bisogno dei seguenti componenti.

È sicuramente conveniente acquistare un kit completo, ecco il link:

Nome

OGGETTI IN QUESTO KIT

LINK

ESP32 Starter Kit

320+

ESP32 Starter Kit

Puoi anche acquistarli separatamente dai link qui sotto.

INTRODUZIONE AI COMPONENTI

LINK PER L’ACQUISTO

ESP32 Scheda

ACQUISTA

Estensione Fotocamera ESP32

ACQUISTA

Breadboard

ACQUISTA

Cavi Jumper

ACQUISTA

Resistore

ACQUISTA

LED

ACQUISTA

Potentiometro

ACQUISTA

Pin Disponibili

  • Pin Disponibili

    Ecco un elenco dei pin disponibili sulla scheda ESP32 per questo progetto.

    Pin Disponibili

    IO14, IO25, I35, I34, I39, I36

  • Pin di Strapping

    I seguenti pin sono pin di strapping, che influenzano il processo di avvio dell’ESP32 durante l’accensione o il reset. Tuttavia, una volta che l’ESP32 è stato avviato correttamente, possono essere utilizzati come pin normali.

    Pin di Strapping

    IO0, IO12

Schema

../../_images/circuit_5.8_potentiometer.png

Quando ruoti il potenziometro, il valore di I35 cambierà. Attraverso la programmazione, puoi utilizzare il valore di I35 per controllare la luminosità del LED. Pertanto, man mano che ruoti il potenziometro, anche la luminosità del LED cambierà di conseguenza.

Cablatura

../../_images/5.8_potentiometer_bb.png

Codice

Nota

  • Apri il file 5.8_turn_the_knob.py situato nel percorso esp32-starter-kit-main\micropython\codes, oppure copia e incolla il codice in Thonny. Successivamente, fai clic su «Esegui lo script corrente» o premi F5 per eseguirlo.

  • Assicurati di selezionare l’interprete «MicroPython (ESP32).COMxx» nell’angolo in basso a destra.

from machine import ADC, Pin, PWM
import time

pot = ADC(Pin(35, Pin.IN)) # crea un oggetto ADC che agisce su un pin

# Configura l'attenuazione ADC a 11dB per l'intera gamma
pot.atten(pot.ATTN_11DB)

# Crea un oggetto PWM
led = PWM(Pin(26), freq=1000)

while True:
    # Leggi un valore analogico grezzo nell'intervallo 0-4095
    value = pot.read()

    # Scala il valore nell'intervallo 0-1023 per il ciclo di lavoro PWM dell'ESP32
    pwm_value = int(value * 1023 / 4095)

    # Aggiorna la luminosità del LED in base al valore del potenziometro
    led.duty(pwm_value)

    # Leggi la tensione in microvolt e converti in volt
    voltage = pot.read_uv() / 1000000

    # Stampa il valore grezzo e la tensione
    print(f"value: {value}, Voltage: {voltage}V")

    # Attendi 0,5 secondi prima di eseguire la lettura successiva
    time.sleep(0.5)

Quando esegui questo script, la luminosità del LED cambia man mano che il potenziometro viene ruotato, mentre il valore analogico e la tensione a questo punto vengono visualizzati nella Shell.