این آموزش نشان میدهد که چگونه میتوان روشنایی یک LED را با استفاده از یک میکروکنترلر ESP32، بهطور خاص کیت آموزشی اینترنت اشیاء SunFounder ESP32 (در ویدیو در ۰۰:۰۴) کنترل کرد. این پروژه برای مبتدیان که درباره مدولاسیون عرض پالس (PWM) و کاربردهای آن در کنترل شدت منابع نوری میآموزند، ایدهآل است. قابلیتهای PWM داخلی ESP32 امکان کنترل دقیق و روان را فراهم میآورد که دنیایی از امکانات را برای پروژههای خلاقانه باز میکند.
کاربردهای عملی:
ایجاد سیستمهای نورپردازی محیطی با روشنایی قابل تنظیم.
ساخت یک چراغ خواب ساده با کمرنگ شدن تدریجی.
توسعه یک چراغ نشانگر دینامیک برای وضعیتهای مختلف (به عنوان مثال، باتری کم، اتصال شبکه).
ادغام با حسگرها و عملگرهای دیگر برای ایجاد نصبهای تعاملی پیچیده.
سختافزار/قطعات
این پروژه از کیت استارتر SunFounder ESP32 استفاده میکند (در ویدیو در ۰۰:۱۲) که شامل یک میکروکنترلر ESP32، یک برد گسترش، اجزای مختلف و یک باتری لیتیوم ۱۸۶۵۰ است. شما همچنین به یک LED و یک مقاومت ۲۲۰ اهمی نیاز خواهید داشت (در ویدیو در ۰۴:۳۲).
راهنمای سیمکشی
به نمودار سیمکشی در ویدیو مراجعه کنید (در ویدیو در :46 و :18) و توضیحات دقیق در زمان :40. سیمکشی شامل اتصال آند LED به مقاومت، مقاومت به پایه 26 GPIO ESP32 و کاتد LED به زمین است.
LED_با_مقاومت
LED در سری با یک مقاومت 220 اهم. در زیر، سیمکشی روی برد مدار چاپی نشان داده شده است.
LED_fade_ESP32
توضیح شِفر (کود)
شِفر (کود) آردوینو از مدولاسیون عرض پالس (PWM) برای کنترل روشنایی LED استفاده میکند. اجزای کلیدی قابل تنظیم عبارتند از:
ledPinپایه GPIO متصل به LED را تعریف میکند (در ویدیو در ساعت 09:41، تنظیم شده به 26). اگر از پایه متفاوتی استفاده میکنید، آن را تغییر دهید.
fadeAmountنرخ تغییر روشنایی LED را کنترل میکند (در ویدئو در ۱۰:۰۶). مقدار بالاتر به محو شدن سریعتر منجر میشود. شِفر (کود) بهطور خودکار جهت را زمانی که روشنایی به حداقل (۰) یا حداکثر (۲۵۵) میرسد معکوس میکند (در ویدئو در ۱۱:۴۴).
const int ledPin = 26; // The GPIO pin for the LED
int brightness = 0;
int fadeAmount = 5;
void setup() {
ledcAttachPin(ledPin, 0); // Attach pin to PWM channel
}
void loop() {
ledcWrite(ledPin, brightness);
brightness = brightness + fadeAmount;
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
delay(50);
}
پروژه زنده/نمایشگاه
این ویدیو عملکرد LED کمرنگ شونده را نشان میدهد (در ویدیو در ساعت ۱۴:۵۱). مربی نشان میدهد که چگونه تنظیمات را انجام دهید.fadeAmountمتغیر برای کنترل سرعت محو شدن (در ویدیو در ۱۵:۱۶ و ۱۵:۵۱). فرایند بارگذاری شِفر (کود) بر روی ESP32 نیز نشان داده شده است (در ویدیو در ۱۴:۲۰).