ESP8266 PWM kasutamine koos potentsiomeetriga: 4 sammu
ESP8266 PWM kasutamine koos potentsiomeetriga: 4 sammu
Anonim
Image
Image
Eesmärk
Eesmärk

Neile, kes pole elektroonikaga harjunud, tähendab PWM võimsuse juhtimist. Ja selles koostes näitame, kuidas seda kasutada LED -i valgustugevuse juhtimiseks, mis sarnaneb lampi dimmeriga, koos võimalustega tumeneda ja heledamaks muuta.

See mehhanism võimaldab teil näiteks ühendada juhi mootoriga. See on vaid üks paljudest võimalustest.

- Märkus: PWM tähistab impulsi laiuse modulatsiooni.

1. samm: eesmärk

Seade koosneb potentsiomeetrist, mis on muutuv takisti, mida jälgib ESP. Selles skeemis kasutan sama lähtekoodi, mida kasutaksin Arduinoga. Tänu paljudele eelistele kasutame Arduino IDE -d koos ESP -ga ka teistes projektides.

Komplektis on ESP ühendatud USB -ga ainult toiteallikaks. Meil on ka AD -pordiga ühendatud kursori tihvt, mis on keskmise potentsiomeetri tihvt, ning positiivne ja negatiivne.

Kuna pinge varieerub, on AD -st võimalik lugeda erinevat väärtust. Seetõttu on potentsiomeetrit keerates võimalik LED -i heledust suurendada või vähendada.

2. samm: kokkupanek

Kokkupanek
Kokkupanek

Elektriskeem on väga lihtne: kasutades ESP8266 NodeMCU konfiguratsioonis, toidame USB -d. Nii et siin tuleb potentsiomeeter ühendada ühest otsast negatiiviga ja teine positiivsest. Meedium, mis on kursor, jääb ADC 0 -s sisse, sest sellel ESP -l on ainult port, mis loeb analoogväärtusi.

Samm: WiFi ESP8266 NodeMCU ESP-12E

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

4. samm: lähtekood

Seadistamine

Seadistusfunktsioonis määratleme kasutatavate tihvtide, antud juhul LED -i ja POTENTIOMEETRI käitumise.

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 potentsô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 uma konstante que indica või LED do ESP8266}

Loop

Selle funktsiooni puhul on loogiline lugeda POT -väärtus ja määrata see väärtus (mis on heleduse intensiivsus) LED -is.

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