Lightbox с управлением по bluetooth из Android-приложения
Захотел собрать свой первый лайтбокс. Но имея навыки программирования, решил заморочиться и написать к нему приложение для управления подсветкой. Конечно, можно было купить готовую RGB-ленту с bluetooth-контроллером и приложением для него, но это же неинтересно.
За довольно популярный шаблон с оленями спасибо пользователю @Rostik.Boroda (пост).
За руководство по сборке спасибо @hotdonkey (пост).
Как и в оригинальном посте @hotdonkey для изготовления лайтбокса я использовал пенокартон, плотную бумагу, оргстекло, светодиодную ленту WS2812B 60 светодиодов/метр на 5 Вольт (очень крутая штука благодаря наличию пиксельной адресации), Arduino Nano + от себя добавил bluetooth-модуль HC-06.
Arduino с помощью bluetooth-модуля общается с внешним миром. Она передает данные о состоянии лайтбокса (количество светодиодов по каждой из четырех сторон, откуда начинается отсчет светодиодов, их цвет и яркость) и принимает команды для установки нового цвета.
Для отладки работы с Arduino по bluetooth на начальном этапе использовал приложение Bluetooth Terminal из Google Play (любое из миллиарда найденных).
Затем написал своё приложение под Android. Суть такова. При подключении к лайтбоксу приложение получает его характеристики и рисует в соответствии с ними свой интерфейс.
При нажатии на картинку лайтбокса в приложении появляется окно выбора цвета и яркости.
В таком случае цвет применяется ко всей светодиодной ленте.
Но можно выделить определенные светодиоды и выбрать цвет конкретно для выбранных.
Лайтбокс умеет сохранять своё последнее состояние, поэтому после выключения/включения он восстановит свой предыдущий цвет.
Если кто-то захочет это повторить и нужны подробности с кодом, напишите в комментах (я на самом деле не знаю, нужно ли это кому-нибудь и не хочется тратить силы впустую). Тогда я приведу код в порядок и выложу в открытый доступ.