Универсальный пульт ДУ для Lightorgel и не только

Надоело мне тыкать кнопки на платах.
И после получения очередной ардуины решил сделать уневерсальное ду.

Плюсы:
Работает с любым пультом (наверное).
Работает с командами до 4х байт (брендовые пульты).
(Было протестировано на SAMSUNG, LG, и кучи китайского уг.
С брендом работает как часы, ну а уг, оно и в Африке уг smile)))).)
Не нужно прошивать команды. Приемник сам сохраняет их в EEPROM.
Возможность расширения функционала. (В планах подключение ISP потенциометров).
Минусы:
Под разные устройства необходимо править прошивку.
Или приспосабливать то что есть.

Версия 1.0
Заточена под Lichtorgel_WS2812.

Используется 7 кнопок на пульте:

  1. кнопка 1 Runlight
  2. кнопка 2 Runlight дольше 3 секунд
  3. кнопка 3 Fadespeed
  4. кнопка 4 Fadespeed дольше 3 секунд)
  5. кнопка 5 Runlight+Fadespeed дольше 3 секунд
  6. кнопка 6 Переключение входов (переключение входов, если есть)
  7. кнопка 7 Только эффекты (отключает все входы, если есть)

Вот схемы. На желтом фоне приемник с обвязкой.

Модуль был задуман как самостоятельное универсальное устройство.
Просто для проверки был заточен под Орган. Можно заточить под Аврору, Союз и т.д.
Да хоть под самодельный музыкальный центр.

В архиве две схемы (328р и Nano v3) с коммутатором входов.
Два HEX файла. Один для 328р, другой для Nano v3 (с загрузчиком).
Текстовый файл с описанием программирования команд с пульта.
Скетч+текстовый файл с кодами.

Скетч использует 7768 кБ. Если код скомпилировать в Atmel Studio, немного его подправив (большинство кода на С), то все поместится в Мегу8.
25.06.2017
Обновление.
IR_eeprom_Lichtorge_WS2812_LCD_V2.2.
Оптимизация кода, косметический ремонт, ну и т.д. smile
Прошивка Lichtorgelws2812 ( в комплекте ) максимально совместима с оригиналом.
Есть косметические отличия.
С авторской прошивкой не работает.
Вывод РВ2 Lichtorgel нужно будет подключить на ADC6 приемника.
ADC6 отсутствует в DIP корпусе.
После использования DEMO режима для корректного отображения
нужно сбросить настройки на дефолтные.
Адрес I2C дисплея 0x3F . Дисплей 1602.
02.08.2017

Что нового: 

Регулировка входного сигнала на линейном входе цифровым SPI потенциометром МСР41010.
Этот потенциометр при включении устанавливается в средний уровень. Поэтому предусмотрено при включении автоматическая установка уровня потенциометра
в последний сохраненный уровень. Микрофонный вход на основе MAX9814. Возможность менять усиление с пульта. LCD 2004, 4 строки по 20 символов.
Выводится название текущего эффекта, Fadespeed mode, Aggressive mode, линейный или микрофонный вход, уровень цифрового потенциометра или усиление микрофонного усилителя. Изменение уровня подсветки дисплея (+ 1 провод на дисплей). Предусмотрена возможность переключения на другой контроллер эффектов.

Фотки с LCD:

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

MCP41010 (потенциометр) 
D13 (PB5) — SCK
D11 (PB3) — SI
D10 (PB2) — CS

CD4066 (переключатель входов) 
D8 (PB0) — line In
D7 (PD7) — Mic In

MAX9814 (микрофонный усилитель) 
D6 (PD6) — Gain

D4 (PD4) — PRG Кнопка программирования
D3 (PD3) — LED Индикаторный светодиод (анод)
D2 (PD2) — IR Out Выход инфракрасного приемника

CD4066 (переключатель выходов) 
A0 (PC0) — Out Lichtorgel
D5 (PD5) — Out Внешний контроллер

Lichtorgel (контроллер) 
A1 (PC1) — A0 (PC0)
A2 (PC2) — D9 (PB1)
A3 (PC3) — D8 (PB0)
A6 (ADC6) — D2 (PD2)

LCD (дисплей) 
A4 — SDA
A5 — SCL
D9 — PWM (на подсветку, желательно через транзистор)

 

Пульт ДУ на Алиэкспрессе.
Ардуинка на Алиэкспрессе.
ИК датчик VS1838B на Алиэкспрессе.

Успехов всем!

Superman (Anahoret), 2017.

Автор публикации

не в сети 9 часов

Radan

0
Комментарии: 876Публикации: 168Регистрация: 30-11--0001
Поделиться

Отправить ответ

77 Комментарий на "Универсальный пульт ДУ для Lightorgel и не только"

Войти с помощью: 
Подписаться на
Сортировать комментарии по:   новые | старые | рейтинг
Anahoret
Участник

Неправильное отображение эффекта паузы даже после сброса
вызвано тем что у автора в описании 11 эффектов паузы.
А в прошивке 12 эффектов. В прошивке для ESP8266 этот баг устранен.
Скоро дойдут руки и до прошивки для Меги smile

Anahoret
Участник

В связи с нехваткой времени нужны бета тестеры прошивки V8.
Цель тестирования:
отсутствие рассинхронизации при использовании только ПУ.

Juris_3D
Участник

У меня немного недоделанно всё.. Точнее, работает ЦМУ WS2811 сама по себе, и тестировал на предмет "работает" приёмник+LCD. Но не соединял. А что надо бы конкретно тестировать в новой версии? Обратной связи (реальной информации по номеру режима) там наверное не появилось?

Anahoret
Участник

Тест: как можно чаще переключатся в демо режим и обратно.
Полноценной обратной связи пока нет. Трудности
с UART возникли в обеих прошивках.
Но был сделан "ход конем". V8 + fftestpatch=пожизненная синхронизация. (надеюсь).

Anahoret
Участник

Прошивка V7.4 уже в папке smile
Работает на МК в любом корпусе.
Пин PD2 (D2) Lightorgel подключить на пин D4 (PD4) ДУ.
Только для LCD 2004.

Anahoret
Участник

Обновленная прошивка для LCD1602 уже в свободном доступе smile

Anahoret
Участник

Выложил прошивку V7.3
Теперь пока пульт не будет запрограммирован
будет выводится надпись о необходимости его запрограммировать ( на английском).

Anahoret
Участник

Прикрутил ESP8266-12E
Все вопросы в профильной теме http://lightportal.at.ua/forum/2-21-1

Juris_3D
Участник

Безусловно интересно !!

Anahoret
Участник

Новая прошивка V7 для ПДУ.
Новая плата V7.
Добавлены для отображения новые эффекты и новый режим
для новой прошивки от m1x. Работает с оригинальной
прошивкой без переделок.
Небольшие изменения в плате. Вариантов плат 2.
Один с аудио разьемом на плате. Другой с возможностью
установки ВТ аудио модуля. Кнопки на плате опциональны.
В пршивке не задействованы.
Опубликована полная схема.
На скринах вариант дальнейшего развития ПДУ.
Возможность установки RS485.

Juris_3D
Участник

Я тут сделал быстрый тестик, на предмет показывет ли. Залил Nano v3, екран у меня 20х4 синий. В принципе работает, но как то вроде по рядам напутанно. При старте показывает во втором ряду "WS2811GEL", то есть, как бы тексты двух рядов в одном. Потом показывает только второй и третий ряд, вот так:
Aggressive mode
Fadespeed mode 255
P.S.: вроде замыканий лишних нет нигде.

Anahoret
Участник

Прошивку перезалил V7.2.
Пробуйте. Если будут проблеммы с отображением,
скрины в студию smile

Juris_3D
Участник

Вот тут две фотки что я получаю на v7.2
http://bildites.lv/a/xprbner3#e4djs8wk
К ардуине подключен только LCD.
Эта ардуина и LCD мною проверялись пробными скетчами, все ряды работали.
Адрес I2C правильный (3F), посмотрел специальным скетчем.
Кстати, если загрузить прошивку для 16х2, то пишет заставку в первых двух рядах, потом пусто.

Anahoret
Участник

Все ясно. Вы пульт не программировали.
Поэтому из памяти считывается не то что нужно.
В результате часть информации не отображается.

Juris_3D
Участник

А, ну ладно. Спасибо за подсказку. Хотя… на будущее, для новых собирателей, наверное неплохо бы, чтоб экран сразу логично бы выглядел. Если возможно.

Anahoret
Участник

Я подумаю об этом smile

Juris_3D
Участник

По скольку неспокойно было, кое-как, кое-чем запрограммировал команды пульта. Да — индикация пошла теперь нормально.
Вопрос, а разве никогда не получаетса разнобой тому что на экране, и какие режимы в реальности?

Anahoret
Участник

Я уже писал тут, но ндо еще в папку будет файл с описанием полпжить.
После подключения и программирования пульта нужно сбросить настройки на дефолтные. Обязательно с пульта !!!!
Тогда названия эффектов будут отображаться правильно!
После использования режима рандом (DEMO) для правильного отображения названия эффектов нужно снова сделать сброс настроек с пульта. Возможно в будущем между контроллерами будет реальный обмен данными, и тогда сброс будет не нужен.

Anahoret
Участник

Только что сделал скрины.
У меня все работает.
Скрины в папке https://disk.yandex.ru/client/disk/IR%20%20receiver

Juris_3D
Участник

eto realjnyj link?

Anahoret
Участник

Реальный , но только для меня biggrin
Это расшаренный https://yadi.sk/d/tHsYSSi53Ld8bz

Juris_3D
Участник

Да, я уже прошил v7.3. А как надо реагировать (всмысле, чем) на вопросы про потенциометр, итд? Спасибо.

Anahoret
Участник

Той же кнопкой которой запускается режим программирования.
Время на раздумье 3 секунды.

Juris_3D
Участник

Спасибо за конструкцию и пояснения. Там наверное в архив надо Readme с инструкциями, с предупреждениями smile
Мда, очень надо бы какой байтик присылать от цветомузыки, о реальном состоянии дел разных.

Anahoret
Участник

Описание кинул в папку с прошивкой.
Одним байтиком не обойтись. Нужно минимум 3.
А если использовать стандартные протоколы то еще больше biggrin
Дело не в количестве байт а в том что много гемора с добавлением этого в авторскую прошивку.

Juris_3D
Участник

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

Anahoret
Участник

Тогда мегу нужно заменить на более мощный МК.

Juris_3D
Участник

Ура, сегодня я получил 20х4 дисплейчик с напаянным преобразователем, MCP поц тоже есть, буду мудить конструкцию по мере свободного времени smile

Juris_3D
Участник

Спасибо большое при-большое! biggrin

Anahoret
Участник

Спасибо m1x за унификацию оригинальной прошивки с прошивкой ПДУ.
V6 работает с ней без проблем. Но поскольку в новой прошивке есть новые эффекты и
поддержка WS2811, для коректного отображения на LCD ждите версию V7.
V7 будет выложена через несколько дней после официального релиза новой пршивки от m1x.

Juris_3D
Участник

Отличные новости! Я тут жду когда приедет дисплейчик (есть у меня 4х20, но без преобразователя), и тогда буду оформлять конструктивно это дело, версия новая наверное подоспеет. Сейчас у меня просто на хвосте гирлянды пикселей висит Arduino Pro Mini smile
А вот всё же, идея про другие индикаторы (с меньшими физическими размерами), OLED, TFT — не тянет Авторов в ту сторону? smile

Anahoret
Участник

На меньщие размеры не тянет. Много инфы можно увидеть на дисплее с диагональю 0.96 дюйма на расстоянии несколько метров ? Дисплей с диагональю 3-4 дюйма то что надо. Но такие дисплет уже требуют 2 порта МК!
Есть переходник для них , но его цена сопоставима с ценой дисплея. У меня есть другая задумка. Прикрутить RS485.
Тогда дисплеем может быть как экран монитора , так и экран смартфона. Плюс управление включая программы типа "умный дом".
Если у вас есть дисплей меньшего размера, с интерфейсом I2C, символьный, могу дать исходник V6 (V7 пока не существует). Адаптируете под свой дисплей.

Juris_3D
Участник

P.S.: я тут так подумал, подумал, и я тут согласен, экранчик тут маленький непрактичен будет. Скoро буду собирать на 20×4.

Anahoret
Участник

Прошивка LCD 1602 обновлена до версии 6.5.3

Anahoret
Участник

Прошивка для LCD 2004 обновлена до V6.5.3
Изменения в текстовом файле.

Juris_3D
Участник

А по которой ссылке всё это теперь?

Anahoret
Участник

Все по той же
https://yadi.sk/d/tHsYSSi53Ld8bz

Juris_3D
Участник

cool  up

Anahoret
Участник

Выложил принципиальную схему. Пока в виде картинки.
Желающие могут ознакомится.

Anahoret
Участник

По просьбе трудящихся на плате предусмотрен
United Sexy Boys victory формата micro.
Только для питания.
Файл платы перезалит.

Juris_3D
Участник

Ю эс би форева!

Anahoret
Участник

Прошивка для LCD 1602.
IR_Lichtorgel_WS2812_LCD_1602_0x3F_V6_5_2_PWM.
Написана в соавторстве с котярой biggrin

Juris_3D
Участник

Это всмысле так же, но на 2-рядный LCD ?
И, как там перспектива (это не срочно) по прошивке / прошивкам на 48 пикселей? Спасибо.

Anahoret
Участник

Да, это на 2х строчный LCD.
По поводу прошиви. Автор пока не ответил.
Если очень надо, сделаю smile

Juris_3D
Участник

Не, мне не критично сейчас вот так сразу smile

Anahoret
Участник

Новые прошивки тут https://yadi.sk/d/tHsYSSi53Ld8bz

Juris_3D
Участник

Спасибо за продвинутую версию. Буду по немножку собирать (всё ещё летний режим, конструкции не так быстро строятса smile ). Я могу очень очень попросить вариант прошивки на 48 пикселей? Заранее Большое Спасибо!

Anahoret
Участник

Я связался с автором прошивки.
И если уважаемый m1x сочтет возможным,
все последующие прошивки будут совместимы.
Если нет, выложу прошику.

Juris_3D
Участник

Отлично! Особенно, если прошивки "поравняютса".

Anahoret
Участник
Новая версия ДУ для Lichtorgel. Что нового: Регулировка входного сигнала на линейном входе цифровым SPI потенциометром МСР41010. Этот потенциометр при включении устанавливается в средний уровень. Поэтому предусмотрено при включении автоматическая установка уровня потенциометра в последний сохраненный уровень. Микрофонный вход на основе MAX9814. Возможность менять усиление с пульта. LCD 2004, 4 строки по 20 символов. Выодится название текущего эффекта, Fadespeed mode, Aggressive mode, линейный или микрофонный вход, уровень цифрового потенциометра или усиление микрофонного усилителя. Изменение уровня подсветки дисплея (+ 1 провод на дисплей). Предусмотрена возможность переключения на другой контроллер эффектов. Фотки с LCD.
Juris_3D
Участник

Отлично!! smile

Anahoret
Участник

Обновление.
IR_eeprom_Lichtorge_WS2812_LCD_V2.2.
Оптимизация кода, косметический ремонт, ну и т.д. smile
Прошивка Lichtorgelws2812 ( в комплекте ) максимально совместима с оригиналом.
Есть косметические отличия.
Качаем, пробуем, высказываем свое ФИИ…
https://yadi.sk/d/sqXCxmEc3KS99v

P.S.
Доступ к аккаунту superman утрачен благодаря дебилам из юкоза.
Будем востанавливать. Пока пользуюсь этим аккаунтом.
На прошлый аккаунт пришли несколько ЛС. Просьба переслать их сюда.

Juris_3D
Участник

Доброе время! Вот, после некоторой паузы я тут решил покопатся в цветомузыках. Вопрос по данной модификации. Вижу в описании (TXT), что основанно на июньской прошивке от m1x, плюс функция долгого нажатия кнопки "Demo". А вопрос такой: прошивка существует только на вариант ленты 96 "пикселей"? У меня 48, половинка.

Anahoret
Участник

У меня 100 пикселей. Поэтому скомпилировал на 96 пикселей.
Могу скомпилировать на другое количество.

Juris_3D
Участник

Я очень был бы признателен за вариант на 48 пикселей. Заранее Большое Спасибо! smile
По индикации, китайский OLED со входами SDA/SCL не будет ничего показывать? smile Попробую, когда соберу/прошью.

Anahoret
Участник
Anahoret
Участник

Для инициализации дисплея в программе нужно указать адрес дисплея, количество символов в строке, количество строк.

superman
Участник

В архиве:
Схема
Описание
Прошивка для Lichtorgelws2812
Прошивки для IR приемника.
Прбуйте smile
https://yadi.sk/d/I-TbH6AL3KPQMq

superman
Участник

Прошивка почти готова.
Есть желающие потестить ?
Нюансы:
С авторской прошивкой не работает.
Вывод РВ2 Lichtorgel нужно будет подключить на ADC6 приемника.
ADC6 отсутствует в DIP корпусе.
После использования DEMO режима для корректного отображения
нужно сбросить настройки на дефолтные.
Кнопки к приемнику пока не прикручены.
Адрес I2C дисплея 0x3F . Дисплей 1602.

comment image

comment image

comment image

Juris_3D
Участник

Отличное продвижение! Я бы мог попробовать, через недельку или где то так по времени.
А то сейчас у нас Праздники smile Можно сказать, главные в году:
http://www.latvia.travel/en/article/summer-solstice-celebrations
https://www.google.lv/search?….bih=891

superman
Участник
Прототип PSB . Для любителей дисплеев. Особенности: Возможность подключить как I2C так и SPI дисплей. При небольшой доработке можно подключить тач дисплей. Возможность подключения энкодера. Возможность подключения до 7 аналоговых кнопок. Коммутатор входов он боард, HEF4066 или аналогичный.. Можно коммутировать либо 4 моно входа. Либо 2 стереовхода. Возможность подключить SPI потенциометры (+ SPI дисплей). До 7 управляющих выходов (зависит от количества подключенной переферии). Возможность управлять любым пультом ДУ. Плата однослойная. Размер 80Х36 (размер LCD 1602 на psb). Использование Arduino NANO V3. Прошивка меняется через стандартный разьем ISP6Pin. Если не использовать RXD TXD выводы, скетч заливаем через USB. Недостатки: Плата универсальная.… Читать далее »
Juris_3D
Участник

superman, Спасибо за разработку! smile Я временами большой маньяк на разные пульто-прибамбасы smile wink

superman
Участник

Я похоже тоже biggrin
Уже есть код для работы с LCD.
К сожалению LCD в пути. Так что проверка в железе откладывается.

Juris_3D
Участник

Да, на каком LCD мы можем уже что-то потестировать? smile
У меня коллекция всяких набралась, может уже есть нужный.

superman
Участник

Заказал пока самый простой 1602.
Плюс модуль I2C.
Если есть желающие потестит, могу выложить HEX файл.
Компилятор на код не ругается, но полная работоспособность не гарантирована.
И еще. На оригинальных прошивках будет работать с глюками.
Поэтому в комплекте будет патченная прошивка.

superman
Участник

"Модуль был задуман как самостоятельное универсальное устройство."

А вот и прототип задумки.
comment image smile
4 коммутируемых входа.
4 SPI потенциометра.
Энкодер.
LCD дисплей на I2C.
5 выходов имитирующих нажатие кнопки.

artemmaksimov2004
Участник

Спасибо! biggrin smile