Taula de continguts:

ESP8266 Ús de PWM amb potenciòmetre: 4 passos
ESP8266 Ús de PWM amb potenciòmetre: 4 passos

Vídeo: ESP8266 Ús de PWM amb potenciòmetre: 4 passos

Vídeo: ESP8266 Ús de PWM amb potenciòmetre: 4 passos
Vídeo: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, De novembre
Anonim
Image
Image
Objectiu
Objectiu

Per a aquells que no estan acostumats a l'electrònica, PWM significa control de potència. I en aquest muntatge, us mostrem com utilitzar-lo per controlar la intensitat de la llum d'un LED, similar a un atenuador d'una làmpada, amb opcions per enfosquir i il·luminar.

Aquest mecanisme també us permet, per exemple, connectar un controlador a un motor. Aquesta és només una de les moltes possibilitats.

- Nota: PWM significa Pulse-Width Modulation.

Pas 1: objectiu

El conjunt consisteix en un potenciòmetre, que és una resistència variable, controlat per l’ESP. En aquest esquema, estic fent servir el mateix codi font que faria servir amb un Arduino. A causa dels seus nombrosos avantatges, també fem servir Arduino IDE amb ESP en altres projectes.

En el conjunt, l'ESP es connecta a USB només per a la font d'alimentació. També tenim el pin del cursor, que és el pin del potenciòmetre central, connectat al port AD, i el positiu i el negatiu.

Com que el voltatge varia, és possible llegir un valor diferent a l'AD. Per tant, girant el potenciòmetre és possible augmentar o disminuir la brillantor del LED.

Pas 2: Muntatge

muntatge
muntatge

L’esquema elèctric és molt senzill: mitjançant l’ESP8266 a la configuració del NodeMCU, alimentarem l’USB. Aquí, doncs, el potenciòmetre s’ha de connectar des d’un extrem al negatiu i l’altre des del positiu. El mitjà, que és el cursor, roman activat a ADC 0, perquè aquest ESP només té un port que llegeix valors analògics.

Pas 3: WiFi ESP8266 NodeMCU ESP-12E

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

Pas 4: Codi font

Configuració

A la funció Configuració, definim el comportament dels pins que fem servir, en aquest cas el LED i el POTENTIOMETRE.

void setup () {Serial.begin (115200) // Instrução para colocar o gpio que usem com a entrada, // podem fer 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 use com saída, // podem alterar el seu valor livrement per HIGH o LOW pinMode (LED_BUILTIN, OUTPUT); // LED_BUILTIN és la vostra constant que indica o LED de ESP8266}

Bucle

En aquesta funció, la lògica és llegir el valor POT i assignar aquest valor (que és la intensitat de la brillantor) al 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 (potencia); // com o LED no ESP8266 treballa de manera contrària, o seja, quant major o valor atribuït, menor a intensitat. Faremos o cálculo para aumentarmos o brilho conforme girarmos o potenciômetro em sentido horário. potencia = 1023 - potencia; // attribui o valor lido do potenciômetro for configurar a intensidade do brilho do LED analogWrite (LED_BUILTIN, potencia); }

Recomanat: