Съдържание:
- Стъпка 1: Неща, от които се нуждаете
- Стъпка 2: Разбиране на ШИМ на ESP32
- Стъпка 3: Връзки
- Стъпка 4: Инсталирайте ESP32 BOARDS в Arduino IDE
- Стъпка 5: Код
- Стъпка 6: Тестване на PWM функционалността
Видео: ШИМ с ESP32 - Затъмняващ светодиод с PWM на ESP 32 с Arduino IDE: 6 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
В тази инструкция ще видим как да генерираме PWM сигнали с ESP32 с помощта на Arduino IDE и PWM се използва основно за генериране на аналогов изход от всеки MCU и че аналоговият изход може да бъде всичко между 0V до 3.3V (в случай на esp32) и от 0V до 5V (в случай на arduino uno) и тези ШИМ сигнали (аналогов изход) се използват за затъмняване (променлив изход, осветяване на светодиода с различна яркост) на светодиода.
Стъпка 1: Неща, от които се нуждаете
За този урок ще ви трябват следните неща: ESP32
Резистори 220 ома
Цвят LED
макет
Малко джъмпери
Стъпка 2: Разбиране на ШИМ на 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
Уверете се, че имате 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 с ESP32 във вашите проекти.
Препоръчано:
Експерименти със случайни ШИМ двигатели с постоянен ток + Енкодер Отстраняване на неизправности: 4 стъпки
Експерименти с произволен DC двигател с ШИМ + енкодер Отстраняване на неизправности: Често има моменти, когато боклукът на някого е съкровище на друг и това беше един от тези моменти за мен. Ако сте ме следвали, вероятно знаете, че се заех с огромен проект, за да създам свой собствен 3D принтер с ЦПУ от скрап. Тези парчета бяха
Интернет контролиран светодиод, използващ уеб сървър, базиран на ESP32: 10 стъпки
Интернет контролиран светодиод, използващ уеб сървър, базиран на ESP32: Преглед на проекта В този пример ще разберем как да направим базиран на ESP32 уеб сървър за управление на състоянието на светодиодите, което е достъпно от всяка точка на света. За този проект ще ви е необходим компютър с Mac, но можете да стартирате този софтуер дори на i
Първи стъпки с ESP32 - Инсталиране на платки ESP32 в Arduino IDE - ESP32 Blink Code: 3 стъпки
Първи стъпки с ESP32 | Инсталиране на платки ESP32 в Arduino IDE | ESP32 Blink Code: В тази инструкция ще видим как да започнем работа с esp32 и как да инсталираме esp32 дъски в Arduino IDE и ще програмираме esp 32 да изпълнява мигащ код, използвайки arduino ide
Първи стъпки с Esp 8266 Esp-01 с Arduino IDE - Инсталиране на платки Esp в Arduino Ide и програмиране на Esp: 4 стъпки
Първи стъпки с Esp 8266 Esp-01 с Arduino IDE | Инсталиране на Esp платки в Arduino Ide и програмиране на Esp: В тази инструкция ще научим как да инсталираме esp8266 дъски в Arduino IDE и как да програмираме esp-01 и да качваме код в нея. Тъй като esp дъските са толкова популярни, затова се замислих да поправя инструкции за това и повечето хора се сблъскват с проблем
Мигащ светодиод чрез използване на ESP32 NodeMCU модул за WiFi и Bluetooth модул Урок: 5 стъпки
Мигащ светодиод чрез използване на ESP32 NodeMCU модул за WiFi и Bluetooth модул Урок: Описание NodeMCU е IoT платформа с отворен код. Програмира се с помощта на скриптовия език Lua. Платформата се основава на проекти с отворен код на eLua. Платформата използва много проекти с отворен код, като lua-cjson, spiffs. Този ESP32 NodeMc