کنترل LED آدرس پذیر WS2812B با برد ESP32

چه آنها را با نام LEDهای RGB قابل آدرسدهی، WS2812B یا NeoPixel بشناسید، نمیتوان انکار کرد که این LEDها بهطور شگفتانگیزی محبوب هستند و در هر پروژه نوری و درخشان، حضورشان ضروری است.
نوشتن کد برای کنترل LEDهای قابل آدرسدهی کار سختی نیست، اما اگر فقط بخواهید نورپردازی محیطی زیبایی برای اتاق نشیمن یا محل کارتان بسازید و آن را با گوشی هوشمندتان کنترل کنید، بهترین گزینه بدون شک WLED است — اپلیکیشنی رایگان، متنباز و پر از امکانات که کنترل کامل طیف وسیعی از LEDهای RGB را در اختیار شما قرار میدهد.
اپلیکیشن WLED کنترل LEDهای قابل آدرسدهی را بسیار سادهتر، راحتتر و از همه مهمتر لذتبخشتر میکند. این برنامه واقعاً جذابه و ارزش امتحان کردنش رو داره.
در این آموزش یاد میگیریم چطور WLED را روی برد ESP32 نصب کنیم و با استفاده از آن یک رشته LED قابل آدرسدهی را کنترل کنیم.
مراحل نصب WLED روی برد ESP32
نصب فریمور سفارشی WLED روی برد ESP32 فوقالعاده ساده است. کافی است برد را وصل کنید، چند دکمه را فشار دهید و بقیه کار را به نصبکننده بسپارید.
- برد ESP32 را با استفاده از کابل USB به کامپیوتر وصل کنید. دقت کنید کابلی که استفاده میکنید از انتقال داده (Data Transfer) پشتیبانی کند.
- مرورگر وب را باز کنید و وارد آدرس install.wled.me شوید. این لینک شما را به صفحه نصب WLED هدایت میکند.مرورگری استفاده کنید که از قابلیت Web Serial پشتیبانی کند. مرورگرهای دسکتاپ مثل Google Chrome، Microsoft Edge یا Opera قابل استفاده هستند، اما Safari، Firefox یا مرورگرهای موبایل پشتیبانی نمیشوند.

- روی دکمه Install کلیک کنید.
- پورت COM متصل به برد ESP32 را انتخاب کرده و روی Connect بزنید. WLED از رابط Web Serial API برای باز کردن پورتهای سریال سیستم شما استفاده میکند.
اگر پورت شناسایی نشد، ممکن است نیاز باشد درایور USB-to-Serial را بهروزرسانی کنید یا کابل شما از انتقال داده پشتیبانی نکند.
- روی گزینه Install WLED کلیک کنید تا فرآیند نصب آغاز شود.
در مرحله بعد، نصب را تأیید کنید تا فریمور روی برد فلش شود. توجه داشته باشید با انجام این کار، تمام دادههای موجود در دستگاه پاک میشوند.
در بعضی از مدلهای ESP32 لازم است قبل از زدن دکمه نهایی نصب، دکمه BOOT را فشار دهید.- حالا فرآیند نصب آغاز میشود. بعد از اتصال موفق، میتوانید دکمه BOOT را رها کنید. نصب معمولاً چند دقیقه طول میکشد.

- پس از پایان نصب، روی Next کلیک کنید.
- اطلاعات شبکه Wi-Fi خود را وارد کرده و روی Connect بزنید تا برد ESP32 به شبکه شما متصل شود.
توجه کنید که شبکه باید روی باند 2.4 گیگاهرتز باشد، چون ESP32 از شبکههای 5 گیگاهرتز پشتیبانی نمیکند. - وقتی پیام Device connected to the network! نمایش داده شد، روی Visit Device کلیک کنید تا وارد رابط کاربری WLED شوید.
آدرس (URL) نمایش دادهشده را یادداشت کنید، چون برای دسترسی مجدد به رابط وب WLED به آن نیاز خواهید داشت.
آشنایی سریع با رابط کاربری WLED


رابط کاربری WLED در ظاهر ساده است، اما در نگاه اول ممکن است کمی پیچیده به نظر برسد. به طور کلی، رابط WLED از پنج بخش اصلی تشکیل شده است.
1. بخش تنظیمات (Configuration)
در این قسمت دکمههای مختلفی وجود دارد:
- Power: برای روشن یا خاموش کردن LEDها
- Timer: جهت زمانبندی روشن و خاموش شدن چراغها در طول روز
- Sync: برای همگامسازی چند دستگاه WLED در یک شبکه
- Peek: پیشنمایش انیمیشنهای فعلی نورها
- Config: برای تنظیم تعداد LEDها و پورت GPIO
- Brightness: نوار تنظیم شدت نور کلی
2. انتخاب رنگ (Color Picker)
در این بخش میتوانید رنگ LEDها را تغییر دهید، چه در حالت ثابت و چه در حالت انیمیشن. با اسکرول کردن پایینتر، به مجموعهای از پالتهای رنگی متنوع برای استفاده در افکتها دسترسی خواهید داشت.
3. افکتها و انیمیشنها (Effects / Animation)
در این قسمت مجموعهای از افکتها و انیمیشنهای آماده برای نورهایتان وجود دارد. هر افکت طرح رنگی مخصوص به خود را دارد، اما بهراحتی میتوانید آن را از طریق بخش انتخاب رنگ شخصیسازی کنید.
4. بخش تقسیمبندی (Segment)
اگر از یک آرایه بزرگ یا ماتریس LED استفاده میکنید، میتوانید آن را به چند بخش مستقل تقسیم کنید و برای هر بخش رنگ، انیمیشن یا الگوی متفاوتی تعیین نمایید.
5. پیشتنظیمها (Presets)
در این قسمت میتوانید پروفایلهای نوری اختصاصی ایجاد کنید و حتی یک لیست پخش (Playlist) بسازید تا بین افکتهای مختلف بهصورت خودکار جابهجا شود.
تنظیمات WLED
تغییر آدرس URL
بعد از انجام تنظیمات اولیه، بهتر است وارد بخش Wi-Fi Setup شوید و آدرس دستگاه را به نامی قابلحفظ تغییر دهید تا بتوانید راحتتر دوباره به رابط کاربری WLED دسترسی داشته باشید.
- روی گزینه Config کلیک کنید.

- گزینه Wi-Fi Setup را انتخاب کنید.

- در قسمت mDNS address، آدرسی دلخواه وارد کنید. برای مثال، من آدرس
http://mylights.local/را انتخاب کردم تا در آینده با تایپ آن در مرورگر به نورهایم دسترسی داشته باشم.
- به بالای صفحه یا پایین آن بروید و روی Save & Connect کلیک کنید.

- پیام ‘WiFi settings saved.’ نمایش داده میشود.

- اکنون میتوانید به آدرس جدید متصل شوید.

تنظیم LEDها در WLED
- روی گزینه Config کلیک کرده و سپس LED Preferences را انتخاب کنید.

- در بخش Hardware Setup نوع نوار LED خود را مشخص کنید.

- مقدار Length را مطابق با تعداد LEDهای خود تنظیم کنید. برای مثال، اگر 12 LED دارید، عدد را روی 12 قرار دهید.

- شماره پین GPIO را یادداشت کنید. این پین برای ارسال داده به LEDها استفاده میشود. به طور پیشفرض، GPIO16 فعال است.

- به انتهای صفحه بروید و روی Save کلیک کنید.

- سپس روی Back بزنید تا به صفحه اصلی بازگردید.
اتصال LED آدرس پذیر WS2812x به برد ESP32
بعد از اینکه تنظیمات WLED را انجام دادید، کابل USB را از برد ESP32 جدا کنید. حالا وقت آن است که نوار LED قابل آدرسدهی را به برد متصل کنیم.
اتصالات این بخش بسیار ساده است. فقط سه سیم برای اتصال نیاز دارید: دو سیم برای برق و یک سیم برای انتقال داده.
- سیم قرمز (+5V/VCC) نوار LED را به پین VIN روی برد ESP32 وصل کنید.
- سیم سفید یا زرد (GND) را به پین GND برد متصل کنید.
- در نهایت سیم سبز (DIN) نوار LED را از طریق یک مقاومت 330 اهمی به پین GPIO16 (RX2) وصل کنید. این مقاومت برای محافظت از پایه داده ضروری است. مقاومت بین 220 تا 470 اهم نیز مناسب است، فقط سعی کنید آن را تا حد ممکن نزدیک به ورودی نوار LED قرار دهید.
اگر از تعداد کمی LED استفاده میکنید، میتوانید برد ESP32 را با کابل USB به کامپیوتر وصل کرده و برق نوار را مستقیماً از طریق برد تأمین کنید.

اما اگر پروژه شما شامل تعداد زیادی LED است، برق USB کافی نخواهد بود. در این حالت باید از منبع تغذیه خارجی 5 ولت برای تأمین انرژی نوار استفاده کنید.

به خاطر داشته باشید که هر LED RGB در حداکثر روشنایی حدود 60 میلیآمپر (20 میلیآمپر برای هر کانال رنگ) مصرف میکند. یعنی برای هر 30 LED، نوار شما میتواند تا 1.8 آمپر جریان بکشد.
بعد از اتمام سیمکشی، LEDها باید روشن شده و نوری ملایم با رنگ زرد از خود منتشر کنند. اگر اینطور نشد، اتصالات را دوباره بررسی کنید.
از این مرحله به بعد، همه تنظیمات از طریق اپلیکیشن WLED انجام میشود.
استفاده از اپلیکیشن موبایل WLED
- اپلیکیشن WLED را از Google Play Store یا Apple App Store روی گوشی یا تبلت خود نصب کنید.

- برنامه را باز کرده و روی آیکون + در گوشه بالا سمت راست بزنید تا صفحه جستجوی دستگاهها باز شود.

- روی گزینه Discover Lights بزنید تا برنامه شبکه Wi-Fi شما را برای پیدا کردن تمام دستگاههای WLED اسکن کند.

- وقتی پیام Found WLED! ظاهر شد، روی آیکون تیک در گوشه بالا کلیک کنید تا به صفحه اصلی بازگردید. در این صفحه لیستی از تمام دستگاههای WLED متصل به شبکه نمایش داده میشود.

- روی دستگاه تازه شناساییشده بزنید تا پنل کنترل آن باز شود.
با استفاده از دایره رنگ (Color Wheel) رنگ دلخواه خود را انتخاب کنید. و تمام! حالا نوار LED شما بهصورت بیسیم و از راه دور قابل کنترل است.
اگر رنگ LEDها با رنگ انتخابی در اپلیکیشن مطابقت ندارد، به مسیر Config > LED Preferences بروید و در بخش Hardware Setup گزینه Color Order را تغییر دهید تا هماهنگ شود.
اگر چند دستگاه WLED دارید، میتوانید برای تشخیص راحتتر نام هر دستگاه را تغییر دهید. برای این کار وارد Config > User Interface شوید، نام دلخواه خود را بنویسید و روی Save بزنید.
تغییر افکتها در WLED
اپلیکیشن WLED بیش از 180 افکت نوری مختلف ارائه میدهد — و اینجاست که بخش هیجانانگیز ماجرا شروع میشود.
- وارد تب Effects شوید و یک افکت انتخاب کنید. LEDها بلافاصله واکنش نشان میدهند و تغییر را نمایش میدهند.

- میتوانید سرعت و شدت افکت را تنظیم کنید. هرچه نوار لغزنده (Slider) را بیشتر به جلو ببرید، افکت سریعتر و پرانرژیتر میشود.

- هر افکت دارای طرح رنگی مخصوص به خود است، اما میتوانید آن را از طریق بخش Color Picker تغییر دهید. با این کار، نوع انیمیشن حفظ میشود اما رنگها عوض میشوند.

نکات و توصیهها برای استفاده از WLED با ESP32
هنگام طراحی سیستم نورپردازی با استفاده از ESP32، رعایت چند نکته میتواند عملکرد پروژه را بهینهتر کند:
- برد ESP32 میتواند همزمان تا 10 نوار LED را کنترل کند.
- بیشتر انواع نوارها هنوز بهطور کامل تست نشدهاند، اما نوارهای WS281x، SK6812 RGBW و PWM White کاملاً سازگار هستند.
- بلافاصله پس از نصب WLED، وارد تنظیمات LED شوید و نوع نوار، شماره پینها، طول و ترتیب رنگها را مشخص کنید.
- با انتخاب منبع تغذیه مناسب و غیرفعال کردن گزینه Brightness Limiter در تنظیمات WLED، میتوانید نرخ فریم (Framerate) را بهطور قابلتوجهی افزایش دهید.
- هیچ محدودیتی برای انتخاب پینها وجود ندارد — میتوانید از هر پین آزاد روی ESP32 استفاده کنید.
- عملکرد سیستم به تعداد LEDهایی که توسط ESP32 کنترل میشوند و تعداد خروجیهای فعال بستگی دارد.
پیشنهادات عملکرد بر اساس تعداد LEDها
| سطح عملکرد | تعداد LED در هر خروجی (Pin) | تعداد خروجیها | مجموع LEDها |
|---|---|---|---|
| عالی (Excellent) | 512 | 4 | 2048 |
| بهینه (Optimal) | 800 | 4 | 3200 |
| خوب (Good) | 1000 | 4 | 4000 |
| مرزی (Marginal) | 1000 | 5 | 5000 |
| مرزی (Marginal) | 800 | 6 | 4800 |
برد ESP32 قادر است حدود 65,000 تا 85,000 LED در ثانیه را پردازش کند. بهطور تقریبی:
- 1000 LED با حدود 70 فریم بر ثانیه (fps)
- 2000 LED با حدود 35 فریم بر ثانیه (fps)
- 4000 LED با حدود 18 فریم بر ثانیه (fps)








