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

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

Плюсы:
Работает с любым пультом (наверное).
Работает с командами до 4х байт (брендовые пульты).
(Было протестировано на SAMSUNG, LG, и кучи китайского уг.
С брендом работает как часы, ну а уг, оно и в Африке уг :))))).)
Не нужно прошивать команды. Приемник сам сохраняет их в 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.

0 0 vote
Article Rating

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

не в сети 3 дня

Radan

0
Комментарии: 954Публикации: 191Регистрация: 30-11--0001
Поделиться
Войти с помощью: 
Подписаться
Подписаться на
78 Комментарий
новые
старые рейтинг
Inline Feedbacks
View all comments
Ildus
1 год назад

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

Anahoret
3 лет назад

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

Anahoret
3 лет назад

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

Juris_3D
3 лет назад
Reply to  Anahoret

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

Anahoret
3 лет назад
Reply to  Juris_3D

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

Anahoret
3 лет назад

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

Anahoret
3 лет назад

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

Anahoret
3 лет назад

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

Anahoret
3 лет назад

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

Juris_3D
3 лет назад
Reply to  Anahoret

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

Anahoret
3 лет назад

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

Juris_3D
3 лет назад
Reply to  Anahoret

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

Juris_3D
3 лет назад
Reply to  Anahoret

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

Juris_3D
3 лет назад
Reply to  Anahoret

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

Anahoret
3 лет назад
Reply to  Juris_3D

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

Juris_3D
3 лет назад
Reply to  Anahoret

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

Anahoret
3 лет назад
Reply to  Juris_3D

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

Juris_3D
3 лет назад
Reply to  Anahoret

eto realjnyj link?

Anahoret
3 лет назад
Reply to  Juris_3D

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

Juris_3D
3 лет назад
Reply to  Anahoret

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

Anahoret
3 лет назад
Reply to  Juris_3D

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

Juris_3D
3 лет назад
Reply to  Anahoret

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

Anahoret
3 лет назад
Reply to  Juris_3D

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

Juris_3D
3 лет назад
Reply to  Anahoret

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

Anahoret
3 лет назад
Reply to  Juris_3D

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

Anahoret
3 лет назад
Reply to  Juris_3D

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

Juris_3D
3 лет назад
Reply to  Anahoret

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

Anahoret
3 лет назад
Reply to  Juris_3D

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

Juris_3D
3 лет назад
Reply to  Anahoret

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

Anahoret
3 лет назад
Reply to  Juris_3D

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

Anahoret
3 лет назад

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

Juris_3D
3 лет назад
Reply to  Anahoret

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

Anahoret
3 лет назад
Reply to  Juris_3D

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

Juris_3D
3 лет назад
Reply to  Anahoret

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

Anahoret
3 лет назад

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

Anahoret
3 лет назад

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

Juris_3D
3 лет назад
Reply to  Anahoret

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

Anahoret
3 лет назад
Reply to  Juris_3D

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

Juris_3D
3 лет назад
Reply to  Anahoret

cool  up

Anahoret
3 лет назад

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

Anahoret
3 лет назад

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

Juris_3D
3 лет назад
Reply to  Anahoret

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

Anahoret
3 лет назад

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

Juris_3D
3 лет назад
Reply to  Anahoret

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

Anahoret
3 лет назад
Reply to  Juris_3D

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

Juris_3D
3 лет назад
Reply to  Anahoret

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

Anahoret
3 лет назад

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

Anahoret
3 лет назад
Reply to  Radan

Плата пока не изготавливалась и даже не проерялась на ошибки.
Выложена вместе с прошивками.

Anahoret
3 лет назад
Reply to  Radan

А вы зайдите туда еще раз
1 IR LCD 2004-15.lay6 smile

Juris_3D
3 лет назад
Reply to  Anahoret

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

Anahoret
3 лет назад
Reply to  Juris_3D

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

Juris_3D
3 лет назад
Reply to  Anahoret

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

Anahoret
3 лет назад

Новая версия ДУ для Lichtorgel.

Что нового:

Регулировка входного сигнала на линейном входе цифровым SPI потенциометром

МСР41010.
Этот потенциометр при включении устанавливается в средний уровень. Поэтому

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

Микрофонный вход на основе MAX9814. Возможность менять усиление с пульта.

LCD 2004, 4 строки по 20 символов.
Выодится название текущего эффекта, Fadespeed mode, Aggressive mode,
линейный или микрофонный вход, уровень цифрового потенциометра или усиление

микрофонного усилителя.

Изменение уровня подсветки дисплея (+ 1 провод на дисплей).

Предусмотрена возможность переключения на другой контроллер эффектов.

Фотки с LCD.
comment image

Juris_3D
3 лет назад
Reply to  Anahoret

Отлично!! smile

Anahoret
3 лет назад
Reply to  Radan

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

Прошивка скоро будет. Небольшой косметический ремонт smile

Спойлер
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 (на подсветку, желательно через транзистор)

Anahoret
3 лет назад

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

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

Juris_3D
3 лет назад
Reply to  Anahoret

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

Anahoret
3 лет назад
Reply to  Juris_3D

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

Juris_3D
3 лет назад
Reply to  Anahoret

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

Anahoret
3 лет назад
Reply to  Juris_3D

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

Anahoret
3 лет назад
Reply to  Juris_3D

48 пикселей
https://yadi.sk/d/brp6B13j3KpBK9

superman
3 лет назад

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

superman
3 лет назад

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

comment image

comment image

comment image

Juris_3D
3 лет назад
Reply to  superman

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

superman
3 лет назад

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

Juris_3D
3 лет назад

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

superman
3 лет назад
Reply to  Juris_3D

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

Juris_3D
3 лет назад
Reply to  superman

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

superman
3 лет назад
Reply to  Juris_3D

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

superman
3 лет назад

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

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

artemmaksimov2004
3 лет назад

Спасибо! biggrin smile