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

نور پس زمینه مانیتور پویا در آردوینو. روشنایی پیکسل ساده و سریع

فیلیپس در سال 2007 یک فناوری فوق‌العاده ساده اما بدون اغراق را به ثبت رساند. با این نور پس‌زمینه تطبیقی، خستگی چشم‌ها هنگام مشاهده در تاریکی کاهش می‌یابد، اثر حضور افزایش می‌یابد، ناحیه نمایش بزرگ می‌شود، و غیره. Ambilight نه تنها برای محتوای ویدیویی و عکس، بلکه برای بازی‌ها نیز قابل استفاده است. Ambilight به ویژگی بارز تلویزیون های فیلیپس تبدیل شده است. از آن زمان، فیلیپس به شدت مراقب بوده است تا هیچ یک از تولیدکنندگان بزرگ جرأت نکنند با ایجاد چنین چیزی به مقدسات دست درازی کنند. احتمالاً این فناوری می تواند مجوز داشته باشد، اما شرایط ظالمانه است و سایر بازیگران بازار تمایل خاصی به این کار ندارند. شرکت‌های کوچک نیز سعی کردند (و اکنون شرکت‌هایی هستند که چنین می‌کنند) فناوری مشابه را در قالب کیت‌های جداگانه معرفی کنند، اما خودروی فیلیپس اجتناب‌ناپذیر بود. بنابراین، در بهترین حالت، اگر شرکت به نحوی حق ثبت اختراع یا مشتقات آن را تمدید نکند، سایر تولیدکنندگان تنها می‌توانند چیزی مشابه را در سال 2027 منتشر کنند.

اما برای ما، مصرف کنندگان عادی، این مجازات اعمال نمی شود. ما برای خود مختار هستیم که آنچه را که لازم می دانیم انجام دهیم. امروز به طور مفصل به شما خواهم گفت که چگونه یک نور پس زمینه تطبیقی ​​برای تلویزیون یا مانیتوری مانند Philips Ambilight (از این پس به سادگی Ambilight) بسازید. برای برخی، مقاله به خودی خود حاوی چیز جدیدی نخواهد بود، tk. ده ها پروژه از این دست وجود دارد و صدها مقاله به زبان های مختلف نوشته شده است و هزاران نفر هستند که قبلاً این کار را برای خود انجام داده اند. اما برای بسیاری، همه اینها می تواند بسیار جالب باشد. شما به مهارت خاصی نیاز ندارید. فقط دانش پایه فیزیک برای پایه هشتم دبیرستان. خوب، و مقدار زیادی لحیم کاری سیم.

برای اینکه بهتر متوجه شوید من در مورد چه چیزی صحبت می کنم، مثال خود را از آنچه اتفاق افتاده است می زنم. هزینه واقعی تلویزیون 42 "حدود 1000 روبل و 2 ساعت کار است.


این ویدئو تمام حس ها و تاثیر را به طور کامل منتقل نمی کند، اما بچه ها برای اولین بار با دهان باز نشستند.

گزینه های اجرایی احتمالی

چندین گزینه برای پیاده سازی Ambilight وجود دارد. آنها به منبع سیگنال ویدیویی بستگی دارند.

ارزان‌ترین، ساده‌ترین و مؤثرترین گزینه منبع سیگنال رایانه شخصی ویندوز، Mac OS X یا لینوکس است. امروزه جعبه های مبتنی بر ویندوز در پردازنده های Atom بسیار رایج هستند که قیمت آنها از 70 دلار می باشد. همه آنها برای اجرای Ambilight عالی هستند. چندین سال است که از جعبه های مختلف ویندوز (در یک کابینت تلویزیون) به عنوان پخش کننده رسانه استفاده می کنم، تعداد انگشت شماری نقد نوشتم و آنها را بهترین تی وی باکس برای محتوای رسانه ای می دانم. اجرای سخت افزاری این گزینه برای تمامی سیستم عامل های لیست شده یکسان است. در مورد این گزینه است که در مقاله در مورد آن صحبت خواهم کرد... بخش نرم افزار مربوط به سیستم ویندوز خواهد بود، AmbiBox به عنوان یک برنامه کنترل جهانی عمل خواهد کرد. با Mac OS X و Linux می توان استفاده کرد.

گزینه دوم - منبع سیگنال یک پیوست رسانه مبتنی بر Android است که تعداد زیادی از آن نیز وجود دارد. این گزینه مشکل سازترین است. اول، برجسته سازی فقط در ترکیب رسانه Kodi (و شاخه های آن پروژه) کار می کند. ثانیا، در اکثریت قریب به اتفاق موارد، همه چیز فقط با رمزگشایی ویدیوی سخت افزاری غیرفعال کار می کند، که برای اکثر جعبه ها غیرقابل قبول است. اجرای سخت افزاری پروژه نیز الزامات خاصی را تحمیل می کند. من به آن دست نمی زنم، اما اگر موردی خاص است، سعی می کنم در نظرات پاسخ دهم.

گزینه سوم یک راه حل مستقل از منبع است. این گران ترین، اما راه حل کاملاً جهانی است. سیگنال مستقیماً از کابل HDMI گرفته می شود. برای آن، به یک میکروکامپیوتر به اندازه کافی قدرتمند (مانند رزبری پای)، شکاف دهنده HDMI (شکاف)، مبدل HDMI-RCA AV، دستگاه ضبط ویدیوی آنالوگ USB 2.0 نیاز دارید. فقط با این گزینه می توان تضمین کرد که از Ambilight با هر تلویزیون / گیرنده، باکس اندروید، اپل تی وی، کنسول های بازی (مثلا ایکس باکس وان، پلی استیشن 4) و غیره که دارای خروجی HDMI هستند، استفاده کنید. برای نوع با پشتیبانی از 1080p60، هزینه قطعات (بدون نوار LED) حدود 70 دلار خواهد بود، با پشتیبانی از 2160p60 - حدود 100 دلار. این گزینه بسیار جالب است، اما باید یک مقاله جداگانه در مورد آن بنویسید.

بخش سخت افزاری

برای پیاده سازی، به سه جزء اصلی نیاز دارید: یک نوار LED قابل کنترل RGB، یک منبع تغذیه، یک میکرو کامپیوتر آردوینو.

ابتدا چند توضیح.

WS2811 یک کنترلر / درایور کانال سه کاناله (IC) برای LED های RGB با کنترل یک سیم (قابل نشان دادن به یک LED دلخواه) است. WS2812B یک LED RGB در بسته SMD 5050 است که قبلاً یک کنترلر WS2811 داخلی دارد.

نوارهای LED مناسب برای پروژه برای سادگی WS2811 یا WS2812B نامیده می شوند.

نوار WS2812B نواری است که LED های WS2812B به صورت سری روی آن قرار می گیرند. نوار با ولتاژ 5 ولت کار می کند. نوارهایی با تراکم LED های مختلف وجود دارد. معمولاً اینها عبارتند از: 144، 90، 74، 60، 30 در هر متر. درجات مختلف حفاظت وجود دارد. اغلب این موارد عبارتند از: IP20-30 (محافظت در برابر نفوذ ذرات جامد)، IP65 (محافظت در برابر گرد و غبار و جت های آب)، IP67 (محافظت در برابر گرد و غبار و محافظت در هنگام غوطه ور شدن جزئی یا کوتاه مدت در آب تا عمق 1 متری). ). بستر سیاه و سفید.

در اینجا نمونه ای از چنین نواری آورده شده است:


نوار WS2811 نواری است که کنترلر WS2811 و نوعی RGB LED به صورت سری روی آن قرار گرفته است. گزینه هایی برای 5 ولت و 12 ولت وجود دارد. چگالی و حفاظت مشابه گزینه قبلی است.

در اینجا نمونه ای از چنین نواری آورده شده است:


همچنین مانند عکس زیر "نوارهای" WS2811 با LED های بزرگ و قدرتمند وجود دارد. آنها همچنین برای اجرای Ambilight برای برخی از پانل های بزرگ مناسب هستند.


کدام نوار را انتخاب کنیم، WS2812B و WS2811؟

یک عامل مهم تغذیه نوار است که کمی بعد در مورد آن صحبت خواهم کرد.

اگر یک منبع تغذیه مناسب در خانه دارید (اغلب منابع تغذیه از تجهیزات قدیمی یا آسیب دیده در خانه باقی می مانند)، سپس یک نوار را بر اساس ولتاژ منبع تغذیه انتخاب کنید. 5 ولت - WS2812B، 12 ولت - WS2811. در این صورت شما به سادگی در پول خود صرفه جویی خواهید کرد.

به تنهایی می توانم توصیه ای ارائه کنم. اگر تعداد کل LED ها در سیستم بیش از 120 نباشد، WS2812B. اگر بیش از 120 باشد، WS2811 با ولتاژ کاری 12 ولت. چرا اینطور است، وقتی نوبت به اتصال نوار به منبع تغذیه می رسد، متوجه خواهید شد.

چه سطحی از محافظ نوار را انتخاب کنم؟

برای اکثر افراد، IP65 مناسب است، زیرا در یک طرف آن با "سیلیکون" (رزین اپوکسی) پوشیده شده است و در طرف دیگر یک سطح خود چسب 3M وجود دارد. نصب این نوار روی تلویزیون یا مانیتور راحت است و برای پاک کردن گرد و غبار راحت است.

کدام چگالی LED را انتخاب کنیم؟

برای پروژه، نوارهایی با تراکم 30 تا 60 ال ای دی در متر مناسب است (البته 144 امکان پذیر است، هیچکس منع نمی کند). هر چه چگالی بیشتر باشد، وضوح Ambilight (تعداد مناطق) بیشتر و حداکثر روشنایی کلی بالاتر است. اما باید در نظر داشت که هرچه تعداد LED های پروژه بیشتر باشد، مدار برق نوار پیچیده تر خواهد شد و به منبع تغذیه قوی تری نیاز خواهد بود. حداکثر تعداد LED در یک پروژه 300 عدد می باشد.

خرید نوار

اگر تلویزیون یا مانیتور شما روی دیوار آویزان است و هر 4 طرف آن فضای خالی زیادی در کنار هم دارند، بهتر است نوار در پشت اطراف محیط از هر 4 طرف برای حداکثر تأثیر قرار گیرد. اگر تلویزیون یا مانیتور شما روی پایه نصب شده است یا فضای خالی کافی در پایین وجود ندارد، باید نوار را از 3 طرف در پشت قرار دهید (یعنی پایین بدون چسب).

برای خودم یک نوار سفید WS2812B IP65 با 30 LED در هر متر انتخاب کردم. من قبلا یک منبع تغذیه مناسب 5 ولت داشتم. من تصمیم گرفتم که 60 یا 30 LED در هر متر باشد، اما دومی را پس از بررسی ویدیو با نمونه های آماده اجرا انتخاب کردم - روشنایی و وضوح برای من مناسب است، و قدرت سازماندهی آسان تر است، سیم های کمتری وجود دارد. تعداد زیادی نوار WS2812B در Aliexpress وجود دارد. من 5 متر را به قیمت 16 دلار سفارش دادم. برای تلویزیون من (42 اینچ، 3 طرف) فقط 2 متر نیاز داشتم، یعنی می توانم آن را با 10 دلار بخرم، سه متر باقی مانده را برای یک دوست. قیمت ها اغلب از فروشندگان تغییر می کند، پیشنهادات زیادی وجود دارد، بنابراین فقط یک مقدار ارزان در Aliexpress با رتبه بالا (کلمات کلیدی جستجو - WS2812B IP65 یا WS2811 12V IP65).




خرید منبع تغذیه برای نوار

واحد منبع تغذیه با توجه به توان و ولتاژ انتخاب می شود. برای WS2812B - ولتاژ 5 ولت. برای WS2811 - 5 یا 12 ولت. حداکثر مصرف برق یک LED WS2812B 0.3 وات است. برای WS2811، در بیشتر موارد یکسان است. آن ها قدرت منبع تغذیه باید حداقل N * 0.3 W باشد که N تعداد LED های پروژه است.

به عنوان مثال، شما یک تلویزیون 42 اینچی دارید، روی یک نوار WS2812B با 30 LED در هر متر نصب کرده اید، به 3 متر نوار در هر 4 طرف نیاز دارید. به یک منبع تغذیه 5 ولت با حداکثر توان 0.3 * 30 نیاز دارید. * 3 = 27 وات، یعنی 5 ولت / 6 A. در اجرای من، فقط از 3 طرف استفاده می شود، در مجموع 60 LED (به طور دقیق، 57) - قدرت از 18 وات، یعنی 5 V / 4 A.

من یک شارژر USB چند پورت ORICO CSA-5U (8 A) را برای مدت طولانی در حالت آماده به کار دارم که از بررسی قدیمی باقی مانده است. منبع تغذیه پورت ها موازی با آن است (این بسیار مهم است)، این شارژر برای من به عنوان یک منبع تغذیه ایده آل است، زیرا من نوار را از طریق 2 اتصال موازی وصل می کنم (توضیحات کمی بعد در مقاله خواهد بود).


اگر این حافظه را نداشتم، انتخاب می کردم (اطلاعاتی وجود دارد که در این PSU است که داخلی ها روی 2.5 A قرار می گیرند، بنابراین باید این موضوع را با جزئیات بیشتری از فروشنده مطالعه کنید، یا به موارد دیگر نگاه کنید. مدل ها).

خرید میکرو کامپیوتر

Ambilight توسط میکرو کامپیوتر آردوینو کنترل خواهد شد. Arduino Nano در Aliexpress تقریباً هر قطعه هزینه دارد.

هزینه های نسخه من (برای TV 42"):

10 دلار - 2 متر WS2812B IP65 (30 LED در هر متر)
4 دلار - منبع تغذیه 5 ولت / 4 آمپر (من برای PSU پول خرج نکردم، هزینه را برای وضوح نقل می کنم)
2.5 دلار - آردوینو نانو
-----------
16,5$ یا 1000 روبل

پیاده سازی سخت افزار

مهمترین چیز این است که تغذیه نوار را به درستی سازماندهی کنید. نوار طولانی است، ولتاژ در جریان بالا به خصوص در 5 ولت کاهش می یابد. بیشتر مشکلاتی که برای کسانی که خود Ambilight را می سازند به وجود می آید، به منبع تغذیه متصل می شود. من از قانون استفاده می کنم - شما باید برای هر 10 وات حداکثر مصرف برق در 5 ولت و 25 وات مصرف برق در 12 ولت یک منبع تغذیه جداگانه بسازید. طول منبع تغذیه (از منبع تغذیه تا خود نوار) باید حداقل باشد (بدون حاشیه)، به خصوص در 5 ولت.

نمودار کلی اتصال به شرح زیر است (نمودار اتصال برق نسخه من را نشان می دهد):


برق از هر دو طرف به نوار تامین می شود - دو اتصال موازی. به عنوان مثال، اگر من نور پس‌زمینه را در هر 4 طرف ایجاد کنم و نوار آن 60 LED در هر متر باشد (یعنی حداکثر توان 54 وات است)، منبع تغذیه زیر را می‌سازم:


سیم های تغذیه باید مناسب استفاده شوند، هر چه گیج (AWG) کوچکتر باشد، بهتر است، به طوری که برای قدرت جریان محاسبه شده بیش از اندازه کافی باشد.

دو پین از روی نوار به آردوینو می رود. GND که باید به پین ​​مربوطه در آردوینو متصل شود. و DATA که باید از طریق یک مقاومت 300-550 اهم (ترجیحاً 470 اهم) به پایه ششم دیجیتال متصل شود. اگر مقاومت ندارید، در بیشتر موارد همه چیز بدون آن خوب کار می کند، اما بهتر است یکی داشته باشید. در هر فروشگاه رادیویی می توان یک مقاومت را با چند کوپک خریداری کرد. خود میکرو رایانه آردوینو را می توان در هر مورد مناسب قرار داد، بسیاری از تخم مرغ شگفت انگیز Kinder برای این کار استفاده می کنند. آردوینو باید تا حد امکان نزدیک به نوار قرار گیرد تا لیدهای DATA تا حد امکان کوتاه باشند.

لحیم کاری سیم به نوار ساده است. قانون اصلی این است که زمان تماس با آهن لحیم کاری حداقل باشد.

در مورد من اینطور شد:



دو کابل USB با کیفیت بالا برای برق و یک کابل سفید برای اتصال به کامپیوتر استفاده شد. لوله هیت شرینک سفید من تمام شد، از قرمز استفاده کردم. خیلی "زیبا" نیست، اما برای من مناسب است (هنوز پشت تلویزیون پنهان است).

یک سوال مهم این است که چگونه نوار را در زوایای قائم خم کنیم؟ اگر یک نوار LED 60 دارید، باید نوار را برش دهید و با سیم های کوتاه وصل کنید (با قرار دادن همه اینها در یک لوله هیت شرینک). می توانید کانکتورهای زاویه دار مخصوص سه پین ​​را برای نوارهای LED خریداری کنید (مثلاً 4 پین در تصویر وجود دارد):


اگر یک نوار 30 ال ای دی دارید، پس فاصله بین ال ای دی ها زیاد است، می توانید به راحتی یک گوشه بدون برش ایجاد کنید. یک تکه از پوشش "سیلیکون" را بردارید، پد تماس را جدا کنید (حتی می توانید از "نوار" استفاده کنید) و آن را طبق طرح زیر خم کنید:

برای تمرین یک تکه نوار بریدم. نکته اصلی این است که زیاده روی نکنید - آنها یک بار کمی خم شدند و تمام. لازم نیست اینجا و آنجا خم شوید، نیازی نیست که خط خم را به شدت فشار دهید.


در اینجا نمای پشت تلویزیون است، تمام سیم ها از طریق سوراخ به داخل کابینت می روند:

بخش نرم افزاری

این ساده ترین است.

میکروکامپیوتر آردوینو را از طریق USB وصل می کنیم. درایور (رابط سریال CH340) به طور خودکار نصب می شود. اگر این اتفاق نیفتاد، پس در پوشه Arduino IDE یک پوشه Drivers با هر چیزی که نیاز دارید وجود دارد.

Arduino IDE را اجرا کنید و فایل Adalight.ino را باز کنید.


تعداد LED ها را در کد تغییر می دهیم. من 57 دارم


ابزار> برد> آردوینو نانو
ابزار > پورت > پورت COM را انتخاب کنید (گزینه مورد نظر وجود خواهد داشت)

دکمه "دانلود" را فشار دهید:


این برنامه پس از اتمام دانلود به شما اطلاع می دهد (این به معنای واقعی کلمه چند ثانیه است).

آماده. باید آردوینو را از USB جدا کرده و دوباره وصل کنید. روبان به صورت متوالی به رنگ های قرمز، سبز و آبی روشن می شود - آردوینو فعال شده و آماده کار است.

برنامه را دانلود و نصب کنید. در برنامه، روی "تنظیمات بیشتر" کلیک کنید و دستگاه - Adalight، پورت COM و تعداد LED ها را مشخص کنید. تعداد فریم های مورد نظر را انتخاب کنید (تا 60).


سپس روی Show Capture Zones > Zone Configuration Wizard کلیک کنید. پیکربندی روبان خود را انتخاب کنید.


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


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

اساساً همین است. نتیجه را در ابتدای مقاله مشاهده کردید. هیچ چیز پیچیده، ارزان و عالی نیست. من مطمئن هستم که شما بهتر عمل خواهید کرد، بنابراین کاردستی های خود را در نظرات به اشتراک بگذارید.

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

اگر مدت‌هاست می‌خواهید نور پس‌زمینه را به تلویزیون غیر Philips خود ببندید، اما از امتحان کردن آن می‌ترسیدید، آن را امتحان کنید. آسان تر از آن است که به نظر می رسد.

برای یک دانه، یک ویدیوی کوچک از نتیجه.


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

نحوه انجام آن بسیار ساده است:
+
+
+
کمی شجاعت =
Ambilight

با جزئیات بیشتر، نقطه به نقطه:
1 تمشک من قبلاً در آن زمان داشتم. من آن را در همان مکان در آمازون خریدم، اما فکر می کنم منشاء نقش در اینجا بازی نمی کند - هیئت مدیره یکپارچه است و می توانید آن را به طور کامل در هر کجا خریداری کنید - نکته اصلی که من به شما توصیه نمی کنم BU را بگیرید. پس از مدت زمان مشخصی که در حداکثر فرکانس بدون رادیاتورهای اضافی کار کردم، شروع به podglyuchitsya کردم. من به دلیل گرمای بیش از حد می نویسم، اما می تواند نقص تولید احمقانه باشد. تمشک ها به منبع برق بسیار حساس هستند، بنابراین فوراً یک PSU معمولی با سطح موج کم ... (و به طوری که زیر بار فرو نرود) ذخیره کنید.
2 نوار واقعی. چگونه کار می کند به نظر من دیدن آن در ویدیو بسیار خوب است. هیچ چیز خاصی در خود نوار وجود ندارد - من قطعات را جدا کردم تا دقیقاً برای 3 طرف تلویزیون کافی باشد. من نقاط خمش را با تکه های سیم لحیم کردم (در ابتدا با اتصال دهنده ها اتصال برقرار کردم، اما به سرعت از اینکه تکه های سیم بیرون زده بودند عصبانی شد - همه چیز را برش دادم و به قطعات کوچک لحیم کردم)
3 برنامه مبتکرانه هایپریون. بر روی تمشک نصب شده است (من OpenElec چند رسانه ای به عنوان سیستم عامل خود دارم) طبق دستورالعمل برای احمق ها. من حتی اولین بار موفق شدم. در فرآیند کار، به طرز احمقانه ای داده های رنگی لبه های صفحه نمایش را ضبط می کند، به طور میانگین سیگنال های کنترلی را به نوار LED می فرستد. نوار با تمام رنگ های رنگین کمان چشمک می زند، مخاطب خوشحال می شود. در حین کار، هنگام پخش fullHD با وزن 30 گیگ، بار اضافی به ازای هر درصد 5-10٪ است. سرعت به هیچ وجه تحت تأثیر قرار نمی گیرد.

نتیجه فراتر از حد انتظار است:
با تراکم LED 30 تن بر متر، تمام دیوار پشت تلویزیون (حذف حدود 10-15 سانتی متر) به رنگ های صفحه نمایش رنگ می شود. از نظر بصری، صحنه از هم جدا می شود... خوب، به همان اندازه که همین دیوار وجود دارد. هیچ تاخیری در انتقال وجود ندارد حداقل ردیابی با چشم غیرممکن است. همه چیز صاف و واضح است برای یک گوشی هوشمند، یک برنامه جالب وجود دارد که با آن می توانید نور پس زمینه را به حالت سالن تغییر دهید - رنگ / روشنایی مورد نظر را تنظیم کنید یا یکی از الگوهای پیشنهادی را اجرا کنید (مانند چراغ قرمز در حال اجرا، یا فقط یک رنگین کمان، یا برای نمونه انتقال رنگ).
وقتی هنگام تماشای کارتون نور پس زمینه خاموش می شود، دختر خشمگین می شود و می خواهد همه چیز را برگرداند.)))

خوب، به منظور مطابقت با خط مشی MySKU، یک بررسی در مورد خود جزئیات:
نوار LED - بارها نادیده گرفته شده است. منم دقیقا همینو گرفتم خیلی خوب. کیفیت عالی است در صورت استفاده از حافظه نمایش داده می شود - 16 میلیون سایه. دقیقا حساب نشد نیاز به منبع تغذیه اضافی دارد - آویزان به علاوه یا منفی در یک واحد 5 ولت 2 آمپر - 2 متر بیش از اندازه کافی است. فکر کنم برای 3 تا کافیه ولی تضمین نمیکنم. من کنتاکت های کنترل را به Raspberry GPIO آوردم.

مالینکا یک کامپیوتر تک بردی است. فقط تنبل ها نادیده گرفته نشد. یک چیز عالی هم برای تسلط بر اصول اولیه لینوکس و هم برای ایجاد یک مرکز رسانه مینیمال و انعطاف پذیر. معلوم شد که این گزینه برای من ایده آل است: هر محتوایی را که در دسترس من است پیمایش می کند، به عنوان گیرنده کار می کند و تلویزیون اینترنتی را نشان می دهد، وقتی می خواهم چیزی را از تلفن یا لپ تاپ راه اندازی کنم وانمود می کند که یک گیرنده سیگنال AirPlay است. یک چیز عالی - 3 وات و سرگرمی زیاد + پشتیبانی از HDMI CEC خارج از جعبه - همه چیز از طریق کنترل از راه دور تلویزیون کنترل می شود.

و در نهایت، یک ویدیوی دیگر در تعقیب:

چند روز پیش تصمیم گرفتم که demovidos بیشتری انجام دهم - در حال حاضر در یک آپارتمان جدید.

رنگ دیوار پسته ای است تنظیمات را تغییر ندادم و نمی کنم. بنابراین رنگ ها کمی سبز هستند. من آن را دوست دارم، اما نظر شما برایم مهم نیست)

من قصد دارم +69 بخرم افزودن به علاقه مندی ها من نقد را دوست داشتم +16 +48

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

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

به طور کلی، چنین نور پس زمینه ای را می توان به عنوان اجزای رادیویی خریداری کرد و به طور مستقل پیکربندی کرد. اما، همانطور که تمرین نشان می دهد، این تقریباً با گزینه های آماده PaintPack قابل مقایسه است.

دو مدل اصلی موجود است: یک نسخه مانیتور (30 LED) و یک نسخه تلویزیون (60 LED). یک بسیار ساده نیز وجود دارد - برای 10 LED، اما فقط برای کوچکترین مانیتورها مناسب است.

نسخه تلویزیون مجهز به منبع تغذیه خارجی است. همچنین، تعداد بیشتری از LED ها به نفع آن صحبت می کنند، که باعث نوردهی بزرگتر می شود (به عبارت دیگر، بیشتر و بیشتر می درخشد). اگر چنین گزینه هایی به هر دلیلی مناسب نیستند، می توانید با توسعه دهندگان تماس بگیرید: برای هزینه اضافی، آنها نسخه اصلاح شده را ارائه می دهند.

Mindrunway.ru

PaintPack در واقع یک کیس کوچک است که نوارهای LED قابل جابجایی از دو طرف به آن متصل می‌شوند. جعبه با پر کردن نشانگرها و کانکتور برق و همچنین microUSB برای اتصال به رایانه شخصی دارد. همچنین یک کانکتور اصلی (اختصاصی) برای زنجیر زنجیر دو دستگاه وجود دارد.

بدنه دستگاه در پشت تلویزیون یا مانیتور قرار دارد. سپس نوارهای LED مطابق با دستورالعمل ها گذاشته می شود، برق وصل می شود و جادوگری آغاز می شود. هنگام اتصال PaintPack به رایانه از طریق USB، لازم است درایورها را نصب کرده و دستگاه را در برنامه همراه پیکربندی کنید.


mysku.ru

تنظیمات با استفاده از بسته AmbiBox انجام می شود. لازم است به منوی "نور پس زمینه هوشمند" بروید، یک روش ضبط صفحه و یکی از حالت های عملکرد ارائه شده در برنامه را انتخاب کنید:

  1. پس زمینه استاتیک - هر رنگی را می توان تنظیم کرد، درخشش LED تنظیم می شود.
  2. موسیقی رنگی - نور پس زمینه به موقع با صدای موسیقی چشمک می زند. رنگ نور پس زمینه روی سبز-زرد تنظیم شده است.
  3. پس زمینه پویا - جریان صاف از یک رنگ به رنگ دیگر.
  4. ضبط صفحه حالت اصلی کار است.

در این حالت امکان گرفتن رنگ از فیلم ها و بازی های در حال تماشا وجود دارد. رنگ نور پس‌زمینه با توجه به تصویر روی صفحه تغییر می‌کند که به قسمت‌های بالا، پایین و کنار (هر کدام جداگانه) تقسیم می‌شود.

PaintPack کمی کندتر از همتای رسمی فیلیپس است. اما با در نظر گرفتن تفاوت هزینه و امکان ارتقاء هر دستگاهی، انتخاب بدیهی است.

چند سال پیش یک بررسی عالی در mySKU ارسال شد که پست شد P43YM... نظرات این بررسی نیز عالی هستند - این فقط یک پایگاه دانش عظیم است (بقدری بزرگ که مرورگر به سختی می تواند این صفحه را بارگیری کند). زمان می گذرد، کامپوننت ها ارزان تر می شوند، mySKU مخاطب جدیدی پیدا می کند که ممکن است این بررسی را از دست داده باشد. من همچنین تصمیم گرفتم روند ایجاد نور پس‌زمینه تطبیقی ​​برای تلویزیون یا مانیتور مانند Philips Ambilight را به زبان خودم شرح دهم. شاید بررسی من برای کسی مفید باشد.

فیلیپس در سال 2007 یک فناوری فوق‌العاده ساده اما بدون اغراق را به ثبت رساند. با این نور پس‌زمینه تطبیقی، خستگی چشم‌ها هنگام مشاهده در تاریکی کاهش می‌یابد، اثر حضور افزایش می‌یابد، ناحیه نمایش بزرگ می‌شود، و غیره. Ambilight نه تنها برای محتوای ویدیویی و عکس، بلکه برای بازی‌ها نیز قابل استفاده است. Ambilight به ویژگی بارز تلویزیون های فیلیپس تبدیل شده است. از آن زمان، فیلیپس به شدت مراقب بوده است تا هیچ یک از تولیدکنندگان بزرگ جرأت نکنند با ایجاد چنین چیزی به مقدسات دست درازی کنند. احتمالاً این فناوری می تواند مجوز داشته باشد، اما شرایط ظالمانه است و سایر بازیگران بازار تمایل خاصی به این کار ندارند. شرکت‌های کوچک نیز سعی کردند (و اکنون شرکت‌هایی هستند که چنین می‌کنند) فناوری مشابه را در قالب کیت‌های جداگانه معرفی کنند، اما خودروی فیلیپس اجتناب‌ناپذیر بود. بنابراین، در بهترین حالت، اگر شرکت به نحوی حق ثبت اختراع یا مشتقات آن را تمدید نکند، سایر تولیدکنندگان تنها می‌توانند چیزی مشابه را در سال 2027 منتشر کنند.

اما برای ما، مصرف کنندگان عادی، این مجازات اعمال نمی شود. ما برای خود مختار هستیم که آنچه را که لازم می دانیم انجام دهیم. امروز به طور مفصل به شما خواهم گفت که چگونه یک نور پس زمینه تطبیقی ​​برای تلویزیون یا مانیتوری مانند Philips Ambilight (از این پس به سادگی Ambilight) بسازید. برای برخی، مقاله به خودی خود حاوی چیز جدیدی نخواهد بود، tk. ده ها پروژه از این دست وجود دارد و صدها مقاله به زبان های مختلف نوشته شده است و هزاران نفر هستند که قبلاً این کار را برای خود انجام داده اند. اما برای بسیاری، همه اینها می تواند بسیار جالب باشد. شما به مهارت خاصی نیاز ندارید. فقط دانش پایه فیزیک برای پایه هشتم دبیرستان. خوب، و مقدار زیادی لحیم کاری سیم.

برای اینکه بهتر متوجه شوید من در مورد چه چیزی صحبت می کنم، مثال خود را از آنچه اتفاق افتاده است می زنم. هزینه واقعی تلویزیون 42 "حدود 1000 روبل و 2 ساعت کار است.



این ویدئو تمام حس ها و تاثیر را به طور کامل منتقل نمی کند، اما بچه ها برای اولین بار با دهان باز نشستند.

گزینه های اجرایی احتمالی

چندین گزینه برای پیاده سازی Ambilight وجود دارد. آنها به منبع سیگنال ویدیویی بستگی دارند.

ارزان‌ترین، ساده‌ترین و مؤثرترین گزینه منبع سیگنال رایانه شخصی ویندوز، Mac OS X یا لینوکس است. امروزه جعبه های مبتنی بر ویندوز در پردازنده های Atom بسیار رایج هستند که قیمت آنها از 70 دلار می باشد. همه آنها برای اجرای Ambilight عالی هستند. چندین سال است که از جعبه های مختلف ویندوز (در یک کابینت تلویزیون) به عنوان پخش کننده رسانه استفاده می کنم، تعداد انگشت شماری نقد نوشتم و آنها را بهترین تی وی باکس برای محتوای رسانه ای می دانم. اجرای سخت افزاری این گزینه برای تمامی سیستم عامل های لیست شده یکسان است. در مورد این گزینه است که در مقاله در مورد آن صحبت خواهم کرد... بخش نرم افزار مربوط به سیستم ویندوز خواهد بود، AmbiBox به عنوان یک برنامه کنترل جهانی عمل خواهد کرد. با Mac OS X و Linux می توان استفاده کرد.

گزینه دوم - منبع سیگنال یک پیوست رسانه مبتنی بر Android است که تعداد زیادی از آن نیز وجود دارد. این گزینه مشکل سازترین است. اول، برجسته سازی فقط در ترکیب رسانه Kodi (و شاخه های آن پروژه) کار می کند. ثانیا، در اکثریت قریب به اتفاق موارد، همه چیز فقط با رمزگشایی ویدیوی سخت افزاری غیرفعال کار می کند، که برای اکثر جعبه ها غیرقابل قبول است. اجرای سخت افزاری پروژه نیز الزامات خاصی را تحمیل می کند. من به آن دست نمی زنم، اما اگر موردی خاص است، سعی می کنم در نظرات پاسخ دهم.

گزینه سوم یک راه حل مستقل از منبع است. این گران ترین، اما راه حل کاملاً جهانی است. سیگنال مستقیماً از کابل HDMI گرفته می شود. برای آن، به یک میکروکامپیوتر به اندازه کافی قدرتمند (مانند رزبری پای)، شکاف دهنده HDMI (شکاف)، مبدل HDMI-RCA AV، دستگاه ضبط ویدیوی آنالوگ USB 2.0 نیاز دارید. فقط با این گزینه می توان تضمین کرد که از Ambilight با هر تلویزیون / گیرنده، باکس اندروید، اپل تی وی، کنسول های بازی (مثلا ایکس باکس وان، پلی استیشن 4) و غیره که دارای خروجی HDMI هستند، استفاده کنید. برای نوع با پشتیبانی از 1080p60، هزینه قطعات (بدون نوار LED) حدود 70 دلار خواهد بود، با پشتیبانی از 2160p60 - حدود 100 دلار. این گزینه بسیار جالب است، اما باید یک مقاله جداگانه در مورد آن بنویسید.

بخش سخت افزاری

برای پیاده سازی، به سه جزء اصلی نیاز دارید: یک نوار LED قابل کنترل RGB، یک منبع تغذیه، یک میکرو کامپیوتر آردوینو.

ابتدا چند توضیح.

WS2811 یک کنترلر / درایور کانال سه کاناله (IC) برای LED های RGB با کنترل یک سیم (قابل نشان دادن به یک LED دلخواه) است. WS2812B یک LED RGB در بسته SMD 5050 است که قبلاً یک کنترلر WS2811 داخلی دارد.

نوارهای LED مناسب برای پروژه برای سادگی WS2811 یا WS2812B نامیده می شوند.

نوار WS2812B نواری است که LED های WS2812B به صورت سری روی آن قرار می گیرند. نوار با ولتاژ 5 ولت کار می کند. نوارهایی با تراکم LED های مختلف وجود دارد. معمولاً اینها عبارتند از: 144، 90، 74، 60، 30 در هر متر. درجات مختلف حفاظت وجود دارد. اغلب این موارد عبارتند از: IP20-30 (محافظت در برابر نفوذ ذرات جامد)، IP65 (محافظت در برابر گرد و غبار و جت های آب)، IP67 (محافظت در برابر گرد و غبار و محافظت در هنگام غوطه ور شدن جزئی یا کوتاه مدت در آب تا عمق 1 متری). ). بستر سیاه و سفید.

در اینجا نمونه ای از چنین نواری آورده شده است:


نوار WS2811 نواری است که کنترلر WS2811 و نوعی RGB LED به صورت سری روی آن قرار گرفته است. گزینه هایی برای 5 ولت و 12 ولت وجود دارد. چگالی و حفاظت مشابه گزینه قبلی است.

در اینجا نمونه ای از چنین نواری آورده شده است:


همچنین مانند عکس زیر "نوارهای" WS2811 با LED های بزرگ و قدرتمند وجود دارد. آنها همچنین برای اجرای Ambilight برای برخی از پانل های بزرگ مناسب هستند.


کدام نوار را انتخاب کنیم، WS2812B و WS2811؟

یک عامل مهم تغذیه نوار است که کمی بعد در مورد آن صحبت خواهم کرد.

اگر یک منبع تغذیه مناسب در خانه دارید (اغلب منابع تغذیه از تجهیزات قدیمی یا آسیب دیده در خانه باقی می مانند)، سپس یک نوار را بر اساس ولتاژ منبع تغذیه انتخاب کنید. 5 ولت - WS2812B، 12 ولت - WS2811. در این صورت شما به سادگی در پول خود صرفه جویی خواهید کرد.

به تنهایی می توانم توصیه ای ارائه کنم. اگر تعداد کل LED ها در سیستم بیش از 120 نباشد، WS2812B. اگر بیش از 120 باشد، WS2811 با ولتاژ کاری 12 ولت. چرا اینطور است، وقتی نوبت به اتصال نوار به منبع تغذیه می رسد، متوجه خواهید شد.

چه سطحی از محافظ نوار را انتخاب کنم؟

برای اکثر افراد، IP65 مناسب است، زیرا در یک طرف آن با "سیلیکون" (رزین اپوکسی) پوشیده شده است و در طرف دیگر یک سطح خود چسب 3M وجود دارد. نصب این نوار روی تلویزیون یا مانیتور راحت است و برای پاک کردن گرد و غبار راحت است.

کدام چگالی LED را انتخاب کنیم؟

برای پروژه، نوارهایی با تراکم 30 تا 60 ال ای دی در متر مناسب است (البته 144 امکان پذیر است، هیچکس منع نمی کند). هر چه چگالی بیشتر باشد، وضوح Ambilight (تعداد مناطق) بیشتر و حداکثر روشنایی کلی بالاتر است. اما باید در نظر داشت که هرچه تعداد LED های پروژه بیشتر باشد، مدار برق نوار پیچیده تر خواهد شد و به منبع تغذیه قوی تری نیاز خواهد بود. حداکثر تعداد LED در یک پروژه 300 عدد می باشد.

خرید نوار

اگر تلویزیون یا مانیتور شما روی دیوار آویزان است و هر 4 طرف آن فضای خالی زیادی در کنار هم دارند، بهتر است نوار در پشت اطراف محیط از هر 4 طرف برای حداکثر تأثیر قرار گیرد. اگر تلویزیون یا مانیتور شما روی پایه نصب شده است یا فضای خالی کافی در پایین وجود ندارد، باید نوار را از 3 طرف در پشت قرار دهید (یعنی پایین بدون چسب).

برای خودم یک نوار سفید WS2812B IP65 با 30 LED در هر متر انتخاب کردم. من قبلا یک منبع تغذیه مناسب 5 ولت داشتم. من تصمیم گرفتم که 60 یا 30 LED در هر متر باشد، اما دومی را پس از بررسی ویدیو با نمونه های آماده اجرا انتخاب کردم - روشنایی و وضوح برای من مناسب است، و قدرت سازماندهی آسان تر است، سیم های کمتری وجود دارد. تعداد زیادی نوار WS2812B در Aliexpress وجود دارد. من 5 متر را به قیمت 16 دلار سفارش دادم. برای تلویزیون من (42 اینچ، 3 طرف) فقط 2 متر نیاز داشتم، یعنی می توانم آن را با 10 دلار بخرم، سه متر باقی مانده را برای یک دوست. قیمت ها اغلب از فروشندگان تغییر می کند، پیشنهادات زیادی وجود دارد، بنابراین فقط یک مقدار ارزان در Aliexpress با رتبه بالا (کلمات کلیدی جستجو - WS2812B IP65 یا WS2811 12V IP65).




خرید منبع تغذیه برای نوار

واحد منبع تغذیه با توجه به توان و ولتاژ انتخاب می شود. برای WS2812B - ولتاژ 5 ولت. برای WS2811 - 5 یا 12 ولت. حداکثر مصرف برق یک LED WS2812B 0.3 وات است. برای WS2811، در بیشتر موارد یکسان است. آن ها قدرت منبع تغذیه باید حداقل N * 0.3 W باشد که N تعداد LED های پروژه است.

به عنوان مثال، شما یک تلویزیون 42 اینچی دارید، روی یک نوار WS2812B با 30 LED در هر متر نصب کرده اید، به 3 متر نوار در هر 4 طرف نیاز دارید. به یک منبع تغذیه 5 ولت با حداکثر توان 0.3 * 30 نیاز دارید. * 3 = 27 وات، یعنی 5 ولت / 6 A. در اجرای من، فقط از 3 طرف استفاده می شود، در مجموع 60 LED (به طور دقیق، 57) - قدرت از 18 وات، یعنی 5 V / 4 A.

من یک شارژر USB چند پورت ORICO CSA-5U (8 A) را برای مدت طولانی در حالت آماده به کار دارم که از بررسی قدیمی باقی مانده است. منبع تغذیه پورت ها موازی با آن است (این بسیار مهم است)، این شارژر برای من به عنوان یک منبع تغذیه ایده آل است، زیرا من نوار را از طریق 2 اتصال موازی وصل می کنم (توضیحات کمی بعد در مقاله خواهد بود).


اگر این حافظه را نداشتم انتخاب می کردم (ولی در کامنت ها می نویسند که اغلب 2.5 A داخل آن قرار می دهند، پس بهتر است این موضوع را با جزئیات بیشتری مطالعه کنید).

خرید میکرو کامپیوتر

Ambilight توسط میکرو کامپیوتر آردوینو کنترل خواهد شد. Arduino Nano در Aliexpress تقریباً هر قطعه هزینه دارد.

هزینه های نسخه من (برای TV 42"):

10 دلار - 2 متر WS2812B IP65 (30 LED در هر متر)
4 دلار - منبع تغذیه 5 ولت / 4 آمپر (من برای PSU پول خرج نکردم، هزینه را برای وضوح نقل می کنم)
2.5 دلار - آردوینو نانو
-----------
16,5$ یا 1000 روبل

پیاده سازی سخت افزار

مهمترین چیز این است که تغذیه نوار را به درستی سازماندهی کنید. نوار طولانی است، ولتاژ در جریان بالا به خصوص در 5 ولت کاهش می یابد. بیشتر مشکلاتی که برای کسانی که خود Ambilight را می سازند به وجود می آید، به منبع تغذیه متصل می شود. من از قانون استفاده می کنم - شما باید برای هر 10 وات حداکثر مصرف برق در 5 ولت و 25 وات مصرف برق در 12 ولت یک منبع تغذیه جداگانه بسازید. طول منبع تغذیه (از منبع تغذیه تا خود نوار) باید حداقل باشد (بدون حاشیه)، به خصوص در 5 ولت.

نمودار کلی اتصال به شرح زیر است (نمودار اتصال برق نسخه من را نشان می دهد):


برق از هر دو طرف به نوار تامین می شود - دو اتصال موازی. به عنوان مثال، اگر من نور پس‌زمینه را در هر 4 طرف ایجاد کنم و نوار آن 60 LED در هر متر باشد (یعنی حداکثر توان 54 وات است)، منبع تغذیه زیر را می‌سازم:


سیم های تغذیه باید مناسب استفاده شوند، هر چه گیج (AWG) کوچکتر باشد، بهتر است، به طوری که برای قدرت جریان محاسبه شده بیش از اندازه کافی باشد.

دو پین از روی نوار به آردوینو می رود. GND که باید به پین ​​مربوطه در آردوینو متصل شود. و DATA که باید از طریق یک مقاومت 300-550 اهم (ترجیحاً 470 اهم) به پایه ششم دیجیتال متصل شود. اگر مقاومت ندارید، در بیشتر موارد همه چیز بدون آن خوب کار می کند، اما بهتر است یکی داشته باشید. در هر فروشگاه رادیویی می توان یک مقاومت را با چند کوپک خریداری کرد. خود میکرو رایانه آردوینو را می توان در هر مورد مناسب قرار داد، بسیاری از تخم مرغ شگفت انگیز Kinder برای این کار استفاده می کنند. آردوینو باید تا حد امکان نزدیک به نوار قرار گیرد تا لیدهای DATA تا حد امکان کوتاه باشند.

لحیم کاری سیم به نوار ساده است. قانون اصلی این است که زمان تماس با آهن لحیم کاری حداقل باشد.

در مورد من اینطور شد:



دو کابل USB با کیفیت بالا برای برق و یک کابل سفید برای اتصال به کامپیوتر استفاده شد. لوله هیت شرینک سفید من تمام شد، از قرمز استفاده کردم. خیلی "زیبا" نیست، اما برای من مناسب است (هنوز پشت تلویزیون پنهان است).

یک سوال مهم این است که چگونه نوار را در زوایای قائم خم کنیم؟ اگر یک نوار LED 60 دارید، باید نوار را برش دهید و با سیم های کوتاه وصل کنید (با قرار دادن همه اینها در یک لوله هیت شرینک). می توانید کانکتورهای زاویه دار مخصوص سه پین ​​را برای نوارهای LED خریداری کنید (مثلاً 4 پین در تصویر وجود دارد):


اگر یک نوار 30 ال ای دی دارید، پس فاصله بین ال ای دی ها زیاد است، می توانید به راحتی یک گوشه بدون برش ایجاد کنید. یک تکه از پوشش "سیلیکون" را بردارید، پد تماس را جدا کنید (حتی می توانید از "نوار" استفاده کنید) و آن را طبق طرح زیر خم کنید:

برای تمرین یک تکه نوار بریدم. نکته اصلی این است که زیاده روی نکنید - آنها یک بار کمی خم شدند و تمام. لازم نیست اینجا و آنجا خم شوید، نیازی نیست که خط خم را به شدت فشار دهید.


در اینجا نمای پشت تلویزیون است، تمام سیم ها از طریق سوراخ به داخل کابینت می روند:

بخش نرم افزاری

این ساده ترین است.

میکروکامپیوتر آردوینو را از طریق USB وصل می کنیم. درایور (رابط سریال CH340) به طور خودکار نصب می شود. اگر این اتفاق نیفتاد، پس در پوشه Arduino IDE یک پوشه Drivers با هر چیزی که نیاز دارید وجود دارد.

Arduino IDE را اجرا کنید و فایل Adalight.ino را باز کنید.


تعداد LED ها را در کد تغییر می دهیم. من 57 دارم


ابزار> برد> آردوینو نانو
ابزار > پورت > پورت COM را انتخاب کنید (گزینه مورد نظر وجود خواهد داشت)

دکمه "دانلود" را فشار دهید:


این برنامه پس از اتمام دانلود به شما اطلاع می دهد (این به معنای واقعی کلمه چند ثانیه است).

آماده. باید آردوینو را از USB جدا کرده و دوباره وصل کنید. روبان به صورت متوالی به رنگ های قرمز، سبز و آبی روشن می شود - آردوینو فعال شده و آماده کار است.

برنامه را دانلود و نصب کنید. در برنامه، روی "تنظیمات بیشتر" کلیک کنید و دستگاه - Adalight، پورت COM و تعداد LED ها را مشخص کنید. تعداد فریم های مورد نظر را انتخاب کنید (تا 60).


سپس روی Show Capture Zones > Zone Configuration Wizard کلیک کنید. پیکربندی روبان خود را انتخاب کنید.


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


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

اساساً همین است. نتیجه را در ابتدای مقاله مشاهده کردید. هیچ چیز پیچیده، ارزان و عالی نیست. من مطمئن هستم که شما می توانید بهتر انجام دهید!

من قصد دارم +435 بخرم افزودن به علاقه مندی ها من نقد را دوست داشتم +270 +577

عصر بخیر.

برای اولین مقاله خود، یکی از موفق ترین صنایع دستی خود را انتخاب کردم: آنالوگ HDMI-passthrough Ambilight از فیلیپس، از این پس این ترکیب را "Atmosvet" می نامم.

معرفی
در اینترنت، در صورت نمایش تصویر از رایانه شخصی، یافتن راه حل ها و مقالات آماده / منبع باز در مورد نحوه ساخت Ambilight برای مانیتور / تلویزیون بسیار دشوار نیست. اما در سیستم چندرسانه‌ای من، نمایش تصویر روی تلویزیون از رایانه شخصی فقط 5 درصد از زمان استفاده را می‌گیرد، من زمان بیشتری را از کنسول‌های بازی بازی می‌کنم، به این معنی که باید چیزی از خودم بیاورم.
اطلاعات اولیه:
  • 60 "تلویزیون پلاسما
  • HTPC بر اساس Asrock Vision 3D 137B
  • ایکس باکس 360
اکثر دستگاه ها از HDCP برای پخش محتوا حتی در حین پخش استفاده می کنند.
نیاز:
ارائه پشتیبانی متمرکز از Atmosvet برای همه دستگاه های متصل به تلویزیون ضروری است.
پیاده سازی
من به شما نمی گویم که چگونه نوار LED 4.5 متری را به تلویزیون وصل کردم و با آردوینو چه کاری باید انجام دهید، می توانید از آن به عنوان پایه استفاده کنید.

تنها اخطار:
متوجه شدم که سوسو زدن های عجیبی در پایین صفحه وجود دارد، ابتدا در سیگنال اشتباه کردم، دفلیکر را دوباره انتخاب کردم، اندازه عکس را تغییر دادم و خیلی چیزها را حفر کردم، بهتر شد، اما سوسو زدن کمک نکرد. شروع به مشاهده کردم. معلوم شد که سوسو فقط در انتهای نوار و سپس در صحنه های روشن بود. با گرفتن مولتی متر، ولتاژ را در ابتدا، وسط و انتهای نوار اندازه گرفتم و علت سوسو زدن را حدس زدم: در ابتدای نوار 4.9 ولت بود (بله، منبع تغذیه چینی ولتاژی با یک ولتاژ می دهد. انحراف، این مهم نیست)، در وسط 4.5 در پایان 4.22 - افت ولتاژ بسیار قابل توجه است، من مجبور شدم مشکل را به سادگی حل کنم - تا وسط نوار برق را از منبع تغذیه آوردم، قرار دادم سیم پشت تلویزیون فورا کمک کرد، هر سوسو زدن به کلی متوقف شد.

گرفتن عکس با وب کم
اولین نسخه آزمایشی برای اجرای ایده و تجسم آن با گرفتن یک تصویر از طریق وب کم انتخاب شد) چیزی شبیه به این بود:

رندر رنگی کم و تأخیر زیاد نشان داد که این پیاده سازی به هیچ وجه قابل استفاده نیست.

گرفتن عکس از طریق HDMI

در فرآیند تحقیق گزینه های ممکن، طرح زیر به عنوان قابل اعتمادترین و بودجه انتخاب شد:

  • سیگنال از همه دستگاه ها به یک سوئیچ HDMI 5 اینچی که از HDCP پشتیبانی می کند، تغذیه می شود
  • سیگنال خروجی به یک تقسیم کننده HDMI 1 در 2 خروجی تغذیه می شود که نه تنها از HDCP پشتیبانی می کند، بنابراین آن را در خروجی نیز خاموش کنید (با تشکر از چینی ها).
  • یکی از سیگنال های خروجی به تلویزیون می رود
  • سیگنال خروجی دیگر به مبدل HDMI به AV می رود
  • سیگنال S-Video از ICONBIT به جعبه ضبط می رود
  • جعبه ضبط به HTCP همیشه در حال اجرا از طریق USB متصل می شود، که به کنترلر نوار آردوینو در تلویزیون متصل است.

در ابتدا وحشی و شبیه عصا به نظر می رسد، اما:

  • کار می کند.
  • خلاصه همه چیز، سفارش از چین، برای من 3-4 هزار روبل هزینه داشت.

چرا از برد ضبط HDMI استفاده نکردم؟ این ساده است: ارزان ترین و مقرون به صرفه ترین گزینه Blackmagic Intensity Shuttle است، اما نمی تواند با سیگنال های 1080p / 60fps کار کند، فقط 1080p / 30fps - که قابل قبول نیست، زیرا من نمی خواستم نرخ فریم را پایین بیاورم تا بتوانم عکس بگیرم. + این تجارت حدود 10 هزار هزینه دارد. روبل - که ارزان نیست اگر نتیجه ناشناخته باشد.

ضرر تبدیل HDMI به S-video برای گرفتن رنگ در وضوح نور پس زمینه LED 46x26 ناچیز است.

در ابتدا، برای گرفتن S-video، از EasyCap استفاده کردم (تنوعات چینی زیادی دارد)، اما نکته اصلی این است که تراشه مورد استفاده در آنجا بسیار ضعیف است و نمی توانید با استفاده از openCV با آن کار کنید.

تنها ایراد آن این است که سیگنال خروجی S-Video دارای نوارهای سیاه در لبه ها بود و محتوای واقعی را قطع می کرد (حدود 2-5٪). در آن مناطق در عمل تأثیری بر نتیجه نداشت.

نرم افزار
این جالب ترین بخش برای من بود، زیرا من خیلی دوست ندارم با تکه های آهن به اطراف بچرخند.

برای گرفتن تصویر، از openCV و به‌ویژه از .NET wrapper emgu CV استفاده کردم.

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

پردازش قاب
1. دریافت یک قاب گرفته شده
2. قاب را برش دهید تا نوارهای سیاه حذف شود
همه چیز در اینجا ساده است:
frame.ROI = مستطیل جدید (8، 8، فریم. عرض - 8، قاب. ارتفاع - 18 - 8).
8 پیکسل از بالا، 8 پیکسل از سمت راست و 18 پیکسل از پایین را برش دهید. (بدون نوار در سمت چپ)
3. اندازه قاب را به وضوح نور پس زمینه تغییر دهید، نیازی نیست که ما یک عکس سالم با خود حمل کنیم
هیچ چیز پیچیده ای هم نیست، ما آن را با استفاده از ابزار openCV انجام می دهیم:
frame.Resize (LedWidth - 2 * LedSideOverEdge,
LedHeight - LedBottomOverEdge - LedTopOverEdge،
INTER.CV_INTER_LINEAR)؛
خواننده با دقت متوجه فراوانی متغیرها خواهد شد. واقعیت این است که قاب تلویزیون من به اندازه کافی بزرگ است و 1 ال ای دی در طرفین، 1 ال ای دی در بالا و 3 ال ای دی در پایین اشغال می کند، بنابراین تغییر اندازه روی ال ای دی هایی که دقیقا مقابل نمایشگر قرار دارند انجام می شود و بعداً گوشه ها را تکمیل می کنیم. هنگام تغییر اندازه، ما فقط رنگ های متوسطی را که پیکسل های LED باید داشته باشند، دریافت می کنیم.
4. ما نقشه برداری از LED ها را از قاب برش انجام می دهیم
خوب، اینجا نیز همه چیز ساده است، ما احمقانه از هر طرف عبور می کنیم و به طور متوالی آرایه ای از 136 مقدار را با رنگ LED ها پر می کنیم. این اتفاق افتاد که در حال حاضر، انجام تمام عملیات های دیگر با مجموعه ای از LED ها آسان تر از یک قاب است، که پردازش آن دشوارتر است. همچنین برای آینده، پارامتر "عمق" عکس را اضافه کردم (تعداد پیکسل ها از حاشیه صفحه، تا میانگین رنگ LED)، اما در تنظیمات نهایی، بدون آن بهتر بود.
5. اصلاح رنگ (تعادل سفیدی / تعادل رنگ) را انجام دهید
دیوارهای پشت تلویزیون از چوب ساخته شده است، چوب زرد است، بنابراین باید زردی را جبران کنید.
var blue = 255.0f / (255.0f + blueLevelFloat) * pixelBuffer [k];
var green = 255.0f / (255.0f + greenLevelFloat) * pixelBuffer;
var red = 255.0f / (255.0f + redLevelFloat) * pixelBuffer;
به طور کلی، من ابتدا تعادل رنگ را از کد منبع برخی از ویرایشگرهای منبع باز گرفتم، اما سفید تغییر نکرد (سفید سفید باقی ماند)، فرمول ها را کمی تغییر دادم، خودم را مهر و موم کردم و آنچه را که نیاز داشتم مستقیماً دریافت کردم: اگر سطح مولفه رنگ منفی است (من توضیح خواهم داد که چگونه - این رنگ وجود ندارد)، سپس شدت آن را اضافه می کنیم و بالعکس. برای دیوارهای من جواب داد: RGB (-30.5.85).

در تصحیح رنگ، من همچنین با کم کردن 13 از هر جزء، تراز سیاه را انجام می دهم (سیاه در RGB حدود 13،13،13 است).

6. غیراشباع کردن (کاهش اشباع تصویر)
در تنظیمات نهایی، من از desaturation استفاده نمی‌کنم، اما ممکن است زمانی لازم باشد، در واقع، رنگ‌ها را مانند ambilight فیلیپس «پاستیل‌تر» می‌کند. من کد را نمی دهم، فقط از RGB -> HSL تبدیل می کنیم، مؤلفه Saturation را کاهش می دهیم و به RGB برمی گردیم.
7. دفلیکر
اتفاقاً تصویر ورودی "تقوع" می کند - همانطور که من تصور می کنم این نتیجه تبدیل به سیگنال آنالوگ است. ابتدا سعی کردم آن را به روش خودم حل کنم، سپس به کد منبع فیلتر Defliker مورد استفاده در VirtualDub نگاه کردم، آن را در C # بازنویسی کردم (در C ++ بود)، متوجه شدم که کار نمی کند، زیرا کار نمی کند، زیرا این تصور به حدی است که با سوسو زدن بین فریم ها مبارزه می کند، در نهایت من راه حل خود را ترکیب کردم و این defliker چیز عجیبی دریافت کرد، اما بهتر از حد انتظار کار می کند. دفلیکر اولیه فقط با شدت کل قاب کار می کرد، من به هر LED جداگانه نیاز دارم. دفلایکر اصلی تغییر شدت را به صورت مجموع مقایسه کرد، من مقایسه طول بردار رنگ را بیشتر دوست دارم، دفلایکر اصلی دلتای تغییر شدت را نسبت به فریم قبلی مقایسه کرد، این مناسب نیست، و دوباره آن را انجام دادم. آن را به مقدار متوسط ​​شدت در پنجره فریم های قبلی می رساند. و بسیاری چیزهای کوچک دیگر که در نتیجه مقدار کمی از منحرف کننده اولیه باقی می ماند.
ایده اصلی: بر اساس شدت متوسط ​​فریم‌های قبلی، اگر شدت فریم فعلی از حد معینی بیشتر نباشد، تغییر دهید (من این آستانه را در تنظیم نهایی 25 دارم)، اگر از آستانه فراتر رفت، پنجره تنظیم مجدد، بدون تغییر
کمی تغییر داده شده (برای خوانایی خارج از زمینه) کد deflicker من:
Array.Copy (_leds، _ledsOld، _leds.Length)؛ برای (var i = 0; i< _leds.Length; i++) { double lumSum = 0; // Calculate the luminance of the current led. lumSum += _leds[i].R*_leds[i].R; lumSum += _leds[i].G*_leds[i].G; lumSum += _leds[i].B*_leds[i].B; lumSum = Math.Sqrt(lumSum); // Do led processing var avgLum = 0.0; for (var j = 0; j < LedLumWindow; j++) { avgLum += _lumData; } var avg = avgLum/LedLumWindow; var ledChange = false; if (_strengthcutoff < 256 && _lumData != 256 && Math.Abs((int) lumSum - avg) >= _strengthcutoff) (_lumData = 256; ledChange = true;) // محاسبه ضریب تنظیم برای led فعلی. مقیاس var = 1.0; int r, g, b; if (ledChange) (برای (var j = 0; j< LedLumWindow; j++) { _lumData = (int) lumSum; } } else { for (var j = 0; j < LedLumWindow - 1; j++) { _lumData = _lumData; } _lumData = (int) lumSum; if (lumSum >0) (مقیاس = 1.0f / ((میانگین + مجموع مجموع) / 2)؛ var filt = 0.0f؛ برای (var j = 0؛ j< LedLumWindow; j++) { filt += (float) _lumData/LedLumWindow; } scale *= filt; } // Adjust the current Led. r = _leds[i].R; g = _leds[i].G; b = _leds[i].B; // save source values var sr = r; var sg = g; var sb = b; var max = r; if (g >حداکثر) حداکثر = g; اگر (b> max) max = b; دو s; اگر (مقیاس * حداکثر> 255) s = 255.0 / حداکثر؛ else s = مقیاس; r = (int) (s * r); g = (int) (s * g); b = (int) (s * b); // حفظ هایلایت double k; if (sr> _lv) (k = (sr - _lv) / (دوبل) (255 - _lv)؛ r = (int) ((k * sr) + ((1.0 - k) * r))؛) اگر ( sg> _lv) (k = (sg - _lv) / (دوبل) (255 - _lv)؛ g = (int) ((k * sg) + ((1.0 - k) * g))؛) اگر (sb> _lv) (k = (sb - _lv) / (دوبل) (255 - _lv)؛ b = (int) ((k * sb) + ((1.0 - k) * b))؛) _leds [i] = رنگ .FromArgb (r, g, b); ) / * فاز نرم شدن زمانی. * / if (ledChange || _softening == 0) ادامه دهید. var diffR = Math.Abs ​​(_leds [i] .R - _ledsOld [i] .R); var diffG = Math.Abs ​​(_leds [i] .G - _ledsOld [i] .G); var diffB = Math.Abs ​​(_leds [i] .B - _ledsOld [i] .B); r = _leds [i] R; g = _leds [i] .G; b = _leds [i] .B; int sum; اگر (diffR< _softening) { if (diffR >(_نرم کردن >> 1)) (جمع = _leds [i] .R + _leds [i] .R + _ledsOld [i] .R؛ r = مجموع / 3;)) اگر (diffG< _softening) { if (diffG >(_softening >> 1)) (sum = _leds [i] .G + _leds [i] .G + _ledsOld [i] .G؛ g = مجموع / 3;)) اگر (diffB< _softening) { if (diffB >(_softening >> 1)) (sum = _leds [i] .B + _leds [i] .B + _ledsOld [i] .B؛ b = sum / 3;)) _leds [i] = Color.FromArgb (r, g، b)؛ )
اجازه دهید _led ها آرایه ای از LED های کلاس Color باشند، _ledsOld - مقادیر فریم قبل از تبدیل، LedLumWindow - عرض پنجره فریم های قبلی، برای تخمین میانگین تغییر شدت، در تنظیمات نهایی من یک پنجره 100 داشتم. ، که برابر با 3 ثانیه با سرعت 30 فریم در ثانیه است. _lumData - آرایه ای از مقدار شدت فریم های قبلی.

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

8. صاف کردن ال ای دی ها توسط همسایگان.
در کل در ست آپ نهایی خیلی از anti-aliasing خوشم نیومد و خاموشش کردم ولی در بعضی موارد میتونه به درد بخوره. در اینجا ما صرفاً میانگین رنگ هر LED را نسبت به همسایگان خود محاسبه می کنیم.
var smothDiameter = 2 * _smoothRadius + 1; Array.Copy (_leds، _ledsOld، _leds.Length)؛ برای (var i = 0; i< _ledsOld.Length; i++) { var r = 0; var g = 0; var b = 0; for (var rad = -_smoothRadius; rad <= _smoothRadius; rad++) { var pos = i + rad; if (pos < 0) { pos = _ledsOld.Length + pos; } else if (pos >_ledsOld.Length - 1) (pos = pos - _ledsOld.Length;) r + = _ledsOld.R; g + = _ledsOld.G; b + = _ledsOld.B; ) _leds [i] = Color.FromArgb (r / smothDiameter, g / smothDiameter, b / smothDiameter); )
9. وضعیت فعلی را ذخیره کنید تا نخ ارسال کننده بسته را بگیرد و به کنترل کننده نور پس زمینه بفرستد.
من عمداً روند پردازش فریم ها و ارسال بسته ها را به کنترل کننده تقسیم کردم: بسته ها یک بار در یک بازه زمانی خاص ارسال می شوند (برای من 40 میلی ثانیه است) به طوری که آردوینو برای پردازش قبلی آواز می خواند، زیرا اغلب بیش از 30 میلی ثانیه خفه می شود. بنابراین معلوم می شود که ما مستقیماً به ضبط نرخ فریم وابسته نیستیم و در این فرآیند دخالت نمی کنیم (و ارسال یک بسته نیز اتلاف زمان است).
کمی در مورد آردوینو
شما نمی توانید فقط یک بسته سنگین را برای آردوینو در این سری بگیرید و بفرستید، زیرا از بافر پیش فرض HardwareSerial فراتر رفته و پایان آن را از دست خواهید داد.
راه حل بسیار ساده است: ما اندازه بافر HardwareSerial را به اندازه کافی تنظیم می کنیم تا کل بسته ارسالی را با آرایه ای از رنگ ها متناسب کند، برای من 410 است.
UI
خود نرم افزار به عنوان یک سرویس win پیاده سازی شد، به منظور پیکربندی تمام پارامترها + فعال / غیرفعال کردن، یک رابط کاربری وب ایجاد کردم که از طریق WebService در سرویس به سرویس متصل شد. رابط نهایی روی صفحه موبایل به این صورت است:
نتیجه
در نتیجه، نتیجه تمام انتظارات را برآورده کرد و اکنون با بازی روی کنسول‌ها حتی بیشتر در فضای بازی غوطه ور می‌شوم.

به عنوان یک نتیجه کلی از کار، من یک ویدیو با کار اتمسفر طبق طرح خود ضبط کردم:

موضوع آزمایش 1: حاشیه اقیانوس آرام، صحنه نبرد شانگهای، این فیلم برای آزمایش و نمایش خوب است، بسیاری از صحنه ها و فلاش های روشن، برخورد رعد و برق و غیره.

نمونه آزمایشی 2: چند ویدیو از MLP، ادغام شده از YouTube، برای آزمایش صحنه های با رنگ های روشن (من از راه راه ها خوشم آمد) و همچنین تغییر سریع صحنه ها (در انتهای نما، می توانید جلوه های آن را مشاهده کنید) بسیار مناسب است. تاخیر، فقط در ویدیو قابل مشاهده است، زمانی که این در مشاهده واقعی قابل توجه نیست، سعی کردم تاخیر را از ویدیو اندازه گیری کنم - 10-20 میلی ثانیه بود):

و در نهایت، در مورد مصرف منابع از HTPC قابل ذکر است:
HTPC من دارای ASRock Vision 3D در i3 هستم، سرویس اتمسفر 5-10٪ CPU و 32MB RAM مصرف می کند.

با تشکر از توجه شما، من واقعا امیدوارم که مقاله من به کسی کمک کند.

مقالات مرتبط برتر