Разработка LED контроллера для моделек.

iJack

Появилась идея разработать LED контроллер для моделек, в частности для коптера, но с возможностью применения где угодно.
Хочу услышать ваше мнение, а нужно ли изобретать велосипед? Возможно уже есть аналогичные решения? Возможно нет смысла в разработке и оно просто никому не надо.
Поиск готовых решений привел только к MWC-LigthRGB от Hadi-Rc у которого весьма бедные возможности.
Я же хочу контроллер примерно такой характеристики:

  • подключение к USB

  • на компе спец программка, где можно настроить контроллер

  • настройки:

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

Из аппаратных возможностей:

  • переключение программ
  • управление яркостью
  • управление скоростью мигания
  • подключение к полетному контроллеру для сигнализации состояния модели

На первом этапе, хочу сделать для личного использования, так как мой MWCLigthRGB попросту перестал работать, хотя сам чип живой (видимо выгорел порт). Если будет интерес к проекту, возможно запуск в производство и/или опенсорс.
На данный момент уже есть наработки. Тестировал на atmega с той же лентой ws2812b, все работает, корректно получается мигать по произвольным шаблонам, т.е. для личных нужд мне бы и этого хватило, Но для полной реализации задуманного atmega не подойдет. Для конечного результата планирую использовать STM32 с аппаратной поддержкой USB и AES шифрования. Себестоимость продукта/железа около 5$

ADF

Выскажу своё мнение:
Во-первых оно как бы не очень сложно делается на базе любого МК, даже на ардуине. Сложнее - силовые каналы распаять, если нужна именно универсальность нагрузок (чтоб ленту какую угодно и т.д.);

Во вторых, в чем причина отсутствия подобных штук на рынке - а нужен ли столь бохатый функционал? Самим паттерном мигания, как не старайся, ничего особенного не изобразить. Очень часто все сводится к двум вариантам: или мигать в стиле БАНО, как в реальной авиации, или мигать как-то иначе от балды, для повышения видимости модели при ночных полетах (например “обратные” вспышки - когда светодиоды включены почти все время, но периодически кратковременно гаснут) - но разнообразие тут редко когда нужно. Либо - цветами происходит индикация каких-то полетных режимов, сообщение об ошибках и т.д. - своеобразная визуальная телеметрия.

И что значит настройка через USB? Если на ардуине сделать, так можно тупо в прошивке функционал править и по новой заливать, без какого либо доп. софта ) Тут по сути всё к силовой плате сводится, которая нагрузками будет управлять.

iJack

ADF, спасибо большое!

ADF:

в чем причина отсутствия подобных штук на рынке - а нужен ли столь бохатый функционал?

Я не знаю, я вообще кроме этого MWCLigthRGB больше ничего не нашел. Ну как вот люди выкладывают видео с разнообразными мигания, что у всех MWCLigthRGB стоит? - нет конечно, да он и не способен на такие мигания.
Давайте порассуждаем, любая моделька - это в первую очередь игрушка, а игрушка должна быть яркая. Просто зажечь габаритные огни - это все просто и банально, а вот возможность самому сформировать последовательность мигания или наблюдать индикацию состояния модельки - это круто и думаю каждый кто цепляет себе свет, именно этого и хотел бы. или же, я один такой. :d

ADF:

Самим паттерном мигания, как не старайся, ничего особенного не изобразить

Думаете? А давайте попробуем, напишите такой пример. Главное как реализовать обработку шаблонов.

ADF:

Очень часто все сводится к двум вариантам: или мигать в стиле БАНО, как в реальной авиации, или мигать как-то иначе от балды … но разнообразие тут редко когда нужно

Тоже так считаю. Возможно все это разнообразие надоест и будет просто гореть подсветка.

ADF:

И что значит настройка через USB? Если на ардуине сделать …

Если это для себя - ДА, сделать можно на чем угодно и как угодно, НО я говорю про готовый продукт который можно купить в магазине, и вопрос стоит, либо найти такой продукт, либо создать.

ADF
iJack:

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

  • Разные последовательности мигания имеют смысл, если светодиодов много и они образуют некое подобие дисплея (в широком смысле). Когда там разные формы или даже картинки можно изображать.
    Самый примитивный случай - когда огоньки хотя-бы в линию вытянуты, как ёлочная гирлянда (одномерный дисплей). Но даже у ёлочной гирлянды - по сути всего три вида миганий: 1) огни бегут туда, 2) огни бегут сюда, 3) огни мигают на месте 😁
iJack:

наблюдать индикацию состояния модельки - это круто и думаю

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

iJack:

, напишите такой пример…

Нет 😃 Но для проверки целесообразности разных паттернов мигания - есть смысл на писюке тестовый проектик сбацать, буквально на чем угодно, хоть на яваскрипте - чтобы на статичной картинке нарисованые лампочки в разной последовательности вспыхивали… И понять, что разные способы мигания не имеют какого-то особого смысла, если это не дисплей. А если даже будет дисплей - не стоит забывать, что все это на модели, движется и с земли может сливаться в точку.

Если светодиодов не много, в качестве шаблона последовательности мигания можно просто строковую переменную использовать. Каждый символ кодирует комбинацию включеных-выключеных огней, перебираются с частотой, допустим, 1 герц и по достижению конца строки по кругу. Думаю нет смысла ради такой фигни - парсить хмл😁

iJack
ADF:

Это как бы по факту есть у коптерных контроллеров и у некоторых приемников. Мигают про уровень заряда батареи, про уровни сигнала, про полётный режим.

Совершенно верно. Можно, да, расширить видимость, но и не только это. Когда-то встречал на форуме, тоже кто то писал про такой LED контроллер, он хотел индикацию таких моментов как повороты, вперед/назад, подъем и посадка.
Можно еще придумать кучу всяких индикаций нужных конкретному пользователю.

ADF:

Но для проверки целесообразности разных паттернов мигания - есть смысл на писюке тестовый проектик сбацать…

Я же писал, делал уже на меге, мигает по шаблону с eeproma, проблем в этом не вижу. тем более при использовании stm.

ADF:

Если светодиодов не много, в качестве шаблона последовательности мигания можно просто строковую переменную использовать…Думаю нет смысла ради такой фигни - парсить хмл😁

Контроллером парсить хмл? O_O это же извращение. Строковая переменная тоже не очень удачное решение. Вот для этих задач и служит ПО на стороне компа, которое будет упаковывать шаблон в байтовую последовательность и сохранять в eeprom.
Но сейчас не стоит вопрос о способах реализации задуманного.

ADF

Строковая переменная хороша тем, что не надо её никуда упаковывать. Тупо в код проекта руками настучал, прошил. Потому, что кроме как себе любимому, этот контроллер вряд ли пригодится =)