Гля­дя на ком­наты девушек, иног­да неволь­но завиду­ешь: почему у пар­ней не может быть так же кра­сиво? Думаю, рабочее мес­то не обя­зано выг­лядеть, как гараж, так что я решил перес­тать ныть и сде­лать свое рабочее мес­то чуточ­ку уют­нее. А что нуж­но для уюта в пер­вую оче­редь? Пра­виль­но, под­свет­ка!

Ме­ня всег­да завора­жива­ла под­свет­ка вро­де Philips Ambilight. Она буд­то рас­ширя­ет кар­тинку и соз­дает осо­бый эффект пог­ружения. А еще с под­свет­кой силь­но мень­ше уста­ют гла­за, чем ког­да работа­ешь в пол­ной тем­ноте.

Ambilight
Ambilight

Тем не менее нес­коль­ко лет я вос­при­нимал это все­го лишь как при­коль­ную игрушку. Пару раз даже искал недоро­гие решения, но все готовые изде­лия име­ли раз­ные проб­лемы и в основном пред­назна­чались для телеви­зоров с внеш­ним пле­ером и боль­шими диаго­наля­ми, а не для отно­ситель­но ком­пак­тных монито­ров с нес­тандар­тной кон­фигура­цией под­свет­ки.

Популярный комплект для телевизоров
По­пуляр­ный ком­плект для телеви­зоров

На скрин­шоте выше — при­мер одной из самых популяр­ных готовых под­све­ток. Тут вид­но сра­зу нес­коль­ко проб­лем:

  1. Зах­ват кар­тинки с экра­на камерой — тех­нология весь­ма неточ­ная, да и сам рог у монито­ра смот­рится так себе. Осо­бен­но если монито­ра два.
  2. Пи­тает­ся все от USB — это огра­ничи­вает мощ­ность самой под­свет­ки до чуть менее чем 5 Вт в пике. Пло­щадь стан­дар­тно­го 65-дюй­мового телеви­зора, для которо­го такая под­свет­ка пред­назна­чена, сос­тавля­ет око­ло 1,2 м2, что при сред­ней мощ­ности лен­ты в 60% даст осве­щен­ность поряд­ка 95 Кд/м2. Это на самом деле очень неболь­шая яркость, и даже она вряд ли дос­тижима, пос­коль­ку китай­ские еди­ницы изме­рения зна­читель­но отли­чают­ся от общепри­нятых.
  3. Уп­равле­ние с телефо­на надо­ест очень быс­тро, если поль­зовать­ся каж­дый день, а син­хро­низа­ция с компь­юте­ром не пре­дус­мотре­на.
  4. За­явленная плот­ность лен­ты — 30 диодов на метр. Это при­емле­мо для телеви­зоров с боль­шой диаго­налью, но никуда не годит­ся в слу­чае компь­ютер­ных монито­ров с боль­шим раз­решени­ем и малень­ким рас­сто­янием до зри­теля. Для рав­номер­ной зас­ветки нуж­на более плот­ная лен­та.

Для исправ­ления проб­лемы номер 1 (и кос­венно 3) соз­даны лен­ты с под­клю­чени­ем в раз­рыв вхо­да HDMI. Для монито­ра это нам­ного луч­ше, но про HDR и высокую час­тоту обновле­ния при­дет­ся забыть. Мои монито­ры вооб­ще исполь­зуют DisplayPort и 165 Гц, которые про­пих­нуть через HDMI не пред­став­ляет­ся воз­можным, так что такое готовое решение тоже отпа­ло.

Даль­нейшие поис­ки при­вели к про­екту Lightpack. Он реша­ет проб­лему зах­вата кар­тинки прог­рам­мным спо­собом: на самом компь­юте­ре кру­тит­ся прог­рамма, которая зах­ватыва­ет экран, счи­тает цвет каж­дого пик­селя и выда­ет готовые коман­ды по USB. Вот оно, решение!

Из минусов: про­ект заб­рошен две­над­цать лет назад и в про­даже его не най­ти. Тем не менее кое‑что полез­ное отту­да вытянуть все же получи­лось: прог­рамма Prismatik — это готовое решение для зах­вата кар­тинки, которое под­держи­вает раз­ные про­токо­лы свя­зи с кон­трол­лером лен­ты и име­ет кучу нас­тро­ек, вклю­чая удоб­ный мас­тер зон под­свет­ки. То, что надо!

Скриншот главного окна Prismatik
Скрин­шот глав­ного окна Prismatik

www

На самом деле сущес­тву­ет более новая прог­рамма HyperHDR, которая уме­ет зах­ватывать HDR-кар­тинку и тоже под­держи­вает про­токол Adalight. Хоть мои монито­ры и под­держи­вают HDR, я его не исполь­зую, так что в HyperHDR у меня нуж­ды нет и пореко­мен­довать его я не могу. Тем не менее, по слу­хам, софт впол­не дос­той­ный и для HDR-монито­ров может быть очень полезен.

Для свя­зи я выб­рал про­токол Adalight: он прост как пал­ка, под­держи­вает­ся Prismatik и лег­ко реали­зует­ся на прак­тичес­ки под­ножных мик­рокон­трол­лерах. В запасах валялась видав­шая вся­кое отла­доч­ная пла­та ESP32-WROOM (которой я ампу­тиро­вал ноги — уже не пом­ню, зачем имен­но), ее и будем исполь­зовать. Исто­рия заказов «Али­экс­прес­са» под­ска­зала, что куп­лена она в свое вре­мя была за три дол­лара, — будет не жал­ко!

Безногая плата с ESP32
Без­ногая пла­та с ESP32

Те­перь лен­та. Что­бы зоны под­свет­ки были незави­симы­ми, лен­та понадо­бит­ся не абы какая, а адресная. Такая лен­та сос­тоит из адресных све­тоди­одов, объ­еди­нен­ных в пос­ледова­тель­ную цепоч­ку. Каж­дый такой све­тоди­од име­ет четыре кон­такта: VDD, GND, DIN (DATA_IN) и DOUT (DATA_OUT), где DOUT соеди­няет­ся с DIN сле­дующе­го све­тоди­ода в цепоч­ке.

Схема адресной ленты
Схе­ма адресной лен­ты

Са­мые ходовые адресные диоды — WS2812, име­ющие три малень­ких све­тоди­ода для отдель­ных цве­тов (крас­ный, зеленый и синий) и сов­сем уж мел­кий крис­талл кон­трол­лера пря­мо внут­ри одно­го кор­пуса.

Как работают адресные ленты

Каж­дый све­тоди­од видит прос­то поток дан­ных — у све­тоди­одов нет сво­их иден­тифика­торов. Что­бы опре­делить, ког­да перек­лючать­ся, он смот­рит на задер­жку. Если с момен­та получе­ния пос­ледней пор­ции дан­ных прош­ло боль­ше некото­рого вре­мени, сле­дующий при­шед­ший фрейм он будет счи­тать сво­им, если нет — передаст даль­ше.

Кон­трол­лер выда­ет коман­ды пач­ками, а в каж­дой пач­ке скле­ены дан­ные пос­ледова­тель­ного бло­ка све­тоди­одов. Пер­вый све­тоди­од отку­сит свою часть, вто­рой — свою и так далее, то есть по мере прод­вижения по цепоч­ке све­тоди­одов каж­дая посыл­ка умень­шает­ся. Но это нак­ладыва­ет огра­ниче­ние на мак­сималь­ную дли­ну лен­ты, ведь если лен­та будет слиш­ком длин­ная, выдер­жать нуж­ную паузу меж­ду посыл­ками уже не получит­ся.

Ки­тай­цы собира­ют из таких лен­ты любой жела­емой кон­фигура­ции: хоть по плот­ности, хоть по нап­ряжению питания, хоть по цве­ту под­ложки. И сто­ит резуль­тат недоро­го: за три мет­ра лен­ты для сво­ей под­свет­ки я отдал все­го око­ло 20 дол­ларов, вклю­чая дос­тавку и налоги. Ког­да будешь покупать себе — про­веряй плот­ность (у меня это 96 диодов на метр), цвет (обыч­но монито­ры чер­ные, так что я тоже взял чер­ную) и нап­ряжение питания (я взял на 12 В — ниже объ­ясню).

Еще один параметр — пок­рытие. Есть обыч­ные лен­ты, где све­тоди­оды прос­то напа­яны на лен­ту, а есть с вла­гоза­щитой. На них есть рав­номер­ное и глад­кое фаб­ричное пок­рытие из проз­рачно­го силико­на, которое защитит лен­ту от пыли и поз­волит про­тирать монитор с такой под­свет­кой влаж­ной тряп­кой без рис­ка что‑то сор­вать или закоро­тить. Да и смот­рится куда менее кол­хозно!

Дли­ну лен­ты я подоб­рал экспе­римен­таль­но: прос­то при­ложил кусок лен­ты такой же плот­ности к спи­не монито­ра и пос­читал, сколь­ко све­тоди­одов понадо­бит­ся с уче­том полей око­ло 2 см с каж­дой сто­роны. У меня получи­лось по 142 диода на каж­дый монитор: 54 ввер­ху, 34 сбо­ку и 54 вни­зу. Вто­рой бок соз­натель­но не пок­рыт: монито­ры сто­ят рядом вплот­ную, под­свет­ки за ними прос­то не будет вид­но, а там бы ока­залось целых два кус­ка лен­ты. Так что я про­шел по внеш­нему перимет­ру все­го пря­моуголь­ника двух монито­ров.

С основны­ми деталя­ми разоб­рались, теперь вспо­мога­тель­ные.

Лен­ту нуж­но чем‑то питать, а в чис­ле минусов фаб­ричных изде­лий я уже отме­чал питание от USB. Что­бы не пов­торять оши­бок китай­цев, питание я взял с 12-воль­товой шины компь­ютер­ного БП через оставший­ся от Molex-раз­ветви­теля порт Molex-F. Это поз­волит не резать род­ные про­вода бло­ка питания, а в слу­чае чего мож­но будет убрать монитор, не откле­ивая под­свет­ку. Бонус — автов­клю­чение под­свет­ки при запус­ке компь­юте­ра.

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии