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
Автор поста оценил этот комментарий

Привет @CableGuy, у меня проблема такая... цвета не совпадают вообще и ведут себя хаотично. было у тебя такое? или может знаешь что-нибудь почему может быть такое?

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

А направление ленты пробовал в программе менять? У меня сначала не правильное стояло, потому казалось что не работает. Можно еще попробовать корректировать цвет. Ну и лучше всего проверять на черно-белом видео, правильно ли работает

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

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

даже на подергивание мыши он реагирует меняя цвет...

вот пример

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

А подключение к ардуино точно правильное? CK (Зеленый) к 13 и SI (Синий) к 11. Подпись проводов можно увидеть на лампочке. Расцветки просто бывают разные

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

скорее ты хотел сказать Белый, вместо синего?) Красный и синий это плюс и минус, остальные у меня не подписаны, да и подавал на белый с зеленым тоже 5В никакой реакции.

скорей всего Ардуино или скетч не правильно у меня стоит... или может потому что Uno вместо Nano стоит у меня... просто идей больше нету, кроме как ждать Нано и использовать её уже вместо моей

P.S. при каждом движении мышки, Ардуино RX, т.е. оправляет сигнал на контроллер, так должно быть?

P.S.S. спасибо большое что откликнулся) извини если достаю)) и если еще идеи будут приходить, подсказывай, всё попробую!

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

Да, имел ввиду белый
Скетч должен пойти как и на Uno так и на Nano. А когда ты включаешь подсветку, у тебя оно горит сначала тремя цветами, красный, зеленый и синий? Если скетч правильно работает, так должно быть

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

да, при запуске все именно так! потом светит белым и начинает рандомить при каких либо цветах

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

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

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

Блин, у меня точно такая же проблема! трир аза мигает RGB, а потом ну почти хаотично, цвета инвертируются два раза из трех, на третий правильные. Смотрел это тестовому видео https://www.youtube.com/watch?v=sr_vL2anfXA Если решил проблему, то скажи как

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

у тебя какая arduino? я просто использовал не микро а Uno оригинал, грешу пока на неё и жду когда придет с китая Микро

раскрыть ветку (6)
1
Автор поста оценил этот комментарий
У меня nano китайская. Протестил и понял, что если выставить только пять диодов, то они работают исправно, а больше пяти уже лажа начинается. При выставление статического цвета, например, красного. Диоды начинают странно работать, иногда действительно красный, а иногда вырубет видимо один из каналов и начинает показывать, то зеленый, то синий. Такие вот дела.
раскрыть ветку (5)
0
Автор поста оценил этот комментарий

тоже самое и у меня происходит. Ещё заметил, что цвет в статике меняется тогда, когда происходит движение мышкой, как это взаимосвязано- не понимаю 

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

Да так же, но это наверное объясняется перерисовкой экрана просто

1
Автор поста оценил этот комментарий
У кого будут проблемы с цветами или будут мерцать диоды, то удалите в конце скетча эти строки: hold = 100 + (32 - bytesBuffered) * 10;
mode = MODE_HOLD и будет вам счастье. Кстати у меня задержки вообще нет. Автор попробуй и ты удали эти строки, может поможет.

Придя домой и написав тебе комментарий, зацепился взглядов за эти строчки и это реально помогло! теперь диоды правильно отображают всё!

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

вот буквально 10 минут назад тоже полез и нашел этот комментарий! сейчас только проверяю)

Все заработало))) Спасибо тебе!!)

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

у тебя светят они без задержек?

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку