Управление гирляндой WS2812
Вдохновлено проектом https://github.com/bportaluri/ALA В данном проекте реализовано управление гирляндой попиксельно адресуемых светодиодов WS2812 при помощи Arduino. В расширенной версии предполагается управление со смартфона на Android через Bluetooth при помощи отдельного приложения , однако скетч сохраняет свою работоспособность и без подключенного модуля Bluetooth. Схема состоит из трёх основных частей:
- Гирлянды светодиодов WS2812 (подключение ведётся тремя контактами: D (данные), V+ (напряжение питания 5В) и V- (общий провод)
- Модуля Arduino Pro Mini. Работать будет любой модуль Arduino (Uno, Nano и т.п.) с контроллером, имеющим минимум 2КБ ОЗУ и логическими уровнями 5В
- Модуля Bluetooth. Работоспособность проверена на распространённом модуле HC-05, но теоретически будут работать и другие совместимые модули с последовательным интерфейсом (HC-06, модули на BK3231)
У Bluetooth-модуля уровни сигналов 3,3В, а у Arduino - 5В. Правильно использовать схему согласования уровней или хотя бы резистивный делитель в канале приёма, но работает и так
Модуль Bluetooth и гирлянда могут подключаться и к другим пинам Arduino. При смене пинов нужно поменять соответствующие константы в скетче. При подключении модуля Bluetooth также следует учитывать ограничения используемой библиотеки SoftwareSerial. Без модуля Bluetooth гирлянда работает автономно, меняя эффекты и цветовую палитру случайным образом. Для избегания резкого "мигания" в скетче реализована плавная смена эффектов.
Кнопка
Поддержка переключения эффекта кнопкой. Пин к которому подключена кнопка определяется переменной pinButtonNextEff. Длинное нажатие на кнопку начинает перебирать эффекты с интервалом в 1 секунду. После нажатия кнопки смена эффектов по времени отключается - будет постоянно работать выбранный эффект. Тройное нажатие на кнопку в течении одной секунды возвращает режим смены эффектов по времени.