RSS блога
Подписка
RGB led лента + Orange Pi PC = Новогодние огни. Готовимся к Новому году.
- Цена: $7.98
- Перейти в магазин
В преддверии Нового года была приобретена самая простая трехцветная светодиодная лента 5 м, без влагозащиты по сходной (акция) цене 63 руб. Сейчас цена уже другая. Цель приобретения — попробовать сделать новогодние огни. Управлять лентой планировалось с помощью Orange Pi PC (OPi).
Параметры RGB ленты:
Напряжение питания 12 В
Ток на один канал 300 мА
Итого максимальный ток примерно 1 А.
Естественно запитать прямо от OPi не получится — нужен дополнительный источник.
Нужна ещё схема управления… по сусекам поскреб и насобирал деталек. Чтобы обезопасить Opi необходимо организовать гальваническую развязку цепей управления от RGB ленты. Я использую времен СССР оптроны (АОТ110), резисторы и «буржуйские» MOSFET-транзисторы (IRF520N). Схема простая, деталей минимум.
Разводку платы не привожу, т.к. делалось «на глаз».
На ленте имеется разъём.
У тех что подороже с каждого конца по разъему (мама-папа), поэтому длину можно наращивать. Такой ответной части у меня нет. Думал отрезать и припаять на прямую, но потом приспособил панельку от микросхемы на 8 ножек — держится.
Так как назначение, прямо скажем, разовое, то программу решил делать по простому, но с графическим (GUI) интерфейсом. В программировании я дилетант и основной способ — это переделать под себя готовый пример. Использую язык C++, его сравнительно новую версию C++11. Для графического интерфейса библиотеку GTKmm.
Программирую сразу на Orange Pi PC. В качестве рабочей среду (IDE) использую CodeLite — можно установить из репозитория ARMBIAN. Для создания графического интерфейса использую Glade — из репозитория.
Можно было сделать совсем просто — диод включил/выключил, но я решил делать с управляемой яркостью. В OPi один всего ШИМ и до него добраться не просто, мне же надо три. Поэтому использую программную реализацию ШИМ. Есть для этого в библиотеке соответствующая функция, но я решил реализовать ее самостоятельно т. к. высокая точность мне не нужна, а нужна некоторая гибкость. Период для ШИМ выбираю достаточно большой, примерно 40 мс. Мерцание будет, но это для освещения плохо, а здесь скорее наоборот. Это ж новогодние огни, мерцание создает живость. Шаг изменения ШИМ будет примерно 1 мс. Плюс управляемое, с заданной частотой, включение-выключение каждого канала. Частота переключения от сотен миллисекунд до нескольких секунд. Каждый ШИМ запускается в своем потоке (использую std::thread). Из графического интерфейса меняем яркость каждого канала и частоту переключения.
Текст программы можно посмотреть тут (комментариев минимум). Я дилетант в деле программирования, так что не обессудьте. В заголовочном файле «main.h» можно поменять номера ножек управления. Если программа кому интересна готов ответить на вопросы.
Думал что три программных канала ШИМ будут грузить процессор, но оказалось, что нет.
Подергав «движки» можно подобрать забавные эффекты. Они конечно простые, но результатом я доволен. Можно всё это усовершенствовать, усложнять, но смысла не вижу.
Добавил видео , из-за биений между частотой кадров и ШИМ эффект получается немного другой.
Параметры RGB ленты:
Напряжение питания 12 В
Ток на один канал 300 мА
Итого максимальный ток примерно 1 А.
Естественно запитать прямо от OPi не получится — нужен дополнительный источник.
У меня нашелся от старого монитора.
Нужна ещё схема управления… по сусекам поскреб и насобирал деталек. Чтобы обезопасить Opi необходимо организовать гальваническую развязку цепей управления от RGB ленты. Я использую времен СССР оптроны (АОТ110), резисторы и «буржуйские» MOSFET-транзисторы (IRF520N). Схема простая, деталей минимум.
Схема
Разводку платы не привожу, т.к. делалось «на глаз».
Вид на плату сверху
На ленте имеется разъём.
Лента с разъёмом.
У тех что подороже с каждого конца по разъему (мама-папа), поэтому длину можно наращивать. Такой ответной части у меня нет. Думал отрезать и припаять на прямую, но потом приспособил панельку от микросхемы на 8 ножек — держится.
Разъём из панельки
Так как назначение, прямо скажем, разовое, то программу решил делать по простому, но с графическим (GUI) интерфейсом. В программировании я дилетант и основной способ — это переделать под себя готовый пример. Использую язык C++, его сравнительно новую версию C++11. Для графического интерфейса библиотеку GTKmm.
Программирую сразу на Orange Pi PC. В качестве рабочей среду (IDE) использую CodeLite — можно установить из репозитория ARMBIAN. Для создания графического интерфейса использую Glade — из репозитория.
Можно было сделать совсем просто — диод включил/выключил, но я решил делать с управляемой яркостью. В OPi один всего ШИМ и до него добраться не просто, мне же надо три. Поэтому использую программную реализацию ШИМ. Есть для этого в библиотеке соответствующая функция, но я решил реализовать ее самостоятельно т. к. высокая точность мне не нужна, а нужна некоторая гибкость. Период для ШИМ выбираю достаточно большой, примерно 40 мс. Мерцание будет, но это для освещения плохо, а здесь скорее наоборот. Это ж новогодние огни, мерцание создает живость. Шаг изменения ШИМ будет примерно 1 мс. Плюс управляемое, с заданной частотой, включение-выключение каждого канала. Частота переключения от сотен миллисекунд до нескольких секунд. Каждый ШИМ запускается в своем потоке (использую std::thread). Из графического интерфейса меняем яркость каждого канала и частоту переключения.
Текст программы можно посмотреть тут (комментариев минимум). Я дилетант в деле программирования, так что не обессудьте. В заголовочном файле «main.h» можно поменять номера ножек управления. Если программа кому интересна готов ответить на вопросы.
Интерфейс программы выглядит так.
Думал что три программных канала ШИМ будут грузить процессор, но оказалось, что нет.
Системный монитор
Подергав «движки» можно подобрать забавные эффекты. Они конечно простые, но результатом я доволен. Можно всё это усовершенствовать, усложнять, но смысла не вижу.
Добавил видео , из-за биений между частотой кадров и ШИМ эффект получается немного другой.
Самые обсуждаемые обзоры
+77 |
3935
147
|
+57 |
4112
73
|
2. спрашивал тут кто-то зачем нужны компы типа апельсинки? вот пример.
А в указанных вами обзорах есть пошаговая инструкция, промежуточные результаты и, самое главное, конечный продукт. а тут нифига
Где фото/видео-то?
С видео не сложилось.
стандарт порядка 700страниц. куда уж ещё сложнее-то?
Т.к. управление ручное, то какой алгоритм и получается.
Разность в подходе и задаче, хотя формальный результат один. Вы пытаетесь свой подход навязать другим.
ebay.com/itm/191941835601
https://aliexpress.com/item/item/32649319593/32649319593.html
(from AliExpress Android)
1.11$ ))
aliexpress.com/item/1878315848/1878315848.html
«нет результата», «нет полного описания процесса»: нет! зато показано°, с чего можно начать; какие сложности ожидают самодельщика на платформе OPi на самом начальном этапе; каких результатов может сразу(что очень важно!) достичь даже "^C^V-программист"
а в остальном аргументация «слишком просто»/«можно дешевле»/«почему вы не сделали лучше» мне напоминает известные две проблемы — «нечего надеть»+«маленький шкаф»
° ну ладно, польстил — «обозначено»)
(в значении 1950-х годов см. у Стивена Кинга:)
Чисто конструктивная критика: доработайте пожалуйста, апельсинка же непаханное поле возможностей. Можно сделать ну очень «круто».
А за упоминание пакета программ для таких задач "+", возможно пригодится.
эта секция штырьков вынимается, попробуй подковырнуть чем-нибудь острым.
разьемы на лентах всегда мамские. просто китайцы втыкают в них эти двусторонние тонкие штырьки с шагом 2.54 (забыл как называются), судя по всему PLSS
(конкретно здесь «развязка» — это три оптрона)