Mündəricat:

ESP32 ilə PWM - Arduino IDE ilə ESP 32 -də PWM ilə LED Karartma: 6 addım
ESP32 ilə PWM - Arduino IDE ilə ESP 32 -də PWM ilə LED Karartma: 6 addım

Video: ESP32 ilə PWM - Arduino IDE ilə ESP 32 -də PWM ilə LED Karartma: 6 addım

Video: ESP32 ilə PWM - Arduino IDE ilə ESP 32 -də PWM ilə LED Karartma: 6 addım
Video: Управление 32 серводвигателями с PCA9685 и ESP32 - V4 2024, Iyul
Anonim
ESP32 ilə PWM | Arduino IDE ilə ESP 32 -də PWM ilə LED qaralma
ESP32 ilə PWM | Arduino IDE ilə ESP 32 -də PWM ilə LED qaralma

Bu təlimatlarda Arduino IDE və PWM istifadə edərək ESP32 ilə PWM siqnallarının necə yaradılacağını əsasən hər hansı bir MCU -dan analoq çıxışı yaratmaq üçün istifadə edildiyini və analoq çıxışın 0V ilə 3.3V (esp32 vəziyyətində) və 0V -dan 5V (arduino uno vəziyyətində) və bu PWM siqnalları (analog çıxış) LED -i söndürmək (dəyişən çıxış, LED -i fərqli parlaqlıqda işıqlandırmaq) üçün istifadə olunur.

Addım 1: Lazım olan şeylər

Ehtiyacınız olan şeylər
Ehtiyacınız olan şeylər
Ehtiyacınız olan şeylər
Ehtiyacınız olan şeylər
Ehtiyacınız olan şeylər
Ehtiyacınız olan şeylər

Bu təlimat üçün aşağıdakılara ehtiyacınız olacaq: ESP32

220 ohm rezistorlar

Rəng led

çörək taxtası

Az tullananlar

Addım 2: ESP32 -də PWM -i anlayın

ESP32 -də PWM -ni anlamaq
ESP32 -də PWM -ni anlamaq

ESP32 -nin 16 Kanallı PWM nəzarətçisi var və bu 16 Kanallar müstəqildir və fərqli tələblər üçün fərqli xüsusiyyətlərə malik PWM siqnallarını almaq üçün müstəqil olaraq konfiqurasiya edilə bilər. Kod və bütün prosesi keçməzdən əvvəl aşağıdakıları bilmək lazımdır: >> 16 (0 ilə 15) pwm ESP32 kanalları. PWM kanalınızı seçməlisiniz. >> Bundan sonra PWM üçün tezliyi seçməliyik, 5000Hz -ə qədər gedə bilərik. >> Burada ESP32 -də 1 ilə 16 bit arasında bir qətnamə var, ancaq bu dərs üçün yalnız 8 bit üçün gedəcəyik. parlaqlıq 0 -dan 255 -ə qədər dəyərlərlə idarə oluna bilər. >> Aşağıdakı kod sətrini istifadə etməyiniz üçün PWM üçün LED qurmalısınız və bunun üçün led kanal haqqında qeyd etməlisiniz (biz 0 kanalını istifadə edirik. ESP32) PWM və freq üçün istifadə etdiyiniz PWM və qətnamənin (8 bitlik qətnamədən istifadə edirik) tezliyidir (5000hz istifadə edirik).ledcSetup (ledChannel, freq, qətnamə); Bizim vəziyyətimizdəki dəyərlər: const int freq = 5000; const int ledChannel = 0; const int resolution = 8; >> sonra aşağıdakı əmri istifadə edərək hansı LED pininə ehtiyacınız olduğunu qeyd edin: ledcAttachPin (ledPin, ledChannel);- burada ledPin pin nömrəsidir. İstifadə edəcəyimiz & ledChannel, PWM.5 üçün seçməli olduğumuz kanaldır. Nəhayət, PWM istifadə edərək LED parlaqlığını idarə etmək üçün aşağıdakı funksiyanı istifadə edirsiniz: >> kodun əsas vacib hissəsi, analoq çıxışı LED pininə yazacaq aşağıdakı əmr olacaq: ledcWrite (ledChannel, dutycycle); bu yuxarıdakı əmr kanalın istifadə edəcəyimiz kanal nömrəsi olduğu və LED döngüsünə çıxış olaraq yazdığımız dəyərin olduğu 'ledChannel' və 'dutyCycle' ehtiyacları var.

Addım 3: Bağlantılar

Əlaqələr
Əlaqələr

Bağlantı hissəsi çox asandır. Şematiklərdə göstərildiyi kimi Rezistorlu bir LED -i GPIO16 -ya bağlamalısınız.

Addım 4: Arduino IDE -də ESP32 BOARDS quraşdırın

Arduino IDE -də ESP32 BOARDS quraşdırın
Arduino IDE -də ESP32 BOARDS quraşdırın

Kompüterinizdə Arduino IDE -nin olduğundan və Arduino IDE -də ESP32 lövhələrini quraşdırdığınızdan əmin olun və əgər belə deyilsə, onu quraşdırmaq üçün aşağıdakı təlimatları izləyin.:

Addım 5: Kod

Kod
Kod

Zəhmət olmasa aşağıdakı kodu kopyalayın və ESP32 -ə yükləyin: // LED pinconst int ledPin = 16 sayı; // 16 GPIO16 -ya uyğundur // PWM xassələrini təyin etmək int freq = 5000; const int ledChannel = 0; const int qətnamə = 8; void setup () {// LED PWM funksiyalarını konfiqurasiya etmək ledcSetup (ledChannel, freq, qətnamə); // nəzarət etmək üçün kanalı GPIO -ya bağlayın ledcAttachPin (ledPin, ledChannel);} void loop () {// üçün LED parlaqlığını artırın (int dutyCycle = 0; dutyCycle <= 255; dutyCycle ++) {// LED -in dəyişdirilməsi PWM ledcWrite ilə parlaqlıq (ledChannel, dutyCycle); gecikmə (15); } // üçün LED parlaqlığını azaldır (int dutyCycle = 255; dutyCycle> = 0; dutyCycle-) {// LED parlaqlığını PWM ledcWrite (ledChannel, dutyCycle) ilə dəyişdirmək; gecikmə (15); }}

Addım 6: PWM funksionallığının sınanması

PWM funksionallığının sınanması
PWM funksionallığının sınanması

Kodu yüklədikdən sonra LED -lərinizin intensivliyinin dəyişdiyini görəcəksiniz ki, bizi bu təlimatların sonuna çatdırsın. Layihələrinizdə ESP32 ilə PWM istifadə edərək əylənin.

Tövsiyə: