Съдържание:

ШИМ с ESP32 - Затъмняващ светодиод с PWM на ESP 32 с Arduino IDE: 6 стъпки
ШИМ с ESP32 - Затъмняващ светодиод с PWM на ESP 32 с Arduino IDE: 6 стъпки

Видео: ШИМ с ESP32 - Затъмняващ светодиод с PWM на ESP 32 с Arduino IDE: 6 стъпки

Видео: ШИМ с ESP32 - Затъмняващ светодиод с PWM на ESP 32 с Arduino IDE: 6 стъпки
Видео: ESP32 PWM signal with Arduino IDE #esp32 #technology #electronic #arduino 2024, Ноември
Anonim
ШИМ с ESP32 | Затъмняващ светодиод с PWM на ESP 32 с Arduino IDE
ШИМ с ESP32 | Затъмняващ светодиод с PWM на ESP 32 с Arduino IDE

В тази инструкция ще видим как да генерираме PWM сигнали с ESP32 с помощта на Arduino IDE и PWM се използва основно за генериране на аналогов изход от всеки MCU и че аналоговият изход може да бъде всичко между 0V до 3.3V (в случай на esp32) и от 0V до 5V (в случай на arduino uno) и тези ШИМ сигнали (аналогов изход) се използват за затъмняване (променлив изход, осветяване на светодиода с различна яркост) на светодиода.

Стъпка 1: Неща, от които се нуждаете

Нещата, от които се нуждаете
Нещата, от които се нуждаете
Нещата, от които се нуждаете
Нещата, от които се нуждаете
Нещата, от които се нуждаете
Нещата, от които се нуждаете

За този урок ще ви трябват следните неща: ESP32

Резистори 220 ома

Цвят LED

макет

Малко джъмпери

Стъпка 2: Разбиране на ШИМ на ESP32

Разбиране на ШИМ на ESP32
Разбиране на ШИМ на ESP32

ESP32 има 16 -канален ШИМ контролер и тези 16 канала са независими и могат да бъдат конфигурирани независимо, за да получат ШИМ сигнали с различни свойства за различни изисквания. Преди да преминете през кода и целия процес, трябва да знаете следните неща: >> има 16 (0 до 15) pwm канали в ESP32. Трябва да изберете вашия PWM канал. >> След това трябва да изберем честотата за PWM, можем да отидем за 5000hz. >> Тук имаме резолюция от 1 до 16 бита в ESP32, но за този урок ще отидем само за 8 бита което означава, че яркостта ще се контролира от стойности от 0 до 255. >> Трябва да настроите светодиода за ШИМ, за да направите това, трябва да използвате следния ред код и в това трябва да споменете за ledchannel (ние използваме канал 0 на ESP32), който използвате за PWM & freq е честотата (използваме 5000hz) на PWM и разделителната способност, която използвате (използваме 8 -битова резолюция).ledcSetup (ledChannel, freq, резолюция); Стойности в нашия случай: const int freq = 5000; const int ledChannel = 0; const int резолюция = 8; >> след това споменете кой LED пин трябва да използвате, като използвате следната команда: ledcAttachPin (ledPin, ledChannel);- тук ledPin е пинът не. Който ще използваме & ledChannel е каналът, който трябва да изберем за PWM.5. И накрая, за да контролирате яркостта на светодиода с помощта на PWM, използвате следната функция: >> основната важна част от кода ще бъде следната команда, която ще запише аналоговия изход към LED извода: ledcWrite (ledChannel, dutycycle); тази команда по -горе се нуждае от 'ledChannel' & 'dutyCycle', където каналът е номерът на канала, който ще използваме, а работният цикъл е стойността, която записваме като изход към LED щифт.

Стъпка 3: Връзки

Връзки
Връзки

Частта за свързване е много лесна. Трябва да свържете светодиод с резистор към GPIO16, както е показано на схемата.

Стъпка 4: Инсталирайте ESP32 BOARDS в Arduino IDE

Инсталирайте ESP32 BOARDS в Arduino IDE
Инсталирайте ESP32 BOARDS в Arduino IDE

Уверете се, че имате Arduino IDE на вашия компютър и сте инсталирали ESP32 платки във вашата Arduino IDE, и ако това не е така, моля, следвайте следните мои инструкции, за да го инсталирате.:

Стъпка 5: Код

Код
Код

Моля, копирайте следния код и го качете на вашия ESP32: // номерът на LED pinconst int ledPin = 16; // 16 съответства на GPIO16 // настройка на PWM propertiesconst int freq = 5000; const int ledChannel = 0; const int резолюция = 8; void setup () {// конфигуриране на LED PWM функционалности ledcSetup (ledChannel, freq, резолюция); // прикрепяме канала към GPIO за управление яркост с PWM ledcWrite (ledChannel, dutyCycle); забавяне (15); } // намаляване на яркостта на светодиода за (int dutyCycle = 255; dutyCycle> = 0; dutyCycle-) {// промяна на яркостта на LED с PWM ledcWrite (ledChannel, dutyCycle); забавяне (15); }}

Стъпка 6: Тестване на PWM функционалността

Тестване на PWM функционалността
Тестване на PWM функционалността

След като качите кода, ще видите, че интензитетът на вашите светодиоди се променя, така че да ни отведе до края на тези инструкции. Забавлявайте се, като използвате PWM с ESP32 във вашите проекти.

Препоръчано: