Inhoudsopgave:

ESP8266 PWM gebruiken met potentiometer - Ajarnpa
ESP8266 PWM gebruiken met potentiometer - Ajarnpa

Video: ESP8266 PWM gebruiken met potentiometer - Ajarnpa

Video: ESP8266 PWM gebruiken met potentiometer - Ajarnpa
Video: Controlling 2 DC Motors using ESP32 and L298N Motor driver 2024, November
Anonim
Image
Image
Doel
Doel

Voor wie niet gewend is aan elektronica, betekent PWM power control. En in deze montage laten we zien hoe we het kunnen gebruiken om de lichtintensiteit van een LED te regelen, vergelijkbaar met een dimmer op een lamp, met opties om donkerder en helderder te maken.

Met dit mechanisme kun je bijvoorbeeld ook een driver op een motor aansluiten. Dit is slechts een van de vele mogelijkheden.

- Let op: PWM staat voor Pulse-Width Modulation.

Stap 1: Doel

Het geheel bestaat uit een potentiometer, een variabele weerstand die wordt bewaakt door de ESP. In dit schema gebruik ik dezelfde broncode die ik zou gebruiken met een Arduino. Vanwege de vele voordelen gebruiken we Arduino IDE met ESP ook in andere projecten.

In de montage is de ESP alleen voor stroomvoorziening op USB aangesloten. We hebben ook de cursorpin, de pin van de middelste potentiometer, aangesloten op de AD-poort, en de positieve en negatieve.

Omdat de spanning varieert, is het mogelijk om een andere waarde in de AD af te lezen. Door aan de potentiometer te draaien, is het daarom mogelijk om de helderheid van de LED te verhogen of te verlagen.

Stap 2: Montage

samenkomst
samenkomst

Het elektrische schema is heel eenvoudig: met behulp van de ESP8266 in de configuratie van de NodeMCU zullen we de USB van stroom voorzien. Dus hier moet de potentiometer van het ene uiteinde naar het negatieve worden aangesloten en het andere van het positieve. Het medium, dat is de cursor, blijft aan in ADC 0, omdat deze ESP alleen een poort heeft die analoge waarden uitleest.

Stap 3: WiFi ESP8266 NodeMCU ESP-12E

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

Stap 4: Broncode

Opstelling

In de Setup-functie definiëren we het gedrag van de pinnen die we gebruiken, in dit geval de LED en POTENTIOMETER.

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

Lus

In deze functie is de logica om de POT-waarde te lezen en deze waarde (de intensiteit van de helderheid) in de LED toe te wijzen.

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

Aanbevolen: