Indholdsfortegnelse:

ESP8266 Brug af PWM med potentiometer: 4 trin
ESP8266 Brug af PWM med potentiometer: 4 trin

Video: ESP8266 Brug af PWM med potentiometer: 4 trin

Video: ESP8266 Brug af PWM med potentiometer: 4 trin
Video: Complete Guide for 15A 400W MOSFET AOD4184A to control motor or load 2024, Juli
Anonim
Image
Image
Mål
Mål

For dem, der ikke er vant til elektronik, betyder PWM strømstyring. Og i denne samling viser vi, hvordan man bruger den til at styre lysintensiteten af en LED, der ligner en lysdæmper på en lampe, med muligheder for at blive mørkere og lysere.

Denne mekanisme giver dig også mulighed for f.eks. At tilslutte en driver til en motor. Dette er kun en af mange muligheder.

- Bemærk: PWM står for Pulse-Width Modulation.

Trin 1: Mål

Samlingen består af et potentiometer, som er en variabel modstand, der overvåges af ESP. I denne ordning bruger jeg den samme kildekode, som jeg ville bruge med en Arduino. På grund af dets mange fordele bruger vi også Arduino IDE med ESP i andre projekter.

I samlingen er ESP kun tilsluttet USB til strømforsyning. Vi har også markørstiften, som er stiften på det midterste potentiometer, forbundet i AD -porten, og det positive og negative.

Da spændingen varierer, er det muligt at aflæse en anden værdi i AD. Derfor er det muligt ved at dreje potentiometeret at øge eller reducere lysstyrken på LED'en.

Trin 2: Montering

montage
montage

Det elektriske skema er meget enkelt: Ved hjælp af ESP8266 i konfigurationen af NodeMCU vil vi drive USB'en. Så her skal potentiometeret forbindes fra den ene ende til den negative, og den anden fra det positive. Mediet, som er markøren, forbliver tændt i ADC 0, fordi denne ESP kun har en port, der læser analoge værdier.

Trin 3: WiFi ESP8266 NodeMCU ESP-12E

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

Trin 4: Kildekode

Opsætning

I opsætningsfunktionen definerer vi opførslen af de ben, vi bruger, i dette tilfælde 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 lampe, der er LED eller ESP8266}

Sløjfe

I denne funktion er logikken at læse POT -værdien og tildele denne værdi (som er intensiteten af 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 (potencia); // 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); }

Anbefalede: