در این آموزش، ما یاد خواهیم گرفت که چگونه رنگ نوار LED RGB WS2812 را با استفاده از میکروکنترلر ESP32 از طریق Wi-Fi کنترل کنیم. با استفاده از یک انتخابگر رنگ، میتوانید رنگهای مختلف را از دستگاه موبایل یا دسکتاپ خود انتخاب کرده و آن اطلاعات را به نوار LED ارسال کنید. این پروژه قابلیتهای ESP32 را به نمایش میگذارد و اجازه میدهد که ارتباط بدون درز با نورپردازی LED از طریق یک رابط وب برقرار شود.
ESP32-54-صفحه-نمایش-متحرک-اصلی
میکروکنترلر ESP32 با هر دو Wi-Fi و بلوتوث مجهز است، که آن را به گزینهای چندکاره برای برنامههای IoT تبدیل میکند. در این پروژه، تمرکز ما بر روی قابلیت Wi-Fi برای کنترل نوار LED خواهد بود. کاربران قادر خواهند بود رنگها را به صورت پویا انتخاب کنند و تجربهای بصری جذاب ایجاد کنند. برای وضوح بیشتر در مورد این پروژه، حتماً ویدیو در (در ویدیو در 00:00) را مشاهده کنید.
توضیحاتی درباره سختافزار
مؤلفههای اصلی این پروژه شامل میکروکنترلر ESP32 و نوار LED WS2812 است. ESP32 یک میکروکنترلر قوی با قابلیتهای Wi-Fi داخلی است که ارتباط و کنترل بیسیم را امکانپذیر میکند.
نواری LED WS2812 شامل LED های RGB قابل آدرسدهی بهصورت جداگانه است که به شما این امکان را میدهد که رنگ هر LED را بهطور مستقل تنظیم کنید. هر LED شامل یک مدار کنترل و یک LED RGB در یک بسته واحد است که سیمکشی و کنترل چندین LED را ساده میکند.
جزئیات برگه اطلاعات
تولیدکننده
ورلدسمی
شماره قطعه
WS2812B
ولتاژ منطقی/ورودی و خروجی
۳.۵-۵.۳ ولت
ولتاژ تامین
۵ ولت
خروجی جریان (به ازای هر کانال)
۲۰ میلی آمپر
جریان اوج (به ازای هر کانال)
60 میلیآمپر
راهنمایی فرکانس PWM
۴۰۰ هرتز
آستانههای منطقی ورودی
۰.۳ × VDD (پایین)، ۰.۷ × VDD (بالا)
افت ولتاژ / RDS(روشن)/ اشباع
0.5 ولت
محدودیتهای حرارتی
-40 تا +80 درجه سلسیوس
بسته
5050 اس ام دی
یادداشتها / انواع
در اندازهها و پیکربندیهای مختلف در دسترس است.
تأمین منبع تغذیه مناسب تا از آسیب به LED ها جلوگیری گردد.
از یک پایه مشترک بین ESP32 و نوار LED استفاده کنید.
خطوط داده را کوتاه نگه دارید تا از کاهش کیفیت سیگنال جلوگیری شود.
اضافه کردن یک خازن (1000 میکروفاراد) به موازات منبع تغذیه برای پایداری را در نظر بگیرید.
از یک مقاومت (۴۷۰ اهم) در خط داده برای یکپارچگی سیگنال استفاده کنید.
دستورات سیمکشی
ESP32-12-WS2812-wiring
برای اتصال ESP32 به نوار LED WS2812، اجزاء را به شرح زیر وصل کنید: ابتدا، پایه ۵ ولت نوار LED را به خروجی ۵ ولت ESP32 متصل کنید. سپس، پایه زمین (GND) نوار LED را به یک پایه GND روی ESP32 متصل کنید. در نهایت، پایه داده نوار LED (که معمولاً با DI یا Data In علامتگذاری شده) را به پایه GPIO ۱۳ روی ESP32 متصل کنید. مطمئن شوید که تمام اتصالات محکم هستند تا کارکرد صحیح تضمین شود.
در ویدیو، روشهای سیمکشی جایگزین بهطور مختصر ذکر شده است، اما تنظیماتی که در اینجا توصیف شده است، پیکربندی توصیهشده برای عملکرد بهینه است (در ویدیو در :00).
نمونههای شِفر (کود) و راهنما
شِفر (کود) با اضافه کردن کتابخانههای لازم برای کنترل نوار LED WS2812 و راهاندازی سرور وب آغاز میشود. پایه LED بهعنوانLED_PINو تعداد LED ها در نوار با تنظیم میشودNUM_LEDS.
#define LED_PIN 13 // NeoPixel LED strip
#define NUM_LEDS 8 // Number of LEDs
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);
این قطعه شِفر (کود) کتابخانه NeoPixel را راهاندازی کرده و نوار LED را روی پایه مشخص شده تنظیم میکند.Adafruit_NeoPixelشیء،stripاین چیزی است که شما برای کنترل رنگهای LED استفاده خواهید کرد.
در مرحله بعد، شِفر (کود) Wi-Fi را راهاندازی میکند و یک سرور وب برای رسیدگی به درخواستهای ورودی تنظیم میکند. SSID و رمز عبور برای شبکه تعریف شدهاند تا ESP32 بتواند به Wi-Fi متصل شود.
در این بخش، جایگزین کنیدyour_SSIDوyour_PASSWORDبا اطلاعات کاربری واقعی Wi-Fi شما. این اتصال به ESP32 امکان میدهد تا با دستگاههای موجود در همان شبکه ارتباط برقرار کند و کنترل از راه دور نوار LED را ممکن میسازد.
عملکرد اصلی برای تغییر رنگ LED این استsetColor()که از هر LED عبور میکند و رنگ آن را بر اساس مقادیر RGB انتخاب شده تنظیم میکند.
void setColor() {
for (int i = 0; i < NUM_LEDS; i++) {
strip.setPixelColor(i, valueR, valueG, valueB); // Set the color of the i-th LED
strip.show(); // Update the LED strip with the new colors
delay(10); // Wait for 10 milliseconds
}
}
این تابع تضمین میکند که هر LED در نوار با رنگ انتخاب شده بهروزرسانی شود. تأخیر باعث میشود که LEDها بهصورت نرم تغییر رنگ دهند. در حین تعامل با رابط وب، این تابع برای بازتاب انتخابهای رنگی شما فراخوانی خواهد شد.
نمایش / چه انتظاری باید داشت
ESP32-54-صفحه-متحرک-1ESP32-54-صفحه-متحرک-ت-2
هنگامی که راه اندازی کامل شد، شما باید بتوانید از طریق آدرس IP ESP32 به رابط وب دسترسی پیدا کنید. شما یک انتخابگر رنگ خواهید دید که به شما امکان میدهد هر رنگی را انتخاب کنید، که سپس به نوار LED ارسال خواهد شد. اگر ESP32 ارتباط Wi-Fi را از دست بدهد، نوار یک رنگ هشدار را چشمک خواهد زد که مشکل را نشان میدهد (در ویدیو در ساعت 14:30).
اشتباهات رایج شامل سیمکشی نادرست است که میتواند باعث شود لامپهای LED روشن نشوند، یا استفاده از ترکیبهای نادرست SSID/رمز عبور که مانع اتصال ESP32 به شبکه میشود. همیشه اتصالات و مدارک خود را دوباره بررسی کنید.
زمانبندی ویدیوها
۰۰:۰۰ شروع
مقدمه به پروژه ٢:٠١
۳:۰۹ اسناد
توضیح رنگ RGB ۳:۴۷
۷:۴۷ سیم کشی
شِفر (کود) آردوینو برای WS2812 با WIFI توضیح داده شده در ساعت ۸:۴۰
انتخاب برد ESP32 و پورت COM در IDE آردوینو 19:35
کنترل نوار LED از طریق وایفای دمو
تصاویر
ESP32-12-WS2812-wiring
ESP32-54-movile-screen-1
ESP32-54-movile-screen-t-2
ESP32-54-movile-screen-main
ESP32-12-WS2812-wiring
ESP32-54-movile-screen-1
ESP32-54-movile-screen-t-2
ESP32-54-movile-screen-main
855-ESP32 Tutorial 54/55- Arduino code Set WS2812 LED Strip Color over Wifi