Мазмуну:

PWM ESP32 менен - Жарыктандыруучу LED EWP 32де PWM менен Arduino IDE менен: 6 кадам
PWM ESP32 менен - Жарыктандыруучу LED EWP 32де PWM менен Arduino IDE менен: 6 кадам

Video: PWM ESP32 менен - Жарыктандыруучу LED EWP 32де PWM менен Arduino IDE менен: 6 кадам

Video: PWM ESP32 менен - Жарыктандыруучу LED EWP 32де PWM менен Arduino IDE менен: 6 кадам
Video: Controlling 2 DC Motors using ESP32 and L298N Motor driver 2024, Ноябрь
Anonim
PWM ESP32 менен | Жарыктандыруучу LED Arduino IDE менен ESP 32деги PWM менен
PWM ESP32 менен | Жарыктандыруучу LED Arduino IDE менен ESP 32деги PWM менен

Бул көрсөтмөлөрдө биз ESP32 менен PWM сигналдарын кантип генерациялоону көрөбүз, Arduino IDE & PWM негизинен ар кандай MCUдан аналогдук өндүрүштү жасоо үчүн колдонулат жана аналогдук чыгаруу 0Vдан 3.3Vга чейин болушу мүмкүн (esp32 болгон учурда) & 0Vден 5V (arduino uno болгон учурда) жана бул PWM сигналдары (аналогдук чыгаруу) светодиодду өчүрүү үчүн колдонулат (өзгөрмөлүү чыгаруу, LEDди ар кандай жарыктыкта жарык кылуу).

1 -кадам: Сизге керектүү нерселер

Сиз керек
Сиз керек
Сиз керек
Сиз керек
Сиз керек
Сиз керек

Бул окуу куралы үчүн сизге төмөнкү нерселер керек болот: ESP32

220 Ом резисторлор

Түс жетелейт

нан

Аз секиргендер

2 -кадам: ESP32 боюнча PWMди түшүнүү

ESP32 боюнча PWMди түшүнүү
ESP32 боюнча PWMди түшүнүү

ESP32де 16 Channel PWM контроллери бар жана бул 16 Каналдар көз карандысыз жана ар кандай талаптар үчүн PWM сигналдарын алуу үчүн өз алдынча конфигурацияланышы мүмкүн. Коддон өтүүдөн мурун жана төмөндөгү нерселерди билишиңиз керек: >> бар 16 (0дон 15ке чейин) pwm ESP32 каналдары. Сиз өзүңүздүн PWM каналыңызды тандашыңыз керек. >> Ушундан кийин биз PWM үчүн жыштыкты тандашыбыз керек, биз 5000 Гцке чыга алабыз. Бул жарыктык 0ден 255ке чейин баалана тургандыгын билдирет. ESP32) сиз PWM & freq үчүн колдонуп жаткан PWM & токтомунун жыштыгы (биз 5000hz колдонуп жатабыз). = 5000; const int ledChannel = 0; const int токтому = 8; >> анда төмөнкү буйрукту колдонуу менен кайсы LED пинге муктаж экениңизди көрсөтүңүз: ledcAttachPin (ledPin, ledChannel); Биз колдонгон & ledChannel - бул PWM.5 үчүн тандоо керек болгон канал. Акырында, PWMди колдонуп, LED жарыктыгын көзөмөлдөө үчүн сиз төмөнкү функцияны колдоносуз: >> коддун негизги маанилүү бөлүгү аналогдук чыгууну LED пинге жазуучу төмөнкү буйрук болот: ledcWrite (ledChannel, dutycycle); бул жогорудагы буйрук 'ledChannel' & 'dutyCycle' керек, мында канал - бул биз колдоно турган каналдын номери, ал эми милдет цикли - бул LED пинге чыгаруу катары жазып жаткан маанибиз.

3 -кадам: Байланыштар

Байланыштар
Байланыштар

Байланыш бөлүгү өтө оңой. Сизматикада көрсөтүлгөндөй GPO16га резистор менен LED туташтырууңуз керек.

4 -кадам: Arduino IDEге ESP32 BOARDS орнотуңуз

Arduino IDEге ESP32 BOARDS орнотуңуз
Arduino IDEге ESP32 BOARDS орнотуңуз

Компьютериңизде Arduino IDE бар экенине жана Arduino IDEге ESP32 такталарын орнотконуңузга ишениңиз, эгер андай эмес болсо, анда аны орнотуу үчүн менин төмөнкү көрсөтмөлөрүмдү аткарыңыз.:

5 -кадам: Код

Code
Code

Сураныч, төмөнкү кодду көчүрүп, аны ESP32ге жүктөңүз: // LED pinconst int ledPin = 16 саны; // 16 GPIO16га туура келет // PWM касиеттерин орнотуу int freq = 5000; const int ledChannel = 0; const int токтому = 8; void setup () {// конфигурациялоо LED PWM функционалдык функциялары ledcSetup (ledChannel, freq, токтом); // каналды GPIOго тиркөө ledcAttachPin (ledPin, ledChannel);} void loop () {// LED жарыгын жогорулатуу (int dutyCycle = 0; dutyCycle <= 255; dutyCycle ++) {// LEDди өзгөртүү PWM ledcWrite менен жарыктык (ledChannel, dutyCycle); кечиктирүү (15); } // үчүн LED жарыктыгын азайтуу (int dutyCycle = 255; dutyCycle> = 0; dutyCycle-) {// LED жарыктыгын PWM ledcWrite (ledChannel, dutyCycle) менен өзгөртүү; кечиктирүү (15); }}

6 -кадам: PWM функционалдуулугун текшерүү

PWM функционалдуулугун текшерүү
PWM функционалдуулугун текшерүү

Кодду жүктөп бергенден кийин, сиз өзүңүздүн диоддоруңуздун интенсивдүүлүгүн өзгөртө турганыңызды көрөсүз, бул бизди ушул көрсөтмөлөрдүн аягына чейин жеткирет.

Сунушталууда: