126

Как я свой эмбилайт делал

Всем привет.

Астрологи объявили пятницу. Количество постов с тегом "моё" увеличилось втрое. 

А значит пришел черед и мне поделиться своей самоделкой. Для лл и тех, кому лениво читать пост о том, как я это всё делал, выкладываю видео с результатом в начале поста

А историю для заинтересовавшихся я начну издалека. Давным давно, в далекой -далекой  галактике наткнулся я в свое время на такую флешку: 0x40 Hues   (не для эпилептиков) . Её простота и эффектность настолько меня поразили, что я бросился ваять свои "loops",  дабы приступы эпилепсии настигли даже здоровых . Здесь я попробовал собрать в кучу то, что у меня на данный момент получилось. 

Но вскоре этого мне показалось мало,  ибо организм окреп и вставлять перестало, и поэтому было решено: гулять так гулять.


Были закуплены три литра темной бархатной разливнухи и пакет рыбки, остальное всё было найдено в закромах. У меня было 3 полевых транзистра IRFZ44N, 3 резистора на 110 Ом, ардуина, блок питания на 12В и целое множество проводков всех сортов и расцветок,  резисторов и трехцветных светодиодов 5050, заботливо напаянных китайцами на ленту, а также два вечера времени и безлимитный интернет. Не то чтобы это был необходимый запас для того, чтобы занять себя в выходной. Но если начал что-то ваять, становится трудно остановиться.

И я наваял. 

Как я свой эмбилайт делал Светомузыка, Эмбилайт, Arduino, Своими руками, Видео, Гифка, Длиннопост

RGB-лента была приклеена к монитору и подключена к ардуине по этой, с вашего позволения, недосхеме:

Как я свой эмбилайт делал Светомузыка, Эмбилайт, Arduino, Своими руками, Видео, Гифка, Длиннопост

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

Как я свой эмбилайт делал Светомузыка, Эмбилайт, Arduino, Своими руками, Видео, Гифка, Длиннопост

На самом деле нажатий клавиш было меньше, чем могло бы быть, ибо писалась (в широком понимании этого слова: с переменными, библиотеками, операторами и т.п.) только прошивка для ардуины. Что же касается компьютера, то тяжелую IDE, вроде RAD Studio, качать и ставить было влом, а в доступности двух кликов у меня всегда имеется простая легковесная среда визуального программирования HiASM, в которой я периодически набрасываю простые утилитарные программки, которые нужны здесь и сейчас. 

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

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

Как я свой эмбилайт делал Светомузыка, Эмбилайт, Arduino, Своими руками, Видео, Гифка, Длиннопост

Как выяснилось в процессе (само собой, именно тогда, когда большая часть всего уже сделана), софт отрабатывал цвета неправильно. Из-за этого трип хоть и получался, но был неконтролируемым, что мне совершенно не подходило. 

Как я свой эмбилайт делал Светомузыка, Эмбилайт, Arduino, Своими руками, Видео, Гифка, Длиннопост

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

Как я свой эмбилайт делал Светомузыка, Эмбилайт, Arduino, Своими руками, Видео, Гифка, Длиннопост

На следующий вечер, заправившись чаем и печеньками (воскресенье ведь - завтра на работу), наконец-то нашел косяк и заставил софт завестись, а поэтому его можно протестировать во всех мыслимых и немыслимых композициях

Как я свой эмбилайт делал Светомузыка, Эмбилайт, Arduino, Своими руками, Видео, Гифка, Длиннопост

Хотя до окончания разработки еще далеко - неплохо было бы подправить вывод некоторых цветов, и добавить считывание нескольких точек, дабы наверняка попадать в цвет, может еще пару режимов в прошивку ардуины добавить, вроде простой цветомузыки и режима гирлянды - результатом я остался доволен. Довольны (и несколько удивлены) оказались и разработчики 0x40 Hues, которым я написал, когда почти всё было готово, и которые оказали неоценимую помощь в доработке прошивки. Финальный результат можно увидеть на видео в начале поста, а здесь же просто оставлю ссылку на исходники - вдруг найдется еще один извращенец, который захочет это повторить. 

Исходники этого безобразия можно найти здесь

Спасибо всем, кто дочитал до этого момента. С вами был NosefU. 

Открыт для вопросов и предложений здесь в комментариях, а также в лс Вконтакте


P.S. знающие люди, подскажите, на чем будет просто, дешево и сердито реализовать USB <> UART, с учетом того, что хочется организовать описанное в посте добро в законченное устройство, а возможности (да и желания) травить свою плату нет никакой (приходится обходиться самыми простыми макетками и МГТФом).

Вы смотрите срез комментариев. Показать все
10
Автор поста оценил этот комментарий

Но ведь это не цветомузыка, а Ambient Light, и даже проект так назван. :)

раскрыть ветку (8)
0
Автор поста оценил этот комментарий
Ну, эмбилайт, я думаю, поймут меньше людей, чем светомузыка. Хотя да, вы правы)
раскрыть ветку (7)
1
Автор поста оценил этот комментарий

Под цветомузыкой обычно понимается какая-то реакция на музыку (например, частотный анализ и зажигание диодов при наличии "низов", "середины", "верхов").


А по этому проекту интереснее, наверное, даже не ардуинная часть, которая служит просто драйвером для светодиодов, а десктопная - на которой основная часть кода и крутится.

раскрыть ветку (1)
Автор поста оценил этот комментарий
Тоже на самом деле ничего интересного. GetPixel, несколько преобразований для правильного отображения и передачи цвета, немного оптимизации, чтобы не каждый проход в порт плеваться, да и в общем-то все. Чуть позже добиваться фильтрация нескольких точек, и автозамена некоторых цветов в целях подстройки цвета. Самое интересное в прошивке ардуины - это массив, используемый для линеризации яркости свечения диодов
0
Автор поста оценил этот комментарий

Не знаю, как с тобой связаться поэтому решил сюда написать. Я решил фотошоп с нуля освоить( ПРЯМ С НУЛЯ )-форумы почитал и пришёл к выводу, что оптимальной версией является CS5. Можешь подсказать какие-нибудь сайты или каналы на "тытрубе" с обучающими видео. Гугл выдаёт мильён результатов, но хотелось бы для начала спросить у людей с этого портала) Спасибо заранее

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

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

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

Спасибо, большое) учту

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

а блок питания у вас на сколько ампер ? и не будет ли плохо uno от 12в ,а то вроде nano у меня как раз от этого загнулась ....

диоды заказал ,а вместо 5в они привезли на 12в ..вот теперь мучаюсь...думаю как это всё запилить

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

бп у меня на 5А. ардуина запитывается от usb компа, ибо всё равно данные тащатся. если бы было необходимо автономное устройство, то взял бы голый мк (атмега8 например), кварц, да пару кондеров на 22пф, и запитал бы это добро от 12в через кренку (lm7805).
для коммутации 12В как раз и используются полевики (управляем большим током с помощью малого напряжения).
у вас какой бп? или пока только диоды?

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