Mundarija:

ESP32 bilan PWM - Arduino IDE bilan ESP 32 -dagi PWM bilan LEDni xira qilish: 6 qadam
ESP32 bilan PWM - Arduino IDE bilan ESP 32 -dagi PWM bilan LEDni xira qilish: 6 qadam

Video: ESP32 bilan PWM - Arduino IDE bilan ESP 32 -dagi PWM bilan LEDni xira qilish: 6 qadam

Video: ESP32 bilan PWM - Arduino IDE bilan ESP 32 -dagi PWM bilan LEDni xira qilish: 6 qadam
Video: Управление 32 серводвигателями с PCA9685 и ESP32 - V4 2024, Iyul
Anonim
ESP32 bilan PWM | Arduino IDE bilan ESP 32 -da PWM bilan LEDni karartma
ESP32 bilan PWM | Arduino IDE bilan ESP 32 -da PWM bilan LEDni karartma

Ushbu ko'rsatmalarda biz Arduino IDE va PWM yordamida ESP32 yordamida PWM signallarini qanday yaratishni ko'rib chiqamiz, asosan har qanday MCUdan analog chiqishni ishlab chiqarish uchun ishlatiladi va analog chiqish 0V dan 3.3V gacha (esp32 bo'lsa) va 0V dan 5V (arduino uno holatida) va bu PWM signallari (analog chiqish) LEDni o'zgartirish uchun ishlatiladi (o'zgaruvchan chiqish, LEDni har xil yorqinlikda yoqish).

1 -qadam: Sizga kerak bo'lgan narsalar

Sizga kerak bo'lgan narsalar
Sizga kerak bo'lgan narsalar
Sizga kerak bo'lgan narsalar
Sizga kerak bo'lgan narsalar
Sizga kerak bo'lgan narsalar
Sizga kerak bo'lgan narsalar

Ushbu qo'llanma uchun sizga quyidagilar kerak bo'ladi: ESP32

220 ohmli rezistorlar

Rangli LED

non taxtasi

Bir nechta sakrash

2 -qadam: ESP32 -da PWMni tushunish

ESP32 bo'yicha PWMni tushunish
ESP32 bo'yicha PWMni tushunish

ESP32 16 kanalli PWM boshqaruvchisiga ega va bu 16 ta kanallar mustaqil bo'lib, har xil talablar uchun har xil xususiyatlarga ega PWM signallarini olish uchun mustaqil ravishda sozlanishi mumkin. Kodni va barcha jarayonni o'tishdan oldin siz quyidagilarni bilishingiz kerak: >> bor 16 (0 dan 15 gacha) pwm ESP32 kanallari. Siz PWM kanalini tanlashingiz kerak. >> Shundan so'ng biz PWM uchun chastotani tanlashimiz kerak, biz 5000 gigagertsli tezlikda ishlashimiz mumkin. Yorqinlik 0 dan 255 gacha bo'lgan qiymatlar bilan boshqariladi degan ma'noni anglatadi. >> Siz PWM uchun LEDni o'rnatishingiz kerak, buning uchun siz quyidagi kod satrini ishlatishingiz kerak va siz LED kanal haqida gapirishingiz kerak. ESP32) siz PWM va freq uchun ishlatasiz - siz ishlatayotgan PWM va piksellar sonining chastotasi (biz 5000 gigagertsdan foydalanmoqdamiz) (biz 8 bitli piksellar sonidan foydalanmoqdamiz). = 5000; const int ledChannel = 0; const int resolution = 8; >> keyin quyidagi buyruq yordamida qaysi LED piniga ehtiyoj borligini aytib bering: ledcAttachPin (ledPin, ledChannel);- bu erda ledPin- bu pin raqami. Biz foydalanadigan & ledChannel - bu PWM.5 uchun kanalni tanlashimiz kerak. Nihoyat, LED yorqinligini PWM yordamida boshqarish uchun siz quyidagi funktsiyadan foydalanasiz: >> kodning asosiy muhim qismi analog chiqishni LED piniga yozadigan quyidagi buyruq bo'ladi: ledcWrite (ledChannel, dutycycle); bu yuqoridagi buyruq "ledChannel" va "dutyCycle" kerak, bu erda kanal - biz foydalanadigan kanal raqami va ish aylanishi - biz LED piniga chiqish sifatida yozadigan qiymat.

3 -qadam: ulanishlar

Ulanishlar
Ulanishlar

Ulanish qismi juda oson, siz rezistorli LEDni sxematik tarzda ko'rsatilgandek GPIO16 ga ulashingiz kerak.

4 -qadam: ESP32 BOARDS -ni Arduino IDE -ga o'rnating

Arduino IDE -ga ESP32 BOARDS -ni o'rnating
Arduino IDE -ga ESP32 BOARDS -ni o'rnating

Shaxsiy kompyuteringizda Arduino IDE borligiga va Arduino IDE -ga ESP32 platalarini o'rnatganingizga ishonch hosil qiling, agar bunday bo'lmasa, uni o'rnatish uchun quyidagi ko'rsatmalarga amal qiling.:

5 -qadam: kod

Kod
Kod

Iltimos, quyidagi kodni nusxa ko'chiring va uni ESP32 -ga yuklang: // LED pinconst int ledPin = 16 raqami; // 16 GPIO16 ga mos keladi // PWM xususiyatlarini sozlash int freq = 5000; const int ledChannel = 0; const int qarori = 8; void setup () {// LED PWM funktsional imkoniyatlarini sozlash ledcSetup (ledChannel, chastota, piksellar sonini); // nazorat qilinadigan kanalni GPIO -ga ulang ledcAttachPin (ledPin, ledChannel);} void loop () {// uchun LED yorqinligini oshirish (int dutyCycle = 0; dutyCycle <= 255; dutyCycle ++) {// LEDni o'zgartirish PWM ledcWrite bilan yorqinlik (ledChannel, dutyCycle); kechikish (15); } // LED yorqinligini kamaytirish (int dutyCycle = 255; dutyCycle> = 0; dutyCycle-) {// LED yorqinligini PWM ledcWrite (ledChannel, dutyCycle) yordamida o'zgartirish; kechikish (15); }}

6 -qadam: PWM funktsiyasini tekshirish

PWM funktsiyasini sinab ko'rish
PWM funktsiyasini sinab ko'rish

Kodni yuklaganingizdan so'ng, siz LEDlarning intensivligi o'zgarishini ko'rasiz, bu bizni ko'rsatmalarni oxirigacha olib boradi. Loyihalaringizda ESP32 bilan PWM -ni ishlating.

Tavsiya: