Ничего не найдено :(
    В гостях у Самоделкина! » Электроника » Arduino » Ambilight - адаптивная фоновая подсветка для монитора на Arduino

    Ambilight - адаптивная фоновая подсветка для монитора на Arduino


    Приветствую всех. В этой статье предлагаю Вам рассмотреть довольно интересное устройство - Ambilight (сокращение от англ. Ambient Lighting Technology — рус. «Технология Окружающего Освещения»). Целью устройства является уменьшение воспринимаемой яркости дисплея из-за сильного контраста со слабо освещенной областью вокруг него. Это уменьшает напряжение глаз и усталость, возникающую при просмотре яркого дисплея на очень темном фоне в течение продолжительного времени, и увеличивает воспринимаемую глубину и контрастность дисплея. Нечто подобное, именуемое "смещение освещения" уже использовалось в первые дни телевидения в виде специальных светильников, часто изготавливающихся в форме животного, которые устанавливались на телевизорах и проецировали свет на стену позади него. Начиная с 2000-х годов, в светильниках смещения освещения часто используются светодиоды, которые прикрепляются к задней панели плоскопанельных дисплеев и питаются от порта USB или HDMI. Они также могут быть встроены в дисплей. В целом, некоторые телевизоры Philips начиная с 2002 года оснащены встроенным смещением освещения именно под торговой маркой "Ambilight" . Нижние две фотографии хорошо демонстрируют разницу восприятия.




    Подсвечивающие лампы холодного белого цвета с температурой 6500 К соответствуют температуре белого цвета большинства мониторов. Они используются в профессиональных средах редактирования и рекомендуются для максимизации точности воспринимаемого изображения. В "домашнем кинотеатре" рекомендуется использовать смещенное освещение, которое не ярче 10% от яркости самого дисплея и с индексом цветопередачи не менее 90.

    Ambilight - адаптивная фоновая подсветка для монитора на Arduino


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


    ЧАСТЬ 1 - Светодиодная лента WS2812b


    В данном проекте используется RGB светодиодная лента с адресной шиной. Он имеет светодиоды RGB, где RGB обозначает красный, зеленый и синий. Контролируя яркость каждого из этих цветов, мы можем получить любой цвет, за исключением чёрного, который в данном цветовом пространстве является полным отсутствием цветов. С обычной светодиодной лентой RGB необходимо отправлять управляющий сигнал на каждый светодиод и на каждый цвет этого светодиода, чтобы урегулировать ту самую яркость и цвет. Но эта светодиодная лента (WS2812b) имеет встроенный контроллер для каждого светодиода, и имеет собственный уникальный идентификатор для него же.


    Как вы можете видеть ниже, обычная лента имеет три контакта для R, G и B. Адресная светодиодная лента имеет только один управляющий контакт.



    Всё что нужно - лишь отправить цифровой сигнал на контакт данных, и контроллер сам настроит яркость и цвет светодиода в соответствии с полученными данными. Те же данные, которые поступают на первый чип на контакте Din, будут выводиться на выводе Dout и переходить к следующему светодиоду. Таким образом, с помощью всего одного контакта мы можем управлять каждым из светодиодов.




    ЧАСТЬ 2 - WS2812b электрическая схема


    Подключите полосу, как показано ниже. Вывод данных можно произвести с любого цифрового вывода Arduino. В данном случае в скетче прописан контакт D7. Подключите минус питания (GND) светодиодной ленты к контакту GND Arduino, а контакт 5V к внешнему (важно) источнику питания 5V. Почему внешнему, а не к ардуино? Каждый светодиод будет потреблять около 20 мА тока, а вывод Arduino 5V может выдать максимум 400 мА. В случае автора используется 60 светодиодов, поэтому потребляемый ток будет достигать около 1,2 ампера. По этой причине мы и используем внешний источник питания. Автор использовал блок питания 5В постоянного тока при тестах, однако если Ваш ноутбук или компьютер имеет высокотоковый порт USB - можно подключить к нему. Такие порты обычно помечаются пиктограммой в виде молнии, обозначением SS или делаются красного цвета, но за более детальной информацией обращайтесь к спецификациям своего собственного компьютера. При использовании блока питания так же не забудьте соединить землю БП и ардуино. Питание ардуино будет получать от компьютера. Если вы подключите подсветку к настольному ПК, вы можете получить напряжение 5В с достаточной силой тока непосредственно от любого из красных проводов блока питания самого компьютера (красный = 5В, черный = GND).


    Далее необходимо прошить саму плату ардуино. Однако перед этим необходимо установить библиотеку Fast Led. Библиотеку вместе со скетчем Вы найдете в архиве в конце статьи.

    Теперь запустите Arduino IDE и откройте скетч. Как видите, это тестовый код. Начнем именного с него. Установите вывод ардуино, используемый для подключения светодиодной ленты, в данном случае это контакт D7 (#define LED_PIN 7). Задайте количество светодиодов, которое имеет Ваша лента, в данном случае это 60 (#define NUM_LEDS 60). Теперь все, что нам нужно сделать, это выбрать номера светодиодов и задать яркость каждого цвета для красного, зеленого и синего, где 0 - светодиод выключен и 255 - максимальная яркость этого цвета.


    #include
    #define LED_PIN    7
    #define NUM_LEDS    60
    CRGB leds[NUM_LEDS];
    
    void setup() {
    FastLED.addLeds(leds, NUM_LEDS);
    
    }
    void loop() {
    
    leds[0] = CRGB(255, 0, 0);      //Red, green, blue
    FastLED.show();
    delay(1000);
    leds[2] = CRGB(0, 255, 0);
    FastLED.show();
    delay(1000);
    leds[4] = CRGB(0, 0, 255);
    delay(1000);
    }


    Хорошо, как видите, автор включает красный цвет одного светодиода, зеленый другого и синий третьего, а затем выключает их. Загрузите код в ардуино и проверьте. Работает? Вот так с помощью только одного контакта мы можем контролировать любое количество светодиодов. Можно переходить к самому проекту. Автор решил добавить AMBILIGHT к своему ноутбуку. Так как на рабочем настольном компьютере такая подсветка у него уже есть.




    ЧАСТЬ 3 - Сборка


    Первое, что нужно сделать, это измерить и равномерно расположить светодиодную ленту вокруг задней части экрана. В случае автора есть полоска из 60 светодиодов, поэтому он разместил 21 вдоль верхней стороны экрана и по 14 вдоль боковых. Ещё по 5 светодиодов автор разместил по краям нижней стороны. У полосы уже есть клеящая основа, поэтому просто снимите защитную полосу и приклейте ленту. Убедитесь, что вы следите за стрелками на светодиодном индикаторе и не ставите назад. Так же обратите внимание, что на ленте есть стрелки указывающие направление ленты от первого её светодиода до последнего, не путайте направление и соединяйте ленту согласно этой стрелке.




    Теперь необходимо соединить ленту на углах между каждой линией светодиодов. Когда все отрезки соединены, ввод данных со светодиодной ленты припаивается к цифровому выводу D7 Arduino NANO, а земля к земле.



    Ноутбук автора имеет тот самый SS USB с током до 1,5 А поэтому поскольку питание USB подключено напрямую к выводу 5В светодиодной ленты, автор не будет использовать внешний источник питания. Если Вы не имеете порта USB SS, убедитесь, что подключили 5В и GND к внешнему источнику питания к 5В с достаточной силой тока. Далее Arduino подключается к USB порт
    у.



    Ниже в архиве Вы найдёте код Adalight для Arduino. Откройте его в Arduino IDE и убедитесь, что Вы уже установили библиотеку FastLED ранее. Выше мы уже рассмотрели как произвести все необходимые настройки, установите цифровой пин ардуино и количество светодиодов, которые вы используете. Скомпилируйте скетч, выберите COM-порт, вашу модель платы Arduino и загрузите код. Теперь загрузите программное обеспечение Prismatic (там же в архиве). Это ПО сгенерирует данные на основе цветов Вашего экрана. Установите его, следуя настройкам по умолчанию. Производить настройку необходимо от имени Администратора. Теперь запустите приложение. При первом запуске автоматически запустится мастер настройки. Выберите Adalight и нажмите «Далее». Далее выберите COM-порт, который использует плата Arduino (COM4 в данном случае). Скорость передачи данных необходимо выставить такую же, как на фото, а так же в коде, который мы загрузили ранее, в данном случае 115200. Выберите цветовой формат RGB и нажмите «Далее». Дайте имя вашему профилю.




    Теперь самая интересная часть. Установите количество светодиодов, которое Вы наклеили в верхней части дисплея. В случае автора это 21. Аналогично для других сторон, 14 по бокам и 10 снизу. Нажмите на custom и посмотрите, как это будет выглядеть. Параметр stand offset определяет пространство между крайними светодиодами, при значении 0 будет охвачен весь периметр. Программа пользовательски дружелюбна, так что проблем с настройками возникнуть не должно.




    Нажмите «Далее» и здесь отрегулируйте каждый цвет до соответствия цвету фоновой стены, в случае автора — белому. Белый цвет стены предпочтителен, в случае с цветными обоями они будут вносить изменения в цвет, именно для этого и нужна эта настройка. Нажмите Далее, и на этом настройка завершена. Теперь вы можете смотреть фильмы с эффектами AMBILIGHT, и это здорово. Программа для ПК также имеет функцию световой визуализации музыкальных произведений, светодиоды будут мигать в соответствии с музыкой, которую вы проигрываете на ПК.




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



    Скачать архив со всем необходимым: adalight.rar [8.54 Mb] (скачиваний: 68)

    Ну а на этом всё и всем удачи в творчестве!

    Источник (Source)
    Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

    Мощный пульт способный выключить любой телевизор

    Электронная нагрузка под управлением Arduino

    9
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    8.5
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    8.5
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 8.67 из 10 (голосов: 2 / История оценок)

    Добавить комментарий

    7 комментариев
    feonor12 Автор
    Валерий,
    Ну в целом да, я писал об этом в начале статьи, но это уже стало своего рода нарицательным, и люди часто так называют самодельные подсветки.
    Валерий
    feonor12,
    Я вообще был уверен, что "Ambilight" - это запатентованная Филлипсом фенечка.... По крайней мере, только их телевизоры подсвечивали паутину сзади.)))))
    Але нови ностра алис!
    ino53
    Такое положение
    телевизора - в углу - наверно, не очень...
    feonor12 Автор
    ino53,
    Да, довольно интересная штука! Главное нужно настроить яркость свечения, если сильно ярко - начинает раздражать и отвлекать, а когда именно фоном слегка светит - очень круто! Ну и ещё имеет значение цвет обоев, если они скажем какого-то темно-фиолетового, то нормальный цвет при всём желании не получится настроить.

    Но это мне, если Вы говорите, что на форумах пишут шляпа, значит кому-то может не нравится. Хочу теперь ещё одну сделать на ардуино уже для монитора, той подсветки уже нет давно. Нужно только ленту прикупить, а дуины валяются, блоков тоже целая коробка smile
    ino53
    Ну а вообще как, стоит овчинка выделки? Вживую видеть не приходилось, а на форумах отзывы от "очень хо...о" до "полная х...я" smile
    feonor12 Автор
    Firefighter,
    Я с Вас смеюсь) Я такую штуку, в паре с пультом управления компьютером, собирал себе на atmega8 когда ни ардуино, ни Алекса Гувера (как видеоблогера) ещё в проекте не было) О каких оригиналах Вы говорите? Вы вообще хотя бы начало статьи читали? Технологии уже лет 20.

    Гувер парень несомненно талантливый, но его повторение не имеет никакого отношения к "оригинальности" и тем более авторству проекта.
    Firefighter
    Не проще ли было взять оригинал от Алекса Гайвера (Александра Матросова)? Уже почти два года использую Вариант Гайвера и полностью удовлетворен.

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Опрос
    А Вы уже рассказали на сайте о своей самоделке?

    Последние комментарии

    Все комментарии