Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
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
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
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); }