Turinys:

PWM su ESP32 - Tamsinantis šviesos diodas su PWM ant ESP 32 su „Arduino IDE“: 6 žingsniai
PWM su ESP32 - Tamsinantis šviesos diodas su PWM ant ESP 32 su „Arduino IDE“: 6 žingsniai

Video: PWM su ESP32 - Tamsinantis šviesos diodas su PWM ant ESP 32 su „Arduino IDE“: 6 žingsniai

Video: PWM su ESP32 - Tamsinantis šviesos diodas su PWM ant ESP 32 su „Arduino IDE“: 6 žingsniai
Video: ESP32 Tutorial 6 - Using RGB LED Project 2.3 -SunFounder's ESP32 IoT Learnig kit 2024, Liepa
Anonim
PWM su ESP32 | Tamsinantis šviesos diodas su PWM ant ESP 32 su „Arduino IDE“
PWM su ESP32 | Tamsinantis šviesos diodas su PWM ant ESP 32 su „Arduino IDE“

Šioje instrukcijoje pamatysime, kaip generuoti PWM signalus naudojant ESP32 naudojant „Arduino IDE“, o PWM iš esmės naudojamas analoginiam išėjimui iš bet kurio MCU generuoti, o analoginis išėjimas gali būti bet koks nuo 0 V iki 3,3 V (esp32 atveju) ir nuo 0 V iki 5V („arduino uno“atveju) ir šie PWM signalai (analoginė išvestis) naudojami šviesos diodui pritemdyti (kintama išvestis, šviesos diodas skirtingo ryškumo).

1 žingsnis: reikalingi dalykai

Daiktai, kurių jums reikia
Daiktai, kurių jums reikia
Daiktai, kurių jums reikia
Daiktai, kurių jums reikia
Daiktai, kurių jums reikia
Daiktai, kurių jums reikia

Šiai pamokai jums reikės šių dalykų: ESP32

220 omų rezistoriai

Spalvotas ledas

Bandomoji Lenta

Mažai džemperių

2 veiksmas: supraskite ESP32 PWM

ESP32 PWM supratimas
ESP32 PWM supratimas

ESP32 turi 16 kanalų PWM valdiklį, o šie 16 kanalų yra nepriklausomi ir gali būti sukonfigūruoti nepriklausomai, kad gautų PWM signalus su skirtingomis savybėmis skirtingiems reikalavimams. Prieš pereidami prie kodo ir viso proceso, turite žinoti šiuos dalykus: >> yra 16 (0–15) pwm kanalai ESP32. Turite pasirinkti savo PWM kanalą. >> Po to turime pasirinkti PWM dažnį, galime pereiti prie 5000 Hz. >> Čia ESP32 skiriamoji geba yra nuo 1 iki 16 bitų, tačiau šioje pamokoje mes naudosime tik 8 bitus tai reiškia, kad ryškumą valdys vertės nuo 0 iki 255. >> Norėdami tai padaryti, turite nustatyti PWM šviesos diodą, kad galėtumėte naudoti šią kodo eilutę ir paminėti apie LED kanalą (mes naudojame 0 kanalą ESP32), kurį naudojate PWM, ir dažnis yra jūsų naudojamo PWM ir skiriamosios gebos dažnis (mes naudojame 5000 Hz) (mes naudojame 8 bitų skiriamąją gebą). = 5000; const int ledChannel = 0; const int rezoliucija = 8; >> tada paminėkite, kokio LED kaiščio jums reikia, naudodami šią komandą: ledcAttachPin (ledPin, ledChannel);- čia ledPin yra kaištis Nr. Mes naudosime & ledChannel kanalą, kurį turime pasirinkti PWM. Galiausiai, norėdami valdyti šviesos diodų ryškumą naudodami PWM, naudojate šią funkciją: >> pagrindinė svarbi kodo dalis bus ši komanda, kuri analoginį išvestį įrašys į LED kaištį: ledcWrite (ledChannel, dutycycle); ši komanda aukščiau reikia „ledChannel“ir „dutyCycle“, kur kanalas yra kanalo numeris, kurį naudosime, o darbo ciklas yra vertė, kurią rašome kaip išvestį į LED kaištį.

3 žingsnis: jungtys

Sujungimai
Sujungimai

Prijungimo dalis yra labai paprasta. Turite prijungti šviesos diodą su rezistoriumi prie GPIO16, kaip parodyta schmatikoje.

4 veiksmas: įdiekite ESP32 LENTAS į „Arduino IDE“

Įdiekite ESP32 LENTAS į „Arduino IDE“
Įdiekite ESP32 LENTAS į „Arduino IDE“

Įsitikinkite, kad jūsų kompiuteryje yra „Arduino IDE“ir „Arduino IDE“įdiegėte ESP32 plokštes, o jei taip nėra, vadovaukitės šiomis mano instrukcijomis, kad ją įdiegtumėte.:

5 žingsnis: kodas

Kodas
Kodas

Nukopijuokite šį kodą ir įkelkite jį į savo ESP32: // šviesos diodo pinconst numeris int ledPin = 16; // 16 atitinka GPIO16 // nustatymas PWM Propertiesconst int freq = 5000; const int ledChannel = 0; const int rezoliucija = 8; void setup () {// konfigūruoti LED PWM funkcines vietas ledcSetup (ledChannel, freq, resolution); // prijunkite kanalą prie valdomo GPIO ledcAttachPin (ledPin, ledChannel);} void loop () {// padidinkite šviesos diodų ryškumą (int dutyCycle = 0; dutyCycle <= 255; dutyCycle ++) {// keičiant šviesos diodą ryškumas naudojant PWM ledcWrite (ledChannel, dutyCycle); vėlavimas (15); } // sumažinkite šviesos diodų ryškumą (int dutyCycle = 255; dutyCycle> = 0; dutyCycle-) {// LED šviesumo keitimas naudojant PWM ledcWrite (ledChannel, dutyCycle); vėlavimas (15); }}

6 veiksmas: PWM funkcionalumo patikrinimas

PWM funkcionalumo tikrinimas
PWM funkcionalumo tikrinimas

Įkėlę kodą pamatysite, kaip keičiasi jūsų šviesos diodų intensyvumas, todėl mes baigiame šią instrukciją. Smagiai naudokite PWM su ESP32 savo projektuose.

Rekomenduojamas: