Sommario:

PWM con ESP32 - Dimming LED con PWM su ESP 32 con Arduino IDE: 6 passaggi
PWM con ESP32 - Dimming LED con PWM su ESP 32 con Arduino IDE: 6 passaggi

Video: PWM con ESP32 - Dimming LED con PWM su ESP 32 con Arduino IDE: 6 passaggi

Video: PWM con ESP32 - Dimming LED con PWM su ESP 32 con Arduino IDE: 6 passaggi
Video: ChatGPT with Arduino and ESP32 | C++ and MicroPython coding 2024, Luglio
Anonim
PWM con ESP32 | LED dimmerabile con PWM su ESP 32 con Arduino IDE
PWM con ESP32 | LED dimmerabile con PWM su ESP 32 con Arduino IDE

In questo tutorial vedremo come generare segnali PWM con ESP32 utilizzando Arduino IDE e PWM è fondamentalmente utilizzato per generare un'uscita analogica da qualsiasi MCU e quell'uscita analogica potrebbe essere qualsiasi cosa tra 0 V e 3,3 V (in caso di esp32) e da 0 V a 5V (nel caso di arduino uno) e questi segnali PWM (uscita analogica) vengono utilizzati per attenuare (uscita variabile, illuminazione del LED a diversa luminosità) il LED.

Passaggio 1: cose di cui hai bisogno

Cose di cui hai bisogno
Cose di cui hai bisogno
Cose di cui hai bisogno
Cose di cui hai bisogno
Cose di cui hai bisogno
Cose di cui hai bisogno

Per questo tutorial avrai bisogno delle seguenti cose: ESP32

Resistori da 220 ohm

LED a colori

tagliere

Pochi ponticelli

Passaggio 2: comprensione del PWM su ESP32

Comprensione del PWM su ESP32
Comprensione del PWM su ESP32

ESP32 ha un controller PWM a 16 canali e questi 16 canali sono indipendenti e possono essere configurati in modo indipendente per ottenere segnali PWM con proprietà diverse per requisiti diversi. Prima di esaminare il codice e tutto il processo è necessario conoscere le seguenti cose: >> ce ne sono 16 (Da 0 a 15) pwm Canali in un ESP32. Devi scegliere il tuo canale PWM.>>Dopodiché dobbiamo selezionare la frequenza per PWM, possiamo andare a 5000hz.>>Qui abbiamo una risoluzione da 1 a 16 bit in ESP32 ma per questo tutorial andremo solo a 8 bit il che significa che la luminosità sarà controllata dai valori da 0 a 255.>>È necessario impostare il LED per PWM per farlo è necessario utilizzare la seguente riga di codice e in questo è necessario menzionare il ledchannel (stiamo usando il canale 0 di ESP32) che stai utilizzando per PWM e freq è la frequenza (stiamo usando 5000 hz) di PWM e la risoluzione che stai utilizzando (stiamo usando una risoluzione a 8 bit).ledcSetup (ledChannel, freq, resolution); Valori nel nostro caso: const int freq = 5000; const int ledChannel = 0; const int resolution = 8;>>quindi menziona quale pin LED devi usare usando il seguente comando: ledcAttachPin(ledPin, ledChannel);- qui ledPin è il pin n. Che useremo & ledChannel è il canale che dobbiamo selezionare per PWM.5. Infine, per controllare la luminosità del LED tramite PWM, si utilizza la seguente funzione:>>la parte importante del codice sarà il seguente comando che scriverà l'uscita analogica sul pin del LED: ledcWrite(ledChannel, dutycycle);questo comando sopra necessita di 'ledChannel' e 'dutyCycle' dove channel è il numero del canale che utilizzeremo e il duty cycle è il valore che stiamo scrivendo come output sul pin LED.

Passaggio 3: connessioni

Connessioni
Connessioni

La parte di connessione è molto semplice. È necessario collegare un LED con resistore a GPIO16 come mostrato negli schemi.

Passaggio 4: installa le SCHEDE ESP32 nell'IDE Arduino

Installa le SCHEDE ESP32 nell'IDE di Arduino
Installa le SCHEDE ESP32 nell'IDE di Arduino

Assicurati di avere l'IDE Arduino nel tuo PC e di aver installato le schede ESP32 nel tuo IDE Arduino e, in caso contrario, segui le mie istruzioni per installarlo.:

Passaggio 5: codice

Codice
Codice

Copia il seguente codice e caricalo sul tuo ESP32: // il numero del LED pinconst int ledPin = 16; // 16 corrisponde a GPIO16// impostazione delle proprietà PWMconst int freq = 5000;const int ledChannel = 0;const int risoluzione = 8;void setup(){ // configura le funzionalità LED PWM ledcSetup(ledChannel, freq, resolution); // collega il canale al GPIO da controllare ledcAttachPin(ledPin, ledChannel);}void loop(){ // aumenta la luminosità del LED for(int dutyCycle = 0; dutyCycle <= 255; dutyCycle++){ // modifica del LED luminosità con PWM ledcWrite(ledChannel, dutyCycle); ritardo(15); } // diminuisce la luminosità del LED for(int dutyCycle = 255; dutyCycle >= 0; dutyCycle--){ // modifica la luminosità del LED con PWM ledcWrite(ledChannel, dutyCycle); ritardo(15); }}

Passaggio 6: test della funzionalità PWM

Testare la funzionalità PWM
Testare la funzionalità PWM

Dopo aver caricato il codice, vedrai cambiare l'intensità dei tuoi LED in modo da portarci alla fine di queste istruzioni. Divertiti a utilizzare PWM con ESP32 nei tuoi progetti.

Consigliato: