Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-13 06:58
Para sa mga hindi sanay sa electronics, nangangahulugang PWM ang kontrol sa kuryente. At sa pagpupulong na ito, ipinapakita namin kung paano ito magagamit upang makontrol ang tindi ng ilaw ng isang LED, katulad ng isang dimmer sa isang ilawan, na may mga pagpipilian upang magpadilim at magpasaya.
Pinapayagan ka rin ng mekanismong ito, halimbawa, na kumonekta sa isang driver sa isang motor. Ito ay isa lamang sa maraming mga posibilidad.
- Tandaan: Ang PWM ay nangangahulugang Pulse-Width Modulation.
Hakbang 1: Layunin
Ang pagpupulong ay binubuo ng isang potentiometer, na kung saan ay isang variable risistor, sinusubaybayan ng ESP. Sa ganitong pamamaraan, gumagamit ako ng parehong source code na gagamitin ko sa isang Arduino. Dahil sa maraming kalamangan, ginagamit namin ang Arduino IDE kasama ang ESP sa iba pang mga proyekto.
Sa pagpupulong, ang ESP ay konektado sa USB lamang para sa power supply. Mayroon din kaming cursor pin, na pin ng gitnang potensyomiter, na konektado sa AD port, at ang positibo at negatibo.
Tulad ng pag-iiba ng boltahe, posible na basahin ang isang iba't ibang mga halaga sa AD. Samakatuwid, sa pamamagitan ng pag-on ng potensyomiter, posible na dagdagan o bawasan ang ningning ng LED.
Hakbang 2: Assembly
Ang scheme ng elektrisidad ay napaka-simple: gamit ang ESP8266 sa pagsasaayos ng NodeMCU, papalakasin namin ang USB. Kaya't narito, ang potensyomiter ay dapat na konektado mula sa isang dulo hanggang sa negatibo, at ang isa mula sa positibo. Ang daluyan, na kung saan ay ang cursor, ay mananatili sa ADC 0, dahil ang ESP na ito ay mayroon lamang isang port na nagbabasa ng mga halagang analog.
Hakbang 3: WiFi ESP8266 NodeMCU ESP-12E
Hakbang 4: Source Code
Pag-set up
Sa pagpapaandar na Setup, tinutukoy namin ang pag-uugali ng mga pin na ginagamit namin, sa kasong ito ang LED at 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 é uma Constante que indica o LED do ESP8266}
Loop
Sa pagpapaandar na ito, ang lohika ay basahin ang halaga ng POT at italaga ang halagang ito (na kung saan ay ang tindi ng ningning) sa 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); // 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); }