ورکشاپ آموزشی - آیسی مدار
رفتن به محتوا

نورپردازی هوشمند پشت مانیتور (Ambilight) با آردوینو

ابزار و گجت
۰ نظر
۱۸ نفر
کد ۴۶۰۱

نورپردازی هوشمند یا همون Ambilight که پشت مانیتور نصب میشه، یکی از جذاب‌ترین آپگریدها برای هر ستاپ کامپیوتریه. شاید فکر کنی داشتن همچین سیستمی خیلی گرون درمیاد، اما ما اینجا یه راهکار خیلی اقتصادی و جذاب داریم.

توی این پروژه قراره با استفاده از یه برد آردوینو و چند تا ال‌ای‌دی آدرس‌پذیر، سیستم Ambilight اختصاصی خودمون رو بسازیم. این مدار به کامپیوترت وصل میشه و با یه نرم‌افزار، رنگ‌های مانیتور رو تو کسری از ثانیه روی ال‌ای‌دی‌ها پیاده می‌کنه. خبر خوب اینه که اصلا نیاز به مهارت‌های پیچیده الکترونیکی نداری.

تیم آیسی‌مدار این آموزش رو جوری برات آماده کرده که قدم‌به‌قدم پیش بری و میز کارت رو حسابی خفن کنی. بریم قطعات لازم رو آماده کنیم و کار رو شروع کنیم.

  • نرم‌افزار Ambibox برای کامپیوتر (رایگان، مخصوص سیستم‌عامل ویندوز)
  • برد آردوینو به همراه کدهای پشتیبانی‌کننده از کتابخانه FastLED
  • 50 عدد ال‌ای‌دی RGB مدل WS2811 به همراه آداپتور تغذیه مناسب
مرحله ۱

نکات مهم قبل از شروع کار

قبل از اینکه دست به کار بشیم، باید بدونی که این سیستم فقط روی کامپیوتر کار می‌کنه. یعنی نمی‌تونی ازش برای تلویزیون‌های معمولی یا دستگاه‌های پخش بلو‌ری استفاده کنی، چون برای پردازش تصویر به یه نرم‌افزار پس‌زمینه روی کامپیوتر نیاز داریم. این نرم‌افزار فقط برای ویندوز طراحی شده، پس اگه کاربر لینوکس یا مک هستی، این روش به دردت نمی‌خوره.

اما داستان برای بازی‌ها یکم متفاوته؛ اگه بازی رو تو حالت تمام‌صفحه (Fullscreen) اجرا کنی، نرم‌افزار بعضی وقتا نمی‌تونه رنگ‌ها رو تشخیص بده.

راهکار سادش اینه که بازی‌ها رو تو حالت Borderless اجرا کنی! فقط یادت باشه که این نرم‌افزار حدود 5 درصد از پردازنده‌ات رو درگیر می‌کنه.

مرحله ۲

انتخاب ال‌ای‌دی‌های مناسب برای نورپردازی

مهم‌ترین بخش این پروژه ال‌ای‌دی‌های RGB آدرس‌پذیر هستن. مدل دقیقشون خیلی مهم نیست، فقط باید مطمئن بشی که با کتابخانه FastLED در آردوینو سازگاری دارن.

معروف‌ترین و در دسترس‌ترین مدل‌ها WS2811 و WS2812 هستن که کار باهاشون هم خیلی راحته. این ال‌ای‌دی‌ها معمولا تو دو مدل تو بازار پیدا میشن: اولی مدل‌های حبابی (12 میلی‌متری) که با سیم به هم وصلن و فاصله‌شون رو می‌تونی تغییر بدی.

این مدل حبابی معمولا تو ریسه‌های 50 تایی فروخته میشه و راحت می‌تونی اضافه‌هاش رو قیچی کنی. مدل دوم، نوارهای ال‌ای‌دی هستن که پشتشون چسب داره و متری فروخته میشن. تراکم این نوارها معمولا 30، 60 یا بیشتر در هر متره.

مدل‌های حبابی این مزیت رو دارن که می‌تونی فاصله‌شون رو کاملا آزادانه تنظیم کنی، ولی در عوض باید یه فکری برای نصب کردنشون پشت مانیتور بکنی. حالا سوال اینه: چقدر ال‌ای‌دی نیاز داری؟

تعداد ال‌ای‌دی‌ها کاملا به سایز مانیتورت بستگی داره. مثلا 50 تا ال‌ای‌دی برای دور تا دور یه مانیتور 27 اینچ (هر چهار ضلع) کاملا کافیه. یا می‌تونی همین 50 تا رو برای سه ضلع یه مانیتور 40 اینچی استفاده کنی.

اگه فاصله هر ال‌ای‌دی رو حدود 3 سانتی‌متر در نظر بگیری، خیلی راحت می‌تونی با توجه به محیط مانیتورت محاسبه کنی که دقیقا چند تا دونه ال‌ای‌دی لازم داری.

مدل‌های نواری نصب خیلی راحت‌تری دارن چون فقط کافیه چسب پشتشون رو بکنی و بچسبونی پشت مانیتور. ولی عیبشون اینه که فاصله‌ها ثابته و نمی‌تونی تغییرش بدی. به علاوه، نور مدل‌های حبابی تو بعضی مواقع قوی‌تر و جذاب‌تر به نظر می‌رسه. طبیعتا اگه مدل نواری رو انتخاب کنی، دیگه نیازی به ساخت فریم و پایه برای نصبشون نداری.

مرحله ۳

ساخت فریم نگه‌دارنده (برای ال‌ای‌دی‌های حبابی)

اگه مثل این پروژه از ال‌ای‌دی‌های حبابی استفاده می‌کنی، باید یه فریم براشون بسازی تا مرتب پشت مانیتور وایسن. می‌تونی با استفاده از ورق‌ها یا تسمه‌های آلومینیومی، دریل و یکم بست کمربندی یه شاسی خوب درست کنی. کافیه آلومینیوم‌ها رو یکم کوچیک‌تر از ابعاد مانیتورت برش بزنی، بعد فاصله‌ها رو دقیق تقسیم‌بندی کنی و برای رد کردن بست‌ها سوراخ بزنی.

بعدش خیلی راحت ال‌ای‌دی‌ها رو با بست کمربندی سر جاشون محکم می‌کنی. اگه پایین مانیتورت کامل به میز چسبیده، نیازی نیست ضلع پایینی رو ال‌ای‌دی بزنی؛ ولی اگه فاصله داره، حتما هر چهار طرف رو پوشش بده. یه راه ساده‌تر هم استفاده از گیره‌های چسبی کابل برای پشت مانیتوره، اما ممکنه به خاطر گرمای مانیتور، چسبشون بعد از یه مدت ول کنه.

مرحله ۴

مغز متفکر پروژه: برد آردوینو

برای پردازش اطلاعات تصویر و کنترل ال‌ای‌دی‌ها به یه میکروکنترلر نیاز داریم! یه برد آردوینو ساده کارمون رو کامل راه میندازه و نیازی به امکانات پیچیده‌ای نداره.

مدل آردوینو نانو (Arduino Nano) برای این پروژه عالیه چون هم کوچیکه و هم کار باهاش سادست. ما فقط به پورت USB، یه دونه پین دیجیتال و پین زمین (GND) این برد نیاز داریم.

مرحله ۵

تامین تغذیه و برق ال‌ای‌دی‌ها

ال‌ای‌دی‌ها برای روشن شدن به یه منبع تغذیه قوی نیاز دارن. بیشتر این چیپ‌ها با ولتاژ 5 ولت کار می‌کنن، اما خیلی مهمه که مشخصات دقیق جریانی که می‌کشن رو بدونی.

ال‌ای‌دی‌های مدل WS2811 تو این پروژه، برای هر دونه حدود 0.3 وات مصرف دارن. این یعنی روی ولتاژ 5 ولت، هر کدوم 60 میلی‌آمپر جریان می‌کشن. حالا اگه 50 تا از اینا داشته باشی، میشه 3 آمپر کامل!

برای تامین این جریان دو تا راه داری: اول اینکه یه آداپتور 5 ولت با آمپر مناسب (مثلا 3 یا 4 آمپر) بگیری و مستقیم به تغذیه ال‌ای‌دی‌ها لحیم کنی و بزنیش به برق. راه دوم که البته پیشنهاد نمیشه اما ممکنه، استفاده از پاور کامپیوتره. پاورهای کامپیوتر روی خط 5 ولتشون آمپر خیلی بالایی میدن.

می‌تونی از کابل‌های آزاد پاور استفاده کنی و مستقیم به ال‌ای‌دی‌ها وصلشون کنی. خوبیش اینه که با روشن و خاموش شدن کامپیوتر، نورپردازی هم قطع و وصل میشه و نیازی به آداپتور جدا نداری؛ ولی باید خیلی مراقب اتصالی‌ها باشی.

مرحله ۶

سیم‌کشی و اتصالات مدار

اتصال ال‌ای‌دی‌های WS2811 و WS2812 فوق‌العاده سادست و کلا سه تا سیم بیشتر نداریم.

  1. سیم 5 ولت آداپتور رو مستقیم به سیم 5 ولت ریسه ال‌ای‌دی وصل کن.
  2. پین منفی یا همون زمین (GND) آداپتور رو باید هم به پین GND آردوینو و هم به سیم منفی ال‌ای‌دی‌ها متصل کنی (زمین مشترک).
  3. سیم دیتای ال‌ای‌دی‌ها (Data In) رو به یکی از پین‌های دیجیتال آردوینو وصل کن. فرقی نمی‌کنه کدوم پین باشه، فقط شماره‌اش رو برای بخش برنامه‌نویسی یادت نگه دار.
مرحله ۷

آپلود کدها روی آردوینو

حالا که اتصالات رو انجام دادی، وقتشه نرم‌افزار Arduino IDE رو باز کنی و کتابخانه FastLED رو از بخش مدیریت کتابخانه‌ها نصب کنی. کدی که باید روی برد آپلود کنی خیلی سادست و ساختار مشخصی داره. فقط چند تا متغیر هست که باید طبق پروژه‌ات تغییرشون بدی:

  • متغیر NUM_LEDS: اینو دقیقا برابر تعداد ال‌ای‌دی‌هایی که استفاده کردی قرار بده.
  • متغیر DATA_PIN: شماره پین دیجیتالی که روی آردوینو انتخاب کردی رو اینجا بنویس.
  • متغیر SerialRate: این عدد سرعت ارتباط رو مشخص می‌کنه که باید روی 500000 تنظیم بشه.

توی خط مربوط به FastLED.addLeds هم باید حتما مدل چیپ ال‌ای‌دی خودت رو بنویسی. بعضی از چیپ‌ها به پین ساعت (CLOCK_PIN) هم نیاز دارن، پس حتما مستندات FastLED رو برای مدلی که خریدی چک کن.

مرحله ۸

نصب و تنظیم نرم‌افزار Ambibox روی ویندوز

اولین کار اینه که آخرین نسخه برنامه Ambibox رو دانلود و نصب کنی. موقع نصب ازت می‌پرسه که می‌خوای کامپوننت‌های اضافی نصب بشن یا نه؛ من هیچ‌کدوم رو تیک نزدم، چون هر وقت لازم شد می‌تونی بعدا اضافه‌شون کنی.

بعد از نصب، باید بری تو مسیر C:\Program Files (x86)\AmbiBox و فایل SerialPortConfig.ini رو باز کنی. دنبال کلمه Adalight بگرد و مقدار BaudRate رو به 500000 تغییر بده (دقیقا همون عددی که تو کدهای آردوینو گذاشتیم). فایل رو سیو کن و نرم‌افزار رو دوباره باز کن.

مرحله ۹

تنظیمات اصلی برنامه برای اتصال به آردوینو

حالا باید تنظیمات اصلی رو تو برنامه انجام بدیم. اول روی دکمه More Settings در پایین و سمت راست برنامه کلیک کن تا پنل کامل باز بشه.

تو بخش تنظیمات پایین، حتما گزینه Device رو روی Adalight تنظیم کن. برای پیدا کردن پورت COM درست، می‌تونی تو Device Manager ویندوز نگاه کنی و همون پورت رو تو برنامه انتخاب کنی.

استاندارد ترتیب رنگ‌ها معمولا RGB هست؛ اگه بعدا دیدی رنگ‌ها قاطی شدن، می‌تونی از همینجا تغییرشون بدی. تو فیلد آخر هم تعداد دقیق ال‌ای‌دی‌هات رو وارد کن. این تعداد باید دقیقا با عدد NUM_LEDS تو کدهای آردوینو یکی باشه.

  • بقیه تنظیمات مهم:
  • می‌تونی کلید F7 رو برای روشن و خاموش کردن سریع ال‌ای‌دی‌ها تنظیم کنی.
  • گزینه Mode مشخص می‌کنه سیستم چطوری کار کنه. پیشنهاد می‌کنم اول بذاریش روی حالت رنگ ثابت (Static color) تا مطمئن بشی همه ال‌ای‌دی‌ها روشن میشن.
  • بعدش حالت رو به Screen capture تغییر بده و گزینه Windows 8 رو انتخاب کن. این متد روی ویندوزهای 7 تا 10 هم خیلی خوب جواب میده.
  • مقدار Delay رو روی کمترین حالت و FPS رو روی بیشترین حالت بذار تا لگ و تاخیر تو پردازش نورها به حداقل برسه.
مرحله ۱۰

تنظیم محدوده‌های ضبط تصویر

اگه روی دکمه Show areas of capture کلیک کنی، کلی مربع شماره‌دار روی صفحه‌ات ظاهر میشه. احتمالا این مربع‌ها اول کار خیلی نامرتب هستن.

برای اینکه جای این مناطق رو درست تنظیم کنی، روی دکمه Wizard capture zones کلیک کن. تو این پنجره می‌تونی پارامترهای مختلفی رو دستکاری کنی تا مربع‌ها دقیقا روی لبه‌های تصویر بشینن.

شاید لازم باشه چند بار آزمون و خطا کنی، اما در نهایت باید چینش مناطق دقیقا مثل چینش فیزیکی ال‌ای‌دی‌هات دور مانیتور بشه. وقتی درست شد، تنظیمات رو ذخیره کن و نمایش این مناطق رو ببند.

مرحله ۱۱

اصلاح رنگ و روشنایی

تو قدم آخر می‌تونی رنگ‌ها رو شخصی‌سازی کنی. یه فیلم پلی کن و با اسلایدرهای تصحیح رنگ (Color correction) و روشنایی بازی کن تا نوری که روی دیوار می‌افته دقیقا هم‌رنگ و هم‌حس تصویر مانیتورت بشه.

مرحله ۱۲

تبریک، ستاپ گیمینگت آماده است!

خسته نباشی! حالا دیگه یه مانیتور با سیستم Ambilight اختصاصی داری و می‌تونی از فیلم دیدن و بازی کردن نهایت لذت رو ببری. این آموزش رو حتما برای دوستای گیمرت بفرست تا اونا هم بتونن ستاپشون رو ارتقا بدن. ضمنا یادت نره که تو اپلیکیشن آیسی‌مدار کلی پروژه جذاب دیگه هم منتظرته تا با هم بسازیمشون. موفق باشی!

تو میتونی اولین سازنده باشی!

اگه پروژه رو ساختی به اشتراک بزار و اعتبار هدیه بگیر

این آموزش با استانداردهای اختصاصی آیسی‌مدار بازنویسی و بهینه‌سازی شده و تمامی حقوق انتشار آن متعلق به این مجموعه است و در صورت کپی یا بازنشر پیگرد قانونی خواهد داشت.

آموزش‌های مشابه

گفتگو‌های کاربران

هنوز نظری ثبت نشده؛ تو شروع کن!