
William Charles
0
4929
486
Если вы смотрите много фильмов на своем ПК или в медиацентре, я уверен, что вы столкнулись с дилеммой освещения; Вы полностью выключили все огни? Вы держите их на полную мощность? Или вы используете диммер, чтобы держать тускло-желтое свечение где-то? Ну не мучайся больше.
Менее чем за 100 долларов вы можете установить удивительную систему освещения, которая будет отражать то, что на экране; если видео - синяя ночная сцена, свет будет синим; когда вспыхнет пламя оранжевого огня, зажгутся и ваши огни. Добро пожаловать в мир RGB освещения..
Компоненты
- Световая полоса RGB - это 5-метровая полоса светодиодов RGB, которую можно купить на eBay и отправить из Гонконга менее чем за £ 20 каждый. Если вы покупаете в магазинах электроники, вы будете платить по счетчику, а стоимость катушки 5 м будет в три-четыре раза больше, так что покупайте онлайн. Эти типы светодиодных лент могут быть изменены на любой цвет, но только все сразу - их нельзя настроить индивидуально.
- Блок питания 12 В - требуемая мощность (ампер) зависит от того, сколько светодиодных полос вы будете подключать. Каждый метр потребляет примерно 0,6 А, но это зависит от плотности ваших светодиодов, поэтому обязательно проверьте вашу конкретную светодиодную ленту. 3А будет достаточно для 5-метровой полосы, которую я подключил выше, и отдельные источники питания можно купить примерно за 10 фунтов стерлингов, если вы не можете найти другой источник.
- 3 x МОП-транзистора N транзисторов - вы можете, вероятно, найти дешевле, но я купил пакет из 6 (тип STP16NF06FP) около 10 фунтов стерлингов. Они используются, чтобы изолировать ток от Arduino - подключение полос непосредственно к Arduino поджарит его с количеством тока, который они потребляют. Вам нужен 1 МОП-транзистор на каждый цветной светодиодный канал, для красного, зеленого и синего.
- Arduino Что такое Arduino и что с этим можно сделать? Что такое Arduino и что с этим можно сделать? Arduino - это замечательное маленькое электронное устройство, но если вы никогда не использовали его раньше, то что же это такое, и что вы можете сделать с ним? - Я не включил стоимость этого предмета, так как предполагается, что он у вас уже есть, и есть множество клонов, которые вы можете купить, если не можете позволить себе официальный..
Таким образом, общая стоимость была около £ 40 не включая Arduino.
Вступление
Проект состоит из двух частей. Сначала мы создадим базовую схему Arduino, которая слушает команды от компьютера и устанавливает светодиоды RGB на соответствующий цвет. Второй включает использование нового приложения под названием Processing и Java на стороне компьютера - чтобы выяснить, какие цвета в настоящее время отображаются на экране, усреднить их и вывести на последовательный порт связи, чтобы Arduino реагировал на них..
Часть 1: Схема и Ардуино
Схема, которую мы используем, очень проста, как вы можете видеть на диаграмме ниже. Светодиодная лента должна поставляться с вилкой на одном конце, которую вы можете поместить прямо в макет.
Ваша светодиодная лента может отличаться, но если вы посмотрите внимательно, вы увидите 12 В, R, G, B написано где то на рельсах. Эти полосы могут быть нарезаны в этих медных точках (каждые 3 светодиода на тех, которые у меня есть), поэтому, если вы хотите разрезать полосы по углам телевизора, вы можете сделать это безопасно - вам тоже не нужно использовать целые 5 метров так что у вас может быть что-то осталось для будущего проекта. Подключите положительный 12 В непосредственно к внешнему источнику питания.
МОП-транзисторы имеют три контакта; Ворота, истощать, а также источник. Ворота похожи на электронный переключатель, которым будет управлять Arduino. Затем он определяет ток, протекающий между истоком и стоком. Сток каждого MOSFET должен быть соединен с землей Arduino и землей источника питания, в то время как источник подключается к каналам светодиодной ленты..
Когда вы закончите кругооборот, загрузите и запустите этот тестовый код (первоначально от LadyAda, измененные контакты). Вы должны увидеть вихревые светодиодные ленты разных цветов.
Часть 2: Обработка
Скачать Обработка и запуск. Вы можете быть удивлены, увидев, что это выглядит почти точно как среда разработки Arduino; это потому, что среда Arduino была основана на нем, хотя они оба выполняют разные функции. Возьмите этот код - Первоначально от Silicon Republic, но я сильно изменил его, чтобы сделать настройки размера экрана автоматическими и с лучшим отображением цвета - и найдите время, чтобы посмотреть на это. В основном он использует класс Java под названием робот сделать снимок экрана каждый 10мс; затем он выбирает каждый нечетный пиксель и усредняет общий цвет. Если для вас важна производительность, увеличьте skipValue переменная 3 или 4, чтобы пропустить больше пикселей - общий эффект должен быть таким же, но он будет работать быстрее, так как он исследует меньше пикселей. Наконец, я добавил фильтр, который помогает насыщать цвет, увеличивая максимум и уменьшая найденные минимальные значения RGB. (без этого я обнаружил, что цвета слишком белые).
Запустите приложение; в первый раз вы, вероятно, получите сообщение об ошибке при попытке доступа к неправильному последовательному порту.
Проверьте в окне отладки список текущих последовательных портов и запишите номер рядом с тем, к чему подключен ваш Arduino. В моем случае на Mac подключение USB - это порт 4. Измените номер в этой строке на правильный порт:
port = new Serial (this, Serial.list () [4], 9600); // установить скорость передачи
Сохранить и перезапустить; Вы должны увидеть маленькое всплывающее окно - оно представляет средний цвет всего на экране. Запустите приложение для рисования или что-нибудь с яркими цветами, чтобы протестировать его, иначе оно, вероятно, просто покажет мутный оттенок серого. Остановите приложение, когда закончите тестирование, так как нам нужен доступ через последовательный порт для программирования Arduino..
Наконец, загрузите этот код на свой Arduino. Вместо того, чтобы посылать случайные цвета на светодиодную ленту, этот код считывает значения из последовательного порта (на который выводится обработка). Это довольно легко понять, единственной трудной частью может быть использование маркера в последовательных данных:
if (Serial.available ()> = 4) if (Serial.read () == 0xff) red = Serial.read (); зеленый = Serial.read (); синий = Serial.read ();
Это гарантирует, что мы читаем правильные значения байтов - приложение для обработки выводит маркер в виде “точка остановки” между каждым набором значений, чтобы Arduino не выходил из синхронизации и думал, что зеленое значение для синего и т. д..
После загрузки кода Arduino (изначально на светодиодной полосе не должно быть выхода), вы можете загрузить и запустить приложение Processing; немедленно вы должны увидеть, как работает окружающий свет.
Вот видео-демонстрация того, как у меня получилось с каким-то случайным триповым музыкальным видео.
Как вы думаете?! Хотя это не так впечатляюще, как то, что анализирует каждую часть экрана и использует отдельные светодиодные пиксели, оно намного дешевле и ярче. Единственным недостатком этого является то, что все должно выполняться на вашем компьютере медиа-центра - это не будет работать с обычным ТВ-вещанием или, например, с вашим Xbox 360. Если у вас есть какие-либо проблемы, вопросы или предложения, пожалуйста, задавайте их; или, возможно, ссылка на видео вашей завершенной настройки.