реклама

светлина на медийния центърАко гледате много филми на вашия компютър или медиен център, сигурен съм, че сте се сблъскали с дилемата на осветлението; изключваш ли напълно всички светлини? Поддържате ли ги на пълен взрив? Или използвате превключвател за затъмняване, за да запазите някъде тъп жълт блясък? Е, не страдайте повече.

За по-малко от 100 долара можете да настроите невероятна осветителна система, която ще отразява какво е на екрана; ако видеото е синя нощна сцена, светлините ще са сини; когато пламъкът от оранжев огън мига, така ще светят и вашите светлини. Добре дошли в света на околното RGB осветление.

елементи

  • RGB светлинна лента - това е 5-метрова лента от RGB светодиоди, която може да се закупи на eBay и да се достави от Хонконг за по-малко от £ 20 всеки. Ако купувате в магазините за електроника, ще плащате от електромера и барабан от 5 м ще струва три или четири пъти повече, така че купувайте онлайн. Този тип LED ленти могат да се променят на всеки цвят, но само всички наведнъж - не могат да бъдат индивидуално регулирани.
  • instagram viewer
  • 12V захранване - необходимата мощност (ампер) зависи от това колко ленти от светодиоди ще свържете. Всеки метър черпи приблизително 0,6 ампера, но това зависи от плътността на вашите светодиоди, така че не забравяйте да проверите вашата конкретна LED лента. 3А би била достатъчна за 5-метровата лента, която свързах по-горе, и отделни източници на захранване могат да бъдат закупени за около 10 паунда, ако не можете да ги намерите на друго място.
  • 3 x MOSFET N транзистори - можеш да намериш по-евтино, но аз купих пакет от 6 (тип STP16NF06FP) за около £ 10. Те се използват за изолиране на тока от Arduino - свързването на лентите директно към Arduino би го запържило с количеството на тока, който теглят. Имате нужда от 1 MOSFET транзистор на LED цветен канал, за червено, зелено и синьо.
  • Arduino Какво е Arduino и какво можете да направите с него?Arduino е забележително малко електронно устройство, но ако никога досега не сте използвали такова, какви точно са те и какво можете да направите с такова? Прочетете още - Не съм включил цената на този артикул, тъй като се предполага, че вече имате такъв и има различни клонинги, които можете да закупите, ако не можете да си позволите официален.

Следователно общият разход е около £40 без да включва Arduino.

Въведение

Проектът се състои от две части. Първо ще създадем основна схема на Arduino, която слуша команди от компютъра и задава RGB светодиодите на подходящ цвят. Второто включва използване на ново приложение, наречено обработване и Java от страна на компютъра - за да разберете какви цветове са в момента на екрана, да ги осредните и да изведете това към порта за серийни комуникации, за да може Arduino да реагира.

Част 1: Верига и Ардуино

Схемата, която използваме е много проста, както можете да видите от диаграмата по-долу. LED лентата трябва да бъде снабдена с мъжки щепсел в единия край, който можете да поставите директно в дъската.

светлина на медийния център

Вашата LED лента може да варира, но ако погледнете внимателно, ще видите 12v, R, G, B написани на релсите някъде. Тези ленти всъщност могат да бъдат нарязани в тези медни точки (на всеки 3 светодиода от тези, които имам), така че ако искате да изрежете лентите от ъглите на вашия телевизор можете спокойно да направите това - не е необходимо да използвате и цели 5 метра, така че може да ви останат малко за бъдеще проект. Свържете положителните 12V директно към външното захранване.

динамично околно осветление

MOSFET имат три пина; порта, източване, и източник. Вратата е като електронния превключвател, който Arduino ще управлява. След това се определя токът, протичащ между източника и изтичането. Изтичането на всеки MOSFET трябва да бъде свързано със земята на Arduino и земята на захранването, докато източникът се свързва към каналите на LED лентата.

динамично околно осветление

Когато завършите веригата, изтеглете и стартирайте това тестов код (първоначално от LadyAda, щифтове модифицирани). Трябва да видите вашата LED лента се завърта през различни цветове.

динамично околно осветление

Част 2: Обработка

Изтегли обработване и бягай. Може да се изненадате, когато изглежда почти точно подобно на средата за развитие на Arduino; това е така, защото средата на Arduino се основава на нея, въпреки че и двете изпълняват различни функции. Вземете този кодпървоначално от Силициева република но силно променени от мен, за да направят настройките за размера на екрана автоматични и с по-добро представяне на цветовете - и отделете момент, за да я погледнете. По принцип използва клас Java, наречен робот да правите заснемане на екрана всеки 10ms; след това избира всеки нечетен пиксел и осреднява общия цвят. Ако ефективността е проблем за вас, увеличете skipValue променлива на 3 или 4, за да пропуснете повече пиксели - общият ефект трябва да е същият, но ще работи по-бързо, тъй като изследва по-малко пиксели. Накрая добавих филтър, който помага за насищане на цвета чрез увеличаване на максималните и намаляване на минималните намерени RGB стойности (без това установих, че цветовете са прекалено бели).

Стартирайте приложението; за първи път вероятно ще получите грешка, когато се опитва да влезе в грешен сериен порт.

динамично околно осветление

Проверете прозореца за отстраняване на грешки за списък на текущите серийни портове и отбележете номера до това, в което е включен вашият Arduino. В моя случай на Mac, USB връзката е порт 4. Променете номера в този ред на правилния порт:

port = нов сериен (това, Serial.list () [4], 9600); // задайте скорост на предаване

Запазване и повторно изпълнение; трябва да видите малък изскачащ прозорец - това представлява средния цвят на всичко на екрана. Стартирайте приложение за рисуване или нещо със силни цветове, за да го тествате, в противен случай вероятно просто ще се покаже мрачен нюанс на сивото. Спрете приложението, когато сте готови да тествате, тъй като се нуждаем от достъп до серийния порт, за да програмираме Arduino.

светлина на медийния център

На последно място, заредете този код на вашия Arduino. Вместо да изпраща произволни цветове към LED лентата, този код чете стойностите от серийния порт (към който се обработва обработката). Това е доста лесно да се разбере, единствената трудна част може да бъде използването на маркер в серийните данни:

ако (Serial.available ()> = 4) { ако (Serial.read () == 0xff) { червен = Serial.read (); зелен = Serial.read (); син = Serial.read (); } }

Това гарантира, че четем правилните стойности на байта - приложението Processing извежда маркер като „точка на прекъсване“ между всеки набор от стойности, така че Arduino да не се синхронизира и да мисли, че зелената стойност е за синьо и т.н.

След като се качи Arduino код (първоначално не трябва да има изход на LED лентата), тогава можете да заредите и стартирате приложението Processing; веднага трябва да видите как вашата атмосфера на светлина работи.

Ето видео демонстрация за това как ми се получи с произволен троен музикален клип.

Какво мислиш?! Макар че не е толкова впечатляващо, колкото нещо, което анализира всяка част от екрана и използва индивидуални LED пиксели, той е много по-евтин и много по-ярък. Единственият недостатък на това е, че всичко трябва да се стартира на компютъра на вашия медиен център - това няма да работи например с редовно излъчване на телевизия или с вашия Xbox 360. Ако имате някакви проблеми, въпроси или предложения, моля, попитайте го; или може би връзка към видеоклип на вашата завършена настройка.

Джеймс има бакалавърска степен по изкуствен интелект и е сертифициран като CompTIA A + и Network +. Той е водещ разработчик на MakeUseOf и прекарва свободното си време, играейки VR пейнтбол и настолни игри. Той изгражда компютри още от дете.