Sommario:

ESP8266 Utilizzo di PWM con potenziometro: 4 passaggi
ESP8266 Utilizzo di PWM con potenziometro: 4 passaggi

Video: ESP8266 Utilizzo di PWM con potenziometro: 4 passaggi

Video: ESP8266 Utilizzo di PWM con potenziometro: 4 passaggi
Video: Arduino Tutorial ITA #7: Output analogico con il PWM 2024, Luglio
Anonim
Image
Image
Obiettivo
Obiettivo

Per chi non è avvezzo all'elettronica, PWM significa controllo della potenza. E in questo assemblaggio, mostriamo come usarlo per controllare l'intensità della luce di un LED, simile a un dimmer su una lampada, con opzioni per scurire e schiarire.

Questo meccanismo consente anche, ad esempio, di collegare un driver a un motore. Questa è solo una delle tante possibilità.

- Nota: PWM sta per Pulse-Width Modulation.

Passaggio 1: obiettivo

Il gruppo è costituito da un potenziometro, che è un resistore variabile, monitorato dall'ESP. In questo schema, sto usando lo stesso codice sorgente che userei con un Arduino. Grazie ai suoi numerosi vantaggi, utilizziamo Arduino IDE con ESP anche in altri progetti.

Nell'assieme, l'ESP è collegato a USB solo per l'alimentazione. Abbiamo anche il pin del cursore, che è il pin del potenziometro centrale, collegato alla porta AD, e il positivo e il negativo.

Al variare della tensione è possibile leggere un valore diverso nell'AD. Pertanto, ruotando il potenziometro, è possibile aumentare o diminuire la luminosità del LED.

Passaggio 2: assemblaggio

Assemblea
Assemblea

Lo schema elettrico è molto semplice: utilizzando l'ESP8266 nella configurazione del NodeMCU, alimenteremo l'USB. Quindi qui, il potenziometro deve essere collegato da un'estremità al negativo e l'altra dal positivo. Il mezzo, che è il cursore, rimane acceso in ADC 0, perché questo ESP ha solo una porta che legge i valori analogici.

Passaggio 3: WiFi ESP8266 NodeMCU ESP-12E

WiFi ESP8266 NodeMCU ESP-12E
WiFi ESP8266 NodeMCU ESP-12E

Passaggio 4: codice sorgente

Impostare

Nella funzione Setup definiamo il comportamento dei pin che utilizziamo, in questo caso LED e POTENZIOMETRO.

void setup(){ Serial.begin(115200) // Instrução para colocar o gpio que iremos utilizar come entrada, // podemos fazer a leitura nesse pino pinMode(A0, INPUT); // A0 é uma constante que indica o pino que ligamos nosso potenciômetro // Instrução para colocar o gpio que iremos utilizar come saída, // podemos alterar seu valor livremente para HIGH o LOW pinMode(LED_BUILTIN, OUTPUT); // LED_BUILTIN è costantemente que indica o LED do ESP8266 }

Ciclo continuo

In questa funzione la logica è leggere il valore della POT e assegnare questo valore (che è l'intensità della luminosità) nel LED.

void loop(){ // faz a leitura do pino A0 (no nosso caso, o potenciômetro, retorna um valor entre 0 e 1023) int potencia = analogRead(A0); Serial.println(potenza); // como o LED no ESP8266 trabalha de maneira contrária, ou seja, quanto maior o valor atribuído, menor a intensidade. Faremos o cálculo para aumentarmos o brilho conforme girarmos o potenciômetro em sentido horário. potenza = 1023 - potenza; // atribui o valor lido do potenciômetro para configurar a intensidade do brilho do LED analogWrite(LED_BUILTIN, potencia); }

Consigliato: