Авторизация
Зарегистрироваться

Клон Ambilight на связке Raspberry Pi3, Arduino и ленте WS2812B


К написанию данного опуса меня сподвигло не сколько желание похвастаться красивостью, сколько описать новый гайд для желающих повторить данную конструкцию без «фигурных танцев по граблям».

Проблемма заключается в том, что все существующие гайды и мануалы датируются в лучшем случае 2014-м годом и, в связи с шагнувшими вперед технологиями и переделанными интерфейсами основных програмных продуктов, неприменимы. Пытаемся, к примеру настроить Kodi (libreelec, OpenElec). Вбиваем в Putty sudo ap-get..., а оболочка отбивает ответ в формате «не, ну вы ж тут под рутом уже и так зашли, такшо давайте без этих формальностей. Фыркаешь, забиваешь уже напрямую apt-get install. И шо? Говорят „не, ну то вы под дебианом/убунтой так можете, а тут у нас своя атмосфера“. Пытаешься достать шо-либо с репозитория через wget — N wget — ругается, говорит „параметра такого не знаю“. Повторяешь команду с длиннющей ссылкой на github — а ответ 404. Переместили, или вообще проект накрылся. Не, ну не свинство?
Итак:
вводные задачи:
Делаем Медиаприставку/медиасервер на Raspberry Pi3 под управлением системы (оболочки, операционки) на базе Kodi ( я использовалOpenElec 8.0.4, а самые свежие гайды — говорили, шо работают с версией 4.0 и конфликтуют с 5.0). Захват экрана выполняет демон (програмная надстройка) Hyperion (с Boblight не сложилось вообще) и отдается управление на ленту WS2812B.

За основу был взят мануал от Christian Moser, опубликованный на techtalk под названием »How to build your own Ambilight TV with Raspberry Pi and XBMC" и датируемыйFebruary 20, 2014 (почти 5 лет назад, шо в условиях современных реалий — ОЧЕНЬ много).

Продолжаем.
Список необходимостей недурственно описан в гайде вверху, только с небольшими изменениями. Блок питания на 5-7ампер только для ленты в принципе неплохо иметь, но чересчур. Для ленты, которую я применил ( Ссылка на Али Куплена за кровные свои, 5метровый рулон без защиты ) с плотностью 60 модулей/метр (при 30 на метр — неравномерная засветка, а 144/метр меня бы разорила и по БП и по деньгам) — потребление тока при 5,15В питающего и 172 штуках светодиодов в итоге на старый Samsung LE37A656 составило чуть более 2А при полной яркости белого свечения


Камера в телефоне слегка краснит



Собственно потребление 172 штук модулей на максимальной яркости в режиме белого света


при красном свечении только по бокам


Потребление 0,6А

Сборка/приклейка/пайка — осталась за кадром.
Фотки готового решения с неудобных ракурсов:







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

За скобками данного опуса оставлю страдания с неработающими устаревшими решениями. Методы с переназначением 12-го пина (GPIO18) с режима SPI в режим PWM с отключением аудиовыхода — не работает по причине изменений в оболочках.
Предполагается, что человек, который будет это повторять — априори не пугается Ардуино и паяльника. Также предполагается, что Raspberry уже сконфигурирована в качестве медиаплеера и подключена по HDMI к телевизору.
Перехожу к собственно методу решения загвоздок с адаптивной подсветкой.

Берем Ардуино Нано. У меня вот такая Куплена тоже за свои для другого проекта, но пришлось пересаддить сюда. (мануалы говорят, что лучше Мега/Уно, но практика показала, что 172 модуля для Нано по зубам). Ардуино Про не пойдет — нам нужен USB вход для связи между Hyperion и Arduino, которая, в свою очередь, управляет лентой из WS2812.

Скетч, который заливаем в Ардуину имеет вид:

#include "FastLED.h"
 
// How many leds in your strip?
#define NUM_LEDS 172
 
// For led chips like Neopixels, which have a data line, ground, and power, you just
// need to define DATA_PIN.  For led chipsets that are SPI based (four wires - data, clock,
// ground, and power), like the LPD8806 define both DATA_PIN and CLOCK_PIN
#define DATA_PIN 2
//#define CLOCK_PIN 13
 
#define COLOR_ORDER BRG
 
// Adalight sends a "Magic Word" (defined in /etc/boblight.conf) before sending the pixel data
uint8_t prefix[] = {'A', 'd', 'a'}, hi, lo, chk, i;
 
// Baudrate, higher rate allows faster refresh rate and more LEDs (defined in /etc/boblight.conf)
#define serialRate 500000
 
// Define the array of leds
CRGB leds[NUM_LEDS];
 
void setup() {
      // Uncomment/edit one of the following lines for your leds arrangement.
      // FastLED.addLeds<TM1803, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<TM1804, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<TM1809, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<WS2811, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<WS2812, DATA_PIN, RGB>(leds, NUM_LEDS);
         FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);
      // FastLED.addLeds<UCS1903, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<UCS1903B, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<GW6205, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<GW6205_400, DATA_PIN, RGB>(leds, NUM_LEDS);
     
      // FastLED.addLeds<WS2801, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<SM16716, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<LPD8806, RGB>(leds, NUM_LEDS);
 
      // FastLED.addLeds<WS2801, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<SM16716, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<LPD8806, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);
     
        // initial RGB flash
        LEDS.showColor(CRGB(255, 0, 0));
        delay(500);
        LEDS.showColor(CRGB(0, 255, 0));
        delay(500);
        LEDS.showColor(CRGB(0, 0, 255));
        delay(500);
        LEDS.showColor(CRGB(0, 0, 0));
       
        Serial.begin(serialRate);
        Serial.print("Ada\n"); // Send "Magic Word" string to host
 
}
 
void loop() {
  // wait for first byte of Magic Word
  for(i = 0; i < sizeof prefix; ++i) {
    waitLoop: while (!Serial.available()) ;;
    // Check next byte in Magic Word
    if(prefix[i] == Serial.read()) continue;
    // otherwise, start over
    i = 0;
    goto waitLoop;
  }
 
  // Hi, Lo, Checksum
 
  while (!Serial.available()) ;;
  hi=Serial.read();
  while (!Serial.available()) ;;
  lo=Serial.read();
  while (!Serial.available()) ;;
  chk=Serial.read();
 
  // if checksum does not match go back to wait
  if (chk != (hi ^ lo ^ 0x55))
  {
    i=0;
    goto waitLoop;
  }
 
  memset(leds, 0, NUM_LEDS * sizeof(struct CRGB));
  // read the transmission data and set LED values
  for (uint8_t i = 0; i < NUM_LEDS; i++) {
    byte r, g, b;    
    while(!Serial.available());
    r = Serial.read();
    while(!Serial.available());
    g = Serial.read();
    while(!Serial.available());
    b = Serial.read();
    leds[i].r = r;
    leds[i].g = g;
    leds[i].b = b;
  }
  // shows new values
 FastLED.show();
}


Для корректной работы необходимо иметь установленную библиотеку FastLED.
В строке #define NUM_LEDS — указываем итоговое количество светодиодов в проекте
Строка #define DATA_PIN — указывает к какому цифровому выходу платы будет подключен первый модуль.
#define serialRate 500000 — важный момент колдунства. Очень важный. Случайно обнаружен на немецком форуме. Только после обьявления данной скорости все завертелось!
В секции
void setup() {
// Uncomment/edit one of the following lines for your leds arrangement.
// FastLED.addLeds<TM1803, DATA_PIN, RGB>(leds, NUM_LEDS);
снимаем комментарий (два прямых слэша) с строки, соответствующей применяемым модулям.
Компилируем, заливаем. При запуске ардуинки или после перезагрузки — вся лента приветственно переливается цветами. Запоминаем порядок следования цветов ( Видео запуска —


после перебора цветов Ардуиной идет запуск Гипериона и его приветственная радуга). Мы на половине пути к счастью!
Подключаем Ардуинку подходящим кабелем к свободному порту Малины.
Включаем все компоненты
Далее скачиваем на компьютер HyperCon.jar и запускаем его.



На экране появится окно конфигурации нашей адаптивной подсветки. Наступает второй этап сильного колдунства.

Итак:
Строка Configuration name — указываем приятное нам имя, на работоспособность не влияет никак.
Строка Type — в выпадающем меню выбираем Adalight. Данная строка указывает, что наша конструкция управляется внешним устройством с библиотекой Adafruit, которую мы залили в Ардуинку.
Строка Output (этап очень мощного колдунства) — выбираем /dev/ttyUSB0 Конкретно ваш случай может отдичаться от данного перимера — поэтому подсмотрите через консоль Putty командами lsusb и ls /dev где у вас присутствует Ардуина. Некоторые (как у меня — дают ответ типа «СН430...» — имя контроллера порта)
Строка Baudrate — вбиваем 500 000 (чтобы Гиперион и Ардуина общались на одной скорости). Скорости, отличные от 500 000 — НЕ РАБОТАЮТ!..
Строка RGB byte order — GRB (порядок адресации цветов в модулях 2812В и подсмотренные при запуске скетча на ардуине)

Дальнейшие действия — обьявление количества светодиодов и их конфигурация на плоскости, нулевой (начальный) светодиод, глубина захвата, создание файла конфигурации, установка Hyperion через SSH и отправка конфигурационного .json-файла не отличаются от всех известных мне гайдов в Сети.

После перезапуска Гипериона (команды в вкладке SSH — сначала Stop потом Start) — лента должна ожить сначала скетчем ( сначала перебор 3х основных цветов, потом инициализируется Hyperion и выдает вращающуюся радугу).

Вуаля!

Коротенькое видео работы данного решения:

Планирую купить +44 Добавить в избранное +64 +114
свернуть развернуть
Комментарии (96)
RSS
+
avatar
  • faza20
  • 02 февраля 2019, 22:37
+12
красиво, конечно!
Только зачем оно на телеке?
+
avatar
+14
Для визуального увеличения экрана это раз, для смягчения области перехода от темного к светлому, что бережет зрение это два.
+
avatar
+11
При резкой смене кадра работа не понравилась.
Про природу надо, что-то покрутить.
+
avatar
+8
ну на филипсе это намного мягче работает и хорошо настраивается, у автора действительно как-то не так.
+
avatar
  • katran
  • 03 февраля 2019, 03:07
+2
притом там куда меньше светодиодов
+
avatar
  • nochkin
  • 03 февраля 2019, 04:53
+4
Кстати, более тонкая рамка на телевизоре тут очень помогает.
+
avatar
+3
у меня на филипсе 10го года рамка чуть-чуть меньше чем у автора(только диагональ побольше), глаза не режет, всё равно смотришь на картинку, а не на подсветку, она для бокового зрения.
+
avatar
  • sir0ta
  • 03 февраля 2019, 07:50
-1
она для бокового зрения
И кроме маркетинга смысловой нагрузки несет.
+
avatar
+1
а вы пробовали?
я вот как бы уже 8лет смотрю и разницу-то нагрузки для глаз в живую ощущаю.

да массовые и самопальные клоны явно не на пустом маркетинге выросли.
+
avatar
  • sir0ta
  • 03 февраля 2019, 15:44
+1
Сколько помню, смотрю без и разницу-то нагрузки для глаз в живую не ощущаю
+
avatar
+1
они по-моему не просто крайние пиксели повторяют подсветкой, а квадранты изображения усредняют и не гасят подсветку, в отличие от сабжа, если край черный

но глазами сабж, скорее всего, нормально выглядит, такие резкие границы освещенности это из за камеры, глазом ровнее должно быть
+
avatar
+4
Сделал себе тоже аналогичную штуку на ардуине, как то в итоге не зашло. у филипса эта технология работает более мягко, к тому же филипс как то всю картинку в целом анализирует и светит по всем сторонам, а ардуина захватывает края, в итоге на темных областях диоды отключаются, а с другой стороны наоборот что-то очень яркое и пол стены освещает. К тому же переключение между кадрами эти отключенные диоды включает на полную и получается подсветка мигает то в одной части экрана то в другой. Если картинка постоянно вся заполнена каким-то ярким цветом то работает хорошо, но для просмотра фильмов не особо подходит.
+
avatar
  • dymbo
  • 12 февраля 2019, 00:08
0
Во-во! Там надо перехватывать видеопоток HDMI, по-честному его распаковывать, пропускать через пару фильтров и мапить это всё на краевые диоды. Сделать можно, но железяка должна быть несколько другого уровня. И лучше таке делать на cpld-шке, наподобие как в осликах FFT и другие realtime math делают.
+
avatar
  • xxx_xxx
  • 02 февраля 2019, 22:43
+13
спасибо
хотел было новый телик с Ambilight… обязательно с Ambilight
теперь уже сильно сомневаюсь
если оно работает на этот финальный генератор эпилепсии похоже — нафиг лесом :)
+
avatar
0
Мой самодельный скопировал lightpack

www.youtube.com/watch?v=iovD1PiCryA
+
avatar
  • katran
  • 03 февраля 2019, 03:08
+2
заводской работе плавнее и не только с ПК
+
avatar
0
эпилептикам точно не стоит это смотреть, вот пример моего на начале The Big Bang Theory, работает без компа, но через ТВ-бокс.
+
avatar
  • djvan
  • 02 февраля 2019, 22:44
+2
А есть готовое решение если к телеку подключён комп на винде 10? Вводная — есть телек 49 дюймов, к нему подключён комп на винде, хочется чтобы он был как амбилайт…
+
avatar
+7
Arduino + AmbiBox
Старые решения вполне работают и на 10ке
+
avatar
  • ober
  • 02 февраля 2019, 23:00
+3
+
avatar
  • davnozdu
  • 03 февраля 2019, 10:49
0
Как раз месяц назад делал подсветку по этому проекту
Вот результат youtu.be/S3kFE0pSh_Q
Тв бокс под управлением alexelec так как там boblight работает из коробки
+
avatar
  • iPOWER
  • 03 февраля 2019, 07:32
+1
Есть готовые решения и Пк не требуется. я использовал DreamScreen для 50" 1080р ТВ. подключаешь к этой коробочки HDMI сигнал с источника и смотришь. В целом нормально. эффект Вау есть. но видны большие рамки ТВ были и это немного не нравилось. В фильмах тоже не от каждого был эффект Вау от подсветки. Например в Звездных войнах когда красным мечем махали по экране то и подсветка тоже красным горела там где надо. или допустим солнце показывают во весь кадр и комната желтым освещается от ТВ)
Но сменил ТВ на 4К HDR и уже DreamScreen не подойдет т.к. hdmi 1.4 тока и 4К HDR он не передает.
+
avatar
  • SterX
  • 03 февраля 2019, 08:39
0
есть комплект для апгрейда до 4К
+
avatar
  • iPOWER
  • 03 февраля 2019, 13:19
0
ага глянул. дороговато. 200$. Но я наигрался с этим. уже не интересно) да и в нынешних реалиях мне больше нравится 4K HDR в фильмах, и подсветки не надо по краям экрана. да и теперь у меня по бокам и снизу ТВ стоят колонки и их будет видно, а так в темноте их не видно.
+
avatar
0
если не секрет где брали и почем вышло?
+
avatar
  • iPOWER
  • 03 февраля 2019, 13:12
0
покупал на ебей. для 50" ТВ обошелся в 11к рублей.но это года 2 назад было. это версия DreamScreen под 1080р ТВ. если диагональ меньше то цена чуть меньше была.
+
avatar
  • slon1977
  • 02 февраля 2019, 22:46
0
Это для «через HDMI» или другое?
+
avatar
  • am637
  • 03 февраля 2019, 03:58
0
Приложение сканирует края выводящегося на экран изображения, выход может быть любым (зависит от ПК).
+
avatar
+11
У меня WS2812B начали подыхать где-то через пол года. Сначала отдельные светодиоды неправильно показывали цвета, у них умирал канал определённого цвета, затем вообще лента переставала работать дальше сбойных диодов. Если надавить на сбойные, то начинало работать, но не на долго. Отодрал их от монитора и заказал SK9822, они уже полтора года где-то трудятся без единого битого пикселя. Стоят дороже, но на глаз цвета лучше, работают шустрее (фпс больше), говорят ещё ШИМ не виден на низкой яркости, но я и на 2818 не замечал.
+
avatar
  • Loatan
  • 03 февраля 2019, 00:01
+4
Тоже такая же проблема с ws2812b, заказывал у разных продавцов разными партиями. В одной ленте почти сразу подыхать светодиоды стали, во второй спустя полгода. Питание стабилизированное, стоят резисторы на линии данных, перегрева нет. Поглядел парочку битых светодиодов в микроскоп, у всех отвалился контакт от кристаллика, толи сам кристалл греется и вызывает отпайку, толи такой контакт ненадёжный.
+
avatar
  • 10ghz
  • 03 февраля 2019, 11:45
+3
И у меня тоже через пол года стали сдыхать зимой, думал из-за статики, ставил подтягивающие к земле резисторы, электролиты. Не помогло.
Расскажите пожалуйста про sk9822, схему подключения и ПО.
+
avatar
+2
Я использую с ПК, управляет Arduino nano, софт Ambibox. Питание взял из системника, подключив их к молексу. Земля у всего этого общая, CI (Clock) — 5й пин ардуины, DI (Data) — 7-й пин. Скетч, на сколько я помню, пришлось писать самому на базе скетча для WS2812, но там буквально пару строк поменять. Библиотека fastled вот такая у меня FastLED-3.1.8, думаю и на других будет работать. Никаких резисторов, конденсаторов, фильтров и прочего не использовал.
Скетч предположительно этот, сложно сказать точно, давно дело было.
Adalight_SK9822
//////////
//
// Arduino interface for the use of ws2812 operated LEDs
// Uses Adalight protocol and is compatible with Boblight, Prismatik etc
// «Magic Word» for synchronisation is 'Ada' followed by LED High, Low and Checksum
//
#include <FastLED.h>

///// User definitions /////

// Define the number of LEDs
#define NUM_LEDS 107

// Define SPI Pin
#define DATA_PIN 7
#define CLOCK_PIN 5

// Baudrate, higher rate allows faster refresh rate and more LEDs (defined in /etc/boblight.conf)
#define serialRate 115200

// Adalight sends a «Magic Word» (defined in /etc/boblight.conf) before sending the pixel data
uint8_t prefix[] = {'A', 'd', 'a'}, hi, lo, chk, i;

// initialise LED-array
CRGB leds[NUM_LEDS];

void setup()
{

FastLED.addLeds<SK9822, DATA_PIN, CLOCK_PIN, BGR>(leds, NUM_LEDS);

// initial RGB flash
LEDS.showColor(CRGB(255, 0, 0));
delay(500);
LEDS.showColor(CRGB(0, 255, 0));
delay(500);
LEDS.showColor(CRGB(0, 0, 255));
delay(500);
LEDS.showColor(CRGB(0, 0, 0));

Serial.begin(serialRate);
Serial.print(«Ada\n»); // Send «Magic Word» string to host

}

void loop() {
// wait for first byte of Magic Word
for(i = 0; i < sizeof prefix; ++i) {
waitLoop: while (!Serial.available()) ;;
// Check next byte in Magic Word
if(prefix[i] == Serial.read()) continue;
// otherwise, start over
i = 0;
goto waitLoop;
}

// Hi, Lo, Checksum

while (!Serial.available()) ;;
hi=Serial.read();
while (!Serial.available()) ;;
lo=Serial.read();
while (!Serial.available()) ;;
chk=Serial.read();

// if checksum does not match go back to wait
if (chk != (hi ^ lo ^ 0x55))
{
i=0;
goto waitLoop;
}

memset(leds, 0, NUM_LEDS * sizeof(struct CRGB));
// read the transmission data and set LED values
for (uint8_t i = 0; i < NUM_LEDS; i++) {
byte r, g, b;
while(!Serial.available());
r = Serial.read();
while(!Serial.available());
g = Serial.read();
while(!Serial.available());
b = Serial.read();
leds[i].r = r;
leds[i].g = g;
leds[i].b = b;
}
// shows new values
FastLED.show();
}

Настройки в Ambibox на свой вкус и цвет стены:)
У меня так, но склонным к эпилепсии и фанатам оригинального тормозного амбилайта не рекомендую.
+
avatar
  • 10ghz
  • 03 февраля 2019, 14:43
+1
Спасибо! У меня работало все по такому же принципу, только на 2812. Попробую заказать на али sk9822 надеюсь проработает дольше.
+
avatar
  • almurin
  • 02 февраля 2019, 22:56
0
как мульттик называется из последнего ролика в конце страницы?
+
avatar
+1
Астерикс и Земля Богов
+
avatar
  • almurin
  • 03 февраля 2019, 16:12
0
пасиба!
+
avatar
+10
Дальнейшие действия — [...] создание файла конфигурации, установка Hyperion через SSH и отправка конфигурационного .json-файла не отличаются от всех известных мне гайдов в Сети.
Так а что вы описали-то? Как скетч в ардуину залить? Вроде тоже от остальных гайдов не отличается ничем. Вы бы подробнее остановились как раз на настройке актуальных версий Коди и гипериона. Работает ли захват при использовании аппаратного ускорения различных видео форматов и пр. интересных деталях. Какие версии ПО использовали, под 18й коди нормально завелось? Обзор закончился на самом интересном месте.
+
avatar
  • vvz_vlad
  • 02 февраля 2019, 23:25
+9
Да что вы автору такие страшные вопросы-то задаете? Он вот магическую скорость на немецком форуме нашел, и радостно об этом докладывает, не потрудившись понять, а почему она, почему не работает на других, и так далее.
+
avatar
+1
Там малость посложнее решение. Но вцелом — да. Именно эта магическая цифирка стоила километров нервов.
+
avatar
0
Ты не правильную цифру нашел. На самом деле там должно быть 516894 и в приложении и в ардуинке. Просто кто то округлил, а другие люди по незнанию копируют.
+
avatar
+3
Ну вот у меня сборка на 17м KODI — на ней завелось, сборку на 18-й может сегодня-завтра опробую, но в другой конфигурации.
Аппаратное ускорение — работает, без проблем. Гасить специфические функции — не пришлось (тем более, что структура команд и расположение конфигурационных файлов поменялись и их выколупывать и гасить — нетривиальный ребус)

Описал — компиляцию/выжимку правильного применения мелочей, найденных с разных форумов/мануалов.

Ну и просьба сильно не пинать — первый обзор на данном ресурсе.
+
avatar
+1
Дайте знать что получится с 18й версией. Как-то давно когда переходил, захват отвалился. Они там что-то прилично поменяли, с тех пор не разбирался.
На амложиковых ТВ-боксах с аппаратным ускорением захват не работает.
Штука прикольная, уж слишком много «но» и «если».
+
avatar
0
допилили буквально на днях, в CoreELEC
+
avatar
0
Коди работает с аппаратным декодированием? Какие разрешения тянет?
+
avatar
+2
Коди с аппаратным работает. .mkv с разрешением 1080p (больше мой старичок не тянет) и звуком AC3 — тянет и больше 48 градусов проц с пассивным охлаждением не греется
+
avatar
  • kven
  • 02 февраля 2019, 23:15
0
а без ардуины нельзя обойтись? сама распберри не может поток на ленту гнать? вроде бы попадались гайды как сделать.
+
avatar
  • vvz_vlad
  • 02 февраля 2019, 23:29
0
Да там в конфигурации что-то типа такого надо написать, и все:
"device": 
{ 
"name": "MyHyperionConfig", 
"type": "ws2812spi", 
"output": "/dev/spidev0.0", 
 "rate": 1000000, 
"colorOrder": "grb" 
} , 


Но тут же крупноузловая сборка, и все такое.
+
avatar
-1
Ага. От я хочу посмотреть, как устройство с управлением при помощи PWM поднимется с управлением через SPI.
+
avatar
  • vvz_vlad
  • 03 февраля 2019, 00:24
+6
Как бы вам сказать, чтобы не обидеть… В общем, там не PWM. Да и SPI тут немного не как SPI используется. Но вы того, продолжайте по гайдам.
+
avatar
-3
Ну кагбе да, шо не ШИМ. Но сама суть управления последовательностью модулей по 1му проводу и 2-м имеют существенные отличия в реализации, чуть поболе, нежели в .json пару строк поправить (а с учетом, шо свежая версия Гипериона еще и файл в уматовом формате сохраняет...)
+
avatar
  • vvz_vlad
  • 04 февраля 2019, 02:55
0
Вот вы не погуглили после моего комментария, а зря. Нет там никаких двух проводов, управление всегда по одному проводу. Просто от SPI там используется линия данных MOSI без CS, MISO и тактового сигнала.
+
avatar
  • and7ey
  • 03 февраля 2019, 22:55
0
А вы такое делали? Напишите мануал, пожалуйста.
+
avatar
+1
Может и можно, но те гайды — как раз я безрезультатно и попробовал. Поменялась структура управляющей оболочки на базе КОДИ — и приплыли.
+
avatar
  • tupoi13
  • 02 февраля 2019, 23:20
-1
Правильнее будет добавить потраченные деньги и время и купить телевизор с большей диагональю.
+
avatar
0
Камера в телефоне слегка краснит
Вот Вам решение проблемы с «красными фото»:



Просмотровщик XnView, к тому же ещё и бесплатный. На скрине указан необходимый фильтр.
+
avatar
  • dozik
  • 02 февраля 2019, 23:34
0
Прошу прощения что немного не в тему, но может кто знает как подключить ленту ws2811 с 3 контактами к контроллеру с 4 контактами?что то методом тыка не хочется,
+
avatar
  • ober
  • 03 февраля 2019, 00:06
+1
А это точно контроллер для адресных лент?
+
avatar
  • mooni73
  • 03 февраля 2019, 00:39
+1
Имеет смысл поискать на али эту же коробочку у других продавцов — у некоторых есть подробные схемы. Ну или разбирать.
+
avatar
0
Измерьте напряжение, может она под два питания, на 12 и 5 вольт.
+
avatar
  • Rzzz
  • 04 февраля 2019, 11:03
0
Этот контроллер скорее всего для старых лент на ws2801. Там не SPI, а дата-клок по раздельным линиям, типа I²C, как я понимаю.
+
avatar
  • dozik
  • 04 февраля 2019, 11:11
0
Вот что в описании на контроллер написано:
Выход: два сигнала группы SPI
+
avatar
+8
Была раньше такая цветная плёнка для экрана ЧБ телевизора. Для «придачи цветности изображению».
Вот, напомнило :)

+
avatar
  • bigvlad
  • 02 февраля 2019, 23:56
-6
+
avatar
  • mooni73
  • 03 февраля 2019, 00:46
+6
Вообщем то на видео видно, что система работает плохо, слишком резкие переходы между сценами. Надо как то сглаживать перепады цвета и света.
+
avatar
  • -wall-
  • 03 февраля 2019, 10:38
+2
А сцены на самом экране не слишком ли быстро для вас меняются? :)
Имхо, вполне релевантно изображению на экране, что и нужно.
+
avatar
  • c00ler90
  • 03 февраля 2019, 01:08
+1
А есть автономный «ambiligth», который работает без привязки к конкретному источнику сигнала? Чтобы у него был HDMI вход, в который втыкаешь кабель от компа/тв бокса/консоли, он анализирует изображение и управляет свечением, а дальше через HDMI выход пробрасывает видео на телевизор.
+
avatar
  • puzoid
  • 03 февраля 2019, 01:21
0
Есть. Примеров море. HDMI преобразуется в аналоговый и идет на usb карту захвата, на raspberry pi софт захватывает экран и шлет данные на ардуинку, а та управляет лентой.
+
avatar
  • c00ler90
  • 03 февраля 2019, 01:45
0
А готовое решение?
+
avatar
  • non7top
  • 03 февраля 2019, 05:16
+2
Гуглить philips ambilight
+
avatar
  • iPOWER
  • 03 февраля 2019, 07:33
+2
DreamScreen
+
avatar
  • radi_k
  • 03 февраля 2019, 10:17
0
Для меня идеальным вариантом оказалась связка ТВ-бокс+Ардуино+БП+Лента. В ТВ-бокс установил и настроил с Play Mаркета приложение Android Ambilight Application. В Ардуино «залил» скетч от разработчика Android Ambilight Application, естественно подправленный под мою конфигурацию по количеству светодиодов. И теперь балдею. Это, в итоге оказалось самым простым вариантом. Рекомендую.
+
avatar
0
У меня как раз нету бокса, зато есть пачка малин и апельсин под зимние вечерние издевательства.
+
avatar
+1
Через 15 минут просмотра глаза на лоб лезут
+
avatar
  • tupercav
  • 03 февраля 2019, 02:23
+4
За воплощение пять, а вот идея — ну на любителя. Я лично когда смотрю фильм, концентрируюсь на том, что на экране, если за краном постоянно будут бегать световые зайчики — все время буду отвлекаться. Это круто только на медленных проходах, пейзажах например, особенно где есть небо. Но на постоянку — не не)
+
avatar
+3
там сверху видео кинул, в оригинале(у филипса) это совсем по другому, фильмы при полной темноте самое то, глаза намного меньше устают.
+
avatar
  • MPaul
  • 03 февраля 2019, 06:15
+5
Вот как раз наоборот — за идею 5, а воплощение на троечку. У меня старенький Филипс с Ambilight — очень приятная штука. А тут какие то дикие скачки света высокой интенсивности — действительно эпилепсию заработать можно.
+
avatar
0
Не знаю, не знаю.
Вчера вечером смотрели grand tour а не мультики — абсолютно не отвлекало и не напрягало. А вот мультяхи — да, мельтешат мощно.
+
avatar
  • StorkZZ
  • 03 февраля 2019, 09:46
0
На lightpack, например, есть куча настроек от яркости до инерции. Можно под себя сделать.
+
avatar
  • serg_mur
  • 03 февраля 2019, 08:01
+1
А можно то же самое, но на Orange Pi PC?
За обзор плюс. Положил в закладки.
+
avatar
0
Как раз на OpiPC я в свое время делал. Пришлось отказаться от этой затеи из за невозможности на нем использовать Hyperion/Boblight одновременно с железным ускорением. А на программном, 720p идет с заметными фризами, 1080p вообще превращается в слайд-шоу.
Но теперь, благодаря автору, появилась идея приобретения малины и возрождение проекта уже на ней.
+
avatar
  • serg_mur
  • 03 февраля 2019, 16:32
0
Жаль. Апельсинка используется как раз с прошивкой OpenElec. Покупать ещё малинку ради эмбилайт — слишком жирно.
+
avatar
0
Тоже хочу знать, можно ли на оранже такое сделать? Год назад так и не нашел решения. Сейчас хоть не покупай Raspberry.
+
avatar
  • vovka036
  • 03 февраля 2019, 11:00
-2
За обзор плюс. А так баловство и ненужная вещь. Купить сразу экран большой и не нужно подсвечивать.
+
avatar
  • Bunker26
  • 03 февраля 2019, 11:20
0
На большой экран тоже можно ленту приклеить. Не убивайте в человеке творчество.
+
avatar
  • Dimon_
  • 03 февраля 2019, 11:24
0
Посмотрел код под ардуину. Когда я был тринадцатилетним «программистом» на бейсике под ФОДОС и RT-11, я тоже использовал оператор GOTO…
+
avatar
0
и во фряхе какой-то злодей 6309 раз его использовал и что?

а сколько безусловных переходов вставляет вероломный компилятор в ваши свободные от goto программы, даже подумать страшно))
+
avatar
  • Dimon_
  • 03 февраля 2019, 15:32
0
Вы не путайте свою шерсть с государственной ассемблер и язык высокого уровня. На асме я тоже JMP использую, как там без этого.
+
avatar
0
я просто к тому, что goto кто-то злоупотребил, а кто-то другой записал его в безусловное зло и все повторили…

а так — оператор как оператор, циклами можно накрутить ещё хуже вермишели)

приведенная программа читается же нормально
+
avatar
  • 10ghz
  • 03 февраля 2019, 11:51
+1
Рекомендую автору поставить подтягивающие резисторы к земле, электролиты побольше, снизить вольтаж до 4.9в. 2812 дохнут как мухи… У меня стали подыхать от начала к концу ленты. Быть может если бы я сделал это сразу, проработало бы дольше.
+
avatar
+1
Благодарю за подсказку.
Ушел исправлять недостатки по питанию
+
avatar
  • chaloc
  • 03 февраля 2019, 13:28
+1
Зависит лишь от качества ленты. Одна с конца 14 года (после этого обзора сделал) работает без всяких конденсаторов/резисторов, местами болтаясь в воздухе по несколько часов ежедневно. Вторую брал позже для экспериментов с цветомузыкой — и питание правильное с парой резисторов и конденсатором и приклеена была к алюминиевому уголку по всей площади, а толку ноль.
+
avatar
  • 10ghz
  • 03 февраля 2019, 14:59
0
Возможно вы правы и это печально. Буду пробывать sk9822.
+
avatar
  • Vovan_a
  • 03 февраля 2019, 16:07
+1
Нужно ставить защитный резистор на вход управления ленты. Без него, в случае отвала общего провода, сдохнут несколько первых светодиодов.
+
avatar
  • 10ghz
  • 03 февраля 2019, 16:17
0
Это само собой. 1-10КОм вроде, точно не помню. Но это не помогло.
+
avatar
  • and7ey
  • 03 февраля 2019, 22:58
+1
Что-то я не уловил — а как kodi/openelec узнает, что что-то надо на ардуино слать? И что за специальный кабель нужен для связи малинки и ардуино? А запитать ардуино от ТВ не выйдет? У меня малинка от usb порта ТВ работает.

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.