3472

Как сделать Ambilight своими руками

Спасибо @Fresta, за его пост http://pikabu.ru/story/ambilight_ryo_arduino_3872055, без него бы я не решился сам сделать себе Ambilight подсветку. В этом посте хочу более подробно и понятно описать как сделать данную подсветку. На все про все у меня ушло где-то 18$.


Мы будем делать вот такую штуку:

Как сделать Ambilight своими руками Ambilight, Led, Сделай гразам приятно, Arduino, Видео, Длиннопост


И так, нам понадобится:
- Светодиодные пиксели на микросхемах WS2801. Количество - по желанию. У меня на 24" 25 лампочек. Можно и больше, но как по мне и так очень хорошо.
- Arduino Nano
- Провод USB mini тип B для подключения Arduino
- Провод USB для питания пикселей (подойдет провод старой/поломанной мышки)
- Нейлоновые стяжки (не обязательно, они для удобства и надежности)
- Картон размером с экран, желательно целый, но можно слепить из парочки кусков. Ну или если есть другая тонкая основа, то она сойдет.
- 3 провода-перемычки "дюпон". Но если нету, то можно и без них обойтись.
- Ножницы, линейка, ручка и терпение. 
- ПО для подсветки.


Ссылки ниже - не реклама. Просто примеры того что нам надо.

Начнем с пикселей:
Их я купил на али, вот ссылка: http://ru.aliexpress.com/item/25PCS-WS2801-RGB-Full-Color-Pi...
Вы можете поискать у другого продавца или где подешевле. Тут покупать прям не советую, так как одна лампочка работала не правильно, все цвета насыщала красным оттенком (но это эффект я убрал в программе) и вместо входа "с усиками" который есть на фото, был просто короткий обрубок провода. Но если хотите - можете и у него заказать, в итоге все работает хорошо.

Далее Arduino:
http://ru.aliexpress.com/item/1PCS-Nano-3-0-controller-compa...
Я тут покупал, все нормально работает, но опять же - можете поискать в другом месте, это не важно.

Провод USB mini тип B:
http://ru.aliexpress.com/item/USB-2-0-Male-A-to-Mini-USB-B-5...
Нужен вот такой провод. Проще купить его у себя в магазине техники. Я так и сделал, цена одинаковая, может даже дешевле.

Дюпоны:
http://ru.aliexpress.com/item/40pcs-lot-10cm-2-54mm-1pin-Mal...
Это вот такие штуки. Они надо для подключения пикселей к ардуино, но у меня их не было, я обошелся и без них.

Провод USB для питания можно от мышки оторвать, можно купить новый. Нам надо только один целый вход. Провод питания можно заменить зарядкой от розетки на 5v 2A, но я делал через USB.

Нейлоновые стяжки можно купить в гипермаркете например. Я в Ашане купил.



Когда разобрались с тем что нужно, можно перейти к работе. Сама подсветка в готовом виде выглядит так:

Как сделать Ambilight своими руками Ambilight, Led, Сделай гразам приятно, Arduino, Видео, Длиннопост

Пока к нам идут наши пиксели и ардуино. Можно рассчитать как мы будем крепить все это дело к нашему экрану. Советую сразу установить на компьютер Ambibox, ссылка и описание программы будет ниже. В ее настройках можно сразу настроить какие области экрана будут захватываться, и можно будет проще подобрать как размещать пиксели для вашего экрана. Ну или можно сделать как я - взять линейку, замерить экран и поделить на области.

Любым удобным для вас способом решаем куда будем лепить лампочки, вырезаем картонку и отмечаем места их расположения. Направление лампочек не имеет значение, все равно в настройках программы можно будет поменять.

Дальше ждем лампочки. Когда придут - крепим на картонку без подключения проводов. Тут вроде все просто.


Дальше разбираемся с Arduino. Подключаем его через USB вход, качаем и устанавливаем Arduino IDE:
https://www.arduino.cc/en/Main/Software
После этого заходим в диспетчер устройств (надеюсь знаете как) и в закладке "Порты (COM и LPT) должен появиться USB-SERIAL CH340 в одном из портов.

Как сделать Ambilight своими руками Ambilight, Led, Сделай гразам приятно, Arduino, Видео, Длиннопост

Если же вы, как и я, избранный, и устройство не находит, то качаем отдельно драйвер для него (он и на Windows 7 идет):
http://www.arduined.eu/ch340-windows-8-driver-download/
Дальше открываем "Неопределенное устройство" нажимаем "Обновить драйвер" и выбираем путь к скачанном драйверу.

Определило? Отлично. Достижение "Системный администратор" открыто.

Загружаем на компьютер скетч для подсветки:
https://github.com/adafruit/Adalight/tree/master/Arduino/LED...
Открываем скетч в Arduino IDE. Выбираем "Инструменты" и в вкладке "Порт" выбираем порт к которому подключен ардуино. У меня COM6. Это я так, на всякий. Дальше нажимаем "Загрузка", и программа должна загрузить скетч в Arduino. Тут все должно пройти гладко. Надеюсь. В случае победы, напишет что-то типа "Успешно загружено на устройство".


Arduino готов к подключению. Arduino подключается к пикселям с стороны входа "с усиками". Не забудьте отключить ардуино от USB перед подключением к пикселям.
- Синий провод нужно будет подключить к GND
- Белый (бывает желтого цвета вместо белого) к входу D11
- Зеленый к входу D13
- Красный провод просто изолируем.

Как сделать Ambilight своими руками Ambilight, Led, Сделай гразам приятно, Arduino, Видео, Длиннопост

Если у вас есть дюпоны, подключайте через них, так надежней. Но если их нету, можно сделать как я: берем оголенную часть провода и обматываем вокруг зубочистки или иголки, чтобы сделать такое колечко:

Как сделать Ambilight своими руками Ambilight, Led, Сделай гразам приятно, Arduino, Видео, Длиннопост

Его одеваем (или надеваем?) на нужный нам контакт. Можно для надежности прижать его той же зубочисткой. Смотрите чтобы кольцо прикасалось только к нужному нам контакту. Иначе может быть плохо.
Ардуино должен быть перевернут. Вот как у меня подключен:

Как сделать Ambilight своими руками Ambilight, Led, Сделай гразам приятно, Arduino, Видео, Длиннопост
Далее питание лампочек. Тут все куда проще: нам надо от USB провода красный и черный провода. Зеленый, белый обрезаем и изолируем. Если есть пятый провод, оголенный - его тоже обрезаем и изолируем.
Как сделать Ambilight своими руками Ambilight, Led, Сделай гразам приятно, Arduino, Видео, Длиннопост

- Черный к синему
- Красный к красному
Картиночка:

Как сделать Ambilight своими руками Ambilight, Led, Сделай гразам приятно, Arduino, Видео, Длиннопост


Закрепляем все попрочнее, хорошо изолируем, так спать будет спокойней. Дальше вставляем питание пикселей в USB вход компа. Лампочки уже могут кое-как загореться, или сами включаться\выключатся. А может только одна гореть. Если ничего не дымит, не обращаем внимания.


Большая часть пути пройдена, Довакин.


Качаем программу Ambibox (она бесплатная, но можно подкинуть доната)

http://www.ambibox.ru/ru/index.php/%D0%97%D0%B0%D0%B3%D0%BB%...
Устанавливаем если еще не установили. К ней будет идти программа PlayClaw - ее тоже ставим. Она будет запускать подсветку в играх. Она вроде не бесплатная, но я уже сколько раз нажимаю "Try it" и она запускается нормально, тут не понятно, в общем не важно. Запускаем Ambibox, нажимаем на галочку "Включить подсветку".

Как сделать Ambilight своими руками Ambilight, Led, Сделай гразам приятно, Arduino, Видео, Длиннопост

Снизу жмем "Больше настроек". Красным пометил что нам нужно.
- Метод захвата экрана: если у вас Windows 7 выбираем GDI FS no Aero (Для прозрачных окон надо выбрать GDI FS Aero, но там нагрузка на процессор становится очень высокой, а без прозрачных окон работает незаметно для компа. Если Windows 8 - то выбираем естественно Windows 8. Когда надо будет подсветка для игр - просто меняйте метод захвата на PlayClaw, потом сворачиваете программу и заходите в игру. 

Как сделать Ambilight своими руками Ambilight, Led, Сделай гразам приятно, Arduino, Видео, Длиннопост

- Максимальный FPS желательно ставим максимальным. При низких настройках подсветка может не успевать за экраном.

- Порт ставим тот что у вас в диспетчере устройств.

- Количество зон - это количество лампочек.

- Показать зоны захвата - там настройки захватываемых зон каждой лампочкой, об этом ниже.


Жмем мастер настройки зон:

Как сделать Ambilight своими руками Ambilight, Led, Сделай гразам приятно, Arduino, Видео, Длиннопост

Расставляем зоны так как у нас стоят лампочки. Удлинение можно делать, а можно не делать. Тут по вкусу. Вырез снизу настраивается, направление настраивается (если подсветка работает наоборот, надо просто направление сменить), расположение зон настраивается. Красота.

Дальше лезем в вкладку "Дополнительная настройка зон"

Тут можно менять цвет подсветки, если вам что-то не нравится. Например у меня при белых цветах, подсветка была синеватого цвета, поэтому я подкрутил ниже синий и добавил зеленый, для всех зон разумеется. А та лампочка которая у меня не правильно работала, я только для нее скрутил красный цвет и теперь все ок. Но если вас сразу все устраивает, то можно тут ничего и не крутить.

Как сделать Ambilight своими руками Ambilight, Led, Сделай гразам приятно, Arduino, Видео, Длиннопост

Сохраняем настройки, и наконец, результаты наших стараний в пафосном видео для Ambilight подсветок:

Результаты наших стараний в Mirror's Edge:

Все работает, мы молодцы, мама будет нами гордиться.
Насчет грамматических ошибок - знайте, я безграмотный.
Если вы все прочли, но делать подсветку не собираетесь - вы тоже молодец. И мазохист.
Спасибо за внимание <3
Вы смотрите срез комментариев. Показать все
0
Автор поста оценил этот комментарий

Вопрос к автору, чем WS2801 отличается от WS2811?
Вот что нашел, 50 штук и дороже на 50% всего:
http://ru.aliexpress.com/item/Free-shipping-50pcs-string-12m...

Покопался и увидел, что 2811 выглядят иначе - на ленте присобачены, видимо китайцы как всегда выдают одно за другое.

раскрыть ветку (18)
0
Автор поста оценил этот комментарий

У WS2801 4 провода, т.е. 5V, GND, CK(clock), SD(data). У WS2811 нету провода CK(clock). Читал в интернете, но за достоверность не ручаюсь, что разница в том что в WS2801 можно программировать по отдельности лампочки.

Нет, они выглядят одинаково почти, но есть разные версии пикселей, например как у меня в виде лампочек, или как вы нашли в виде LED ленты. А работают они на одинаковых чипах

раскрыть ветку (17)
0
Автор поста оценил этот комментарий

Чип WS2801 управляется по SPI интерфейсу ( слушает линии Data и Clock). Программная реализация не составляет труда.


Однако чип WS2811 управляется по однопроводному интерфейсу со строгими временными интервалами. Обрыв посылки приводит к применению частично полученных данных. К счастью, в сети уже доступны процедуры для управления лентами на WS2811. Единственно, что нужно понимать - это то, что во время посылки данных, прерывания должны быть запрещены. На одну группу светодиодов уходит:


1.25us * 24bit = 30us


Для 27 зон:


27 * 30us = 810 us

Вот что нарыл )
Но в статье прошивали медиаплеер на андроиде и цепляли к нему, что тоже интересно. 

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

В общем как-то сделать можно, но пока все мутно. Более надежная версия WS2801

Хотя можете попробовать сделать на них, потом запилить пост как сделать на версии 2811, так как это выйдет еще дешевле) 


0
DELETED
Автор поста оценил этот комментарий

@CableGuy, я купил пиксели WS2811, но у меня 4 провода. 2 открытых (красный и белый) и 2 коннекторных (зелёный и белый) для удлинения ленты. В диоде видно '+5V' у красного, 'D1' у зелёного (data) и белые спаяны вместе - это земля. Итого подключаю к красному и белому питание от USB на 5 вольт, это будет питание ленты. А теперь ступорю по подлючению ардуинки (нано). Куда что? D11 как я понял, это Clock. D13 - это дата. Ну и GND понятно. Что и куда мне подключать? Data надо к зелёному, это само собой. Белый я могу кинуть параллельно на белый от питания лампочек по USB. Но что мне тогда делать с D11?


И что интересно, пересмотрел несколько сайтов - где-то говорят, что D13 data, в других местах говорят, что D11... И что верно?)

Иллюстрация к комментарию
Иллюстрация к комментарию
раскрыть ветку (14)
0
DELETED
Автор поста оценил этот комментарий
Update: весь вечер просидел.. Сначала появилась идея, как на mysku - там на графике вообще был подключен только D13 и GND от платы. Лампочки питались от USB, а GND от USB и андруинки соединялись. Т.е. Совсем отключил D11. Итог - ноль. Ардуинка реагирует на активацию подсветки в Ambibox (красная лампочка как будто быстро мерцает), но лампочки играют в молчанку.

Далее присмотрелся к картинке из поста, на который ты ссылался в самом начале. Заметил, что вроде у него там вместо питания от USB идёт подключение D11. Подключил - вуаля, работает. Одна лампочка, первая)) Меняет цвет иногда, но не более. Увидел, что ты писал про смену кабелей. Изменил D11 и D13 местами, эффект почти такой-же, но пиксель горит не так ярко и не так стабильно. Я вот думаю, может ему с другой стороны ленты на красный провод дать 5 вольт от USB? Но ведь с обратной стороны на этом же проводе висит ардуинка с D11 - не убью ли я ничего?)

Иллюстрация к комментарию
раскрыть ветку (13)
0
Автор поста оценил этот комментарий

Тут надо инструкция для WS2811. Зеленый - скорей всего Data, не хватает провода Clock. А два белых - они оба земля.
Можно попробовать по этой инструкции сделать, на 2812b так же 3 провода, должно прокатить:
http://mysku.ru/blog/aliexpress/28820.html

раскрыть ветку (12)
0
DELETED
Автор поста оценил этот комментарий
Спасибо, вечером гляну. Только одно странно: скетч он использует тот же самый, а вот data подключает к D6. По сути, в скетче прописано по каким каналам идёт передача данных и логика говорит, что нужно использовать другой скетч))
раскрыть ветку (11)
0
Автор поста оценил этот комментарий

Вроде скетчи разные, но если что, там в комментариях есть еще один, можно и его попробовать. Автор ссылался на этот скетч в статье 

раскрыть ветку (10)
1
DELETED
Автор поста оценил этот комментарий
Разобрался. Подключал по твоей ссылке, сначала ничего не получалось. Потом подумал, что ошибка где-то ещё. Присмотрелся к надписям контактов в лампочках. Это оказывается не D1, а DI (i = input), в общем подключать надо было с другой стороны ленты - всё заработало. А скетч действительно другой, использовал NeoPixel. Правда иногда некоторые лампочки не совсем те цвета отображают, ну это видимо проблема скетча. Спасибо за подсказку и ссылку :)
раскрыть ветку (9)
1
Автор поста оценил этот комментарий

Может покрутить настройки цвета для отдельных зон в Амбибоксе поможет.
Не за что)

0
Автор поста оценил этот комментарий
Чувак, у меня похожая проблема. Можешь совсем уже на пальцах рассказать, что куда ты подключил и какой именно скетч ты загрузил?

У меня ардуино нано, лента WS2811 на 12 вольт и на 25 диодов.


С одной стороны идут три проводка - 12v и Ground (заземление), еще с этого же конца идет коннектор, который нам не нужен.

С другой стороны идут три проводка 12V, DI и Ground.


Я перепробовал уже миллиард вариантов наверное, лента никак не реагирует вообще (изредка получалось или первую или последнюю лампочку одним цветом гореть и всё).


Прямо сейчас у меня вот так: запитал от блока питания первый конец ленты 12V и заземление GND. Лента ярко светит вся одним белым цветом.

С другого конца DI подключил к пину D6, а GND разумеется на заземление.

И тут вся лента тухнет и никак не реагирует вообще.

Загрузил скетч https://github.com/adafruit/Adafruit_NeoPixel

Там открыл скетч examples\strandtest и поправил маленько настройки под свою ленту согласно подсказкам. Ну и тут я уже не знаю что дальше делать, идей нет совсем.


Спасибо за любую подсказку. В идеале я бы хотел посмотреть фото твоего творения, чтобы лучше понять что куда подключил. Или может дело в скетчах, хз.


У автора поста другая лента и другая схема подключения, поэтому ему сложнее понять нашу проблему) Хотя он и честно пытался помочь, за что отдельное спасибо.

Иллюстрация к комментарию
Иллюстрация к комментарию
Иллюстрация к комментарию
раскрыть ветку (7)
0
DELETED
Автор поста оценил этот комментарий
Пилять... Написал пост на целую страницу, хотел обработать и удалил к хуям....


В общем в этот раз кратко:

- Подключать вход данных с одной стороны, а питание с другого конца ленты не работает! Я испробовал сегодня уже, не пашет.

- Внимательно присмотрись к надписям на чипе диода. Порой кабеля перекручены, что кажется, что это DI, а на самом деле DO. Может быть тебе просто нужно подключить всё с другого конца.

- Ты подключил почти всё правильно, но +12V должно быть тоже с того конца ленты, что и DI. Итого:

12V от USB (или зарядки/БП) к 12V к диодам.

DI в пин D6.

GND от диодов в GND на ардуино И так-же параллельно к GND зарядки/USB питания! Питание тоже должно быть заземлено. Ниже прикреплю картинку, там смотри на черный кабель, остальное не важно для тебя.

Если всё сделал так и не работает, испробуй метод тыка и подключи всё так-же с другого конца ленты (не забудь на этой стороне всё заизолировать).


Скетч Neopixel Adafruit у меня не работает, хз почему. Я брал тот, что в статье на mysku. И ничего там не трогай, кроме как в первой строке количество диодов)

https://yadi.sk/d/1ne7hKfpcpKia


Библиотеку FastLED ты уже, думаю, установил. Кстати, если просит обновление - обнови. Иначе при компиляции скетча может быть ошибка.


Обращайся если что)

Иллюстрация к комментарию
раскрыть ветку (6)
0
Автор поста оценил этот комментарий
Я потихоньку начинаю сомневаться в своих умственных способностях.

Вроде всё подключил верно, а реакции ленты никакой.

Главное ведь пока провода не подключу к ардуино всё ярко светится, только соединю все вместе, лента опять как пленный партизан молчит (вернее светится самый последний диод).

Я сфоткал еще раз, и подписал каждый проводок, посмотри пожалуйста в каком месте что не так. У меня кстати нет провода DO, есть только DI, так что тут не ошибусь. Мне бы разобраться с заземлением и питанием. Скетч я залил по твоей ссылке.

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


PS В этот раз я кстати ковер пропылесосил, а то стыдно стало)) Под компом одни крошки на полу лежат.

Иллюстрация к комментарию
раскрыть ветку (5)
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку