ИТ Форум: DIY Ambilight за монитор

во Вести

Ова е пост на G4M3R оригинално објавен на форумот на ИТ.МК. За повеќе интересна содржина, дискусија и дружење приклучете се на форумот на ИТ.МК.


Знам дека се дискутираше во другата тема, но за овој (целосен) проект мислам заслужува засебна тема во која се содржи целиот материјал за изработка.

Претходен пост каде имав на кратко објаснето за DIY Ambilight.

Сега е направена целосна надградба и сетап со нова ЛЕД лента.

Мониторот од 24″ е заменет со 27″ и оттаму тргна и потребата за оваа надградба.

Лед лентата т.е резолуцијата на амбилајтот сега е со 209 диоди vs минатиот со 47. Претходната ЛЕД лента беше со 30 диоди на метар, новата е со 144.

Адекватно на ова заменето е и претходното напојување со ново, далеку помоќно.

Зголемен baudrate од 115к на 500к. За ова ќе објаснам подолу зошто беше потребно.


Оригиналниот проект и сите елементи се тука > Making an ‘Ambilight’ with WS2812B LEDs and Adalight: Proof of Concept – Parts Not Included

Архива со шема, код, и потребниот софтвер може да го симнете од тука.

Сите делови ги имам набавено од ибеј, освен адаптерот кој веќе го имав.
Лентата е оваа, која чинеше $17 за 2м – 5V WS2812B 5050 RGB LED Strip 1m-5m 30 60 144 150 300 Led Individual Addressable | eBay
И обично ардуино нано од $3 – 1pcs Nano V3.0 ATmega328P 5V 16M USB Micro-controller Board for Arduino | eBay

Друго од алат што би ви требало е леткум, калај, бланкерки, и резерва дуплофан.

Во идеални услови ова е еден ден работа, и не е ништо комплицирано за изработка, а добивате многу. За отприлика 1000-1500денари може да си направите амбилајт неколку кратно подобар од готовите решенија. Да не збориме за резолуцијата со лед и флексибилноста да си изберете лента како ви одговара.

Поврзувањето и шематскиот приказ се доста прости. Две конекции се до ардуиното едно кон заедничкото заземјување и едно кон лентата. Адаптерот е потребен само за лед лентата, ардуиното си останува приклучено преку USB кабелот и од него се напојува.

Кај лентата се три пинови – плус, минус, и Din – Data In. Кај што има засек кај некои ленти истиот пин е бележан со Dout – Data Out.

Да се внимава само со насоката на лед лентата, бидејќи диодите се адресабилни мора да се запази редот при спојките кај ќошевите. Секоја лента има со стрелка обележано во која насока да се поврзува.

Пример:

Пациентите :)


Споредба претходната лента со новата
Тука, јас барем, со креп трака ги придржувам лентите додека помине целиот процес со сечење и лемење.

Е сега за лемењето има две варијанти. Една е да ги прилепите диодите па да лемите директ на монитор, што не го препорачувам ако немате многу искуство во лемење. Дека еден грешен потег и може да стопите пластика на мониторот. Другата варијанта е посебно на страна да залемите па да ја вратите лентата, и така да одите крај по крај.

Во мојот случај јас лемев директно, со подлога колку да не лета калај

Веќе залемено и залепено
Иницијален dry-run дали работи во ред. Од ова по задолжителен чекор здравје, немој да залепите па после да искочи дека има ладен лем или некоја лента е наопаку.
View: https://imgur.com/a/OxDZTDL

Пред да ја залепам лентата, го извадив оригиналниот дуплофан од неа и го заменив со друг. Кој, барем сега за сега ми личи океј. Ардуиното е залепено со ептен малку силикон/течна пластика.

Е сега е софтверот на ред. Пред да го испрограмирате ардуиното ќе треба да измените неколку параметри во кодот.

  • Во кодот, во зависност од тоа колку лед има целиот амбилајт ќе треба да ја измените вредноста кај Num_Leds.
  • Ако исто е поврзана лед лентата на пин 6 од ардуиното, нема потреба да се менува кај Led_Pin.
  • Трето е baudrate-от т.е кај SerialSpeed за старт ставете 115200, па понатака преку тестирање ќе ја зголемите вредноста доколку има потреба.
C++:
// --- General Settings
static const uint16_t
Num_Leds   =  209;        // strip length
static const uint8_t
Led_Pin    =  6,         // Arduino data output pin
Brightness =  255;       // maximum brightness

// --- FastLED Setings
#define LED_TYPE     WS2812B // led strip type for FastLED
#define COLOR_ORDER  GRB     // color order for bitbang

// --- Serial Settings
static const unsigned long
SerialSpeed    = 500000; // serial port speed
static const uint16_t
SerialTimeout  = 150;    // time before LEDs are shut off if no data (in seconds)

За baudrate-от да објаснам во случај некој слично да се нафати да прави со 200лед. Просто речено е колку повисок baudrate толку поголем проток на податоци т.е повеќе ЛЕД и поголем рефреш рејт.

Е сега овие ардуина од ибеј бидејќи се копии а и самиот лимит на конвертерот кој го имаат не дозволува превисока вредност.
Во моето тестирање, повеќе од 500.000 и ардуиното не работеше воопшто… или пак „забегуваше“ и диодите на лентата се палеа рандом.

На оваа тематика многу добро има објаснето истиот автор на оригиналниот туторијал, може да прочитате повеќе на линков https://www.partsnotincluded.com/calculating-adalight-framerate-limits/

Пример за 209 лед како овој сетап, а со default-ен baudrate од 115200 максимум фрејмрејт што ќе можев да добијам е 16FPS. Оттаму со тестирање стигнав до 500.000, што веќе доаѓаме до по задоволителна бројка од 50тина FPS.

Да резимирам, при тест baudrate-от ќе треба да го менувате на две места и мора да е со иста вредност. Во кодот за ардуиното објаснето погоре, и при самиот сетап за амбилајтот во Prismatik.

Prismatik е софтверот кој се инсталира на компјутерот и се поврзува со ардуиното. Тој е задолжен да прави “capture” на боите по краевите од екранот, и тие податоци да ги препраќа на ардуиното.
За овој проект јас(а и по оригиналниот натпис) користам unofficial верзија која има многу повеќе опции и додатоци во неа. psieg/Lightpack

Сетапот е лесен.
Во Device > Run Configuration Wizard, внесувате на која COM порта е поврзано ардуиното, baud rate, бирате како да се наместени capture зоните, калибрирате, и толку.

Понатака опциите ќе ги штелувате по вкус.

Тоа е тоа :).

Што имате прашања слободно прашајте или пишете ми.

Јас не можам да се изначудам колку топ излезе. Поготово огромниот скок со бројот на диоди направи страшна разлика, така да би ви препорачал ако ви е во план да изработувате да не штедите кај лед лентата.

Неколку бонус видеа, но секако во живо е миљон пати подобро. Преку камера не се доловува ефектот како што треба.

Добивај известувања
Извести ме за
guest
0 Коментари
Inline Feedbacks
View all comments