ESP8266 Bruke PWM med potensiometer: 4 trinn
ESP8266 Bruke PWM med potensiometer: 4 trinn
Anonim
Image
Image
Mål
Mål

For de som ikke er vant til elektronikk, betyr PWM strømstyring. Og i denne monteringen viser vi hvordan du bruker den til å kontrollere lysintensiteten til en LED, lik en dimmer på en lampe, med alternativer for å mørkere og lysere.

Denne mekanismen lar deg for eksempel også koble en driver til en motor. Dette er bare en av mange muligheter.

- Merk: PWM står for Pulse-Width Modulation.

Trinn 1: Mål

Samlingen består av et potensiometer, som er en variabel motstand, overvåket av ESP. I dette opplegget bruker jeg den samme kildekoden som jeg ville brukt med en Arduino. På grunn av de mange fordelene bruker vi Arduino IDE med ESP også i andre prosjekter.

I enheten er ESP bare koblet til USB for strømforsyning. Vi har også markørpinnen, som er pinnen til senterpotensiometeret, koblet til AD -porten, og det positive og negative.

Siden spenningen varierer, er det mulig å lese en annen verdi i AD. Derfor, ved å dreie potensiometeret, er det mulig å øke eller redusere lysstyrken til LED -en.

Trinn 2: Montering

montering
montering

Det elektriske opplegget er veldig enkelt: ved å bruke ESP8266 i konfigurasjonen av NodeMCU, vil vi drive USB -en. Så her må potensiometeret kobles fra den ene enden til den negative, og den andre fra det positive. Mediet, som er markøren, forblir på i ADC 0, fordi denne ESP bare har en port som leser analoge verdier.

Trinn 3: WiFi ESP8266 NodeMCU ESP-12E

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

Trinn 4: Kildekode

Oppsett

I Setup -funksjonen definerer vi oppførselen til pinnene vi bruker, i dette tilfellet LED og 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 constante 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_BUILTIN, OUTPUT); // LED_BUILTIN er en konstant indikator på LED for ESP8266}

Løkke

I denne funksjonen er logikken å lese POT -verdien og tildele denne verdien (som er intensiteten til lysstyrken) i LED -en.

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 (potensial); // 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. potencia = 1023 - potencia; // atribui o valor lido do potenciômetro para configurar a intensidade do brilho do LED analogWrite (LED_BUILTIN, potencia); }