Содержание
Вступление
Для работы устройства необходимо записать микропрограмму в память микроконтроллера, т.е. залить прошивку. Для совершения данного действия необходимо наличие программатора для AVR микроконтроллеров. Его можно как приобрести “за копейки” на AliExpress, так и сделать самому из подручного хлама. Главное чтобы он выполнял свою функцию.
Прошивки написаны в среде разработки Atmel Studio (ранее AVR Studio) и скомпилированы под кратное 8 разное количество светодиодов от 8 до 160 штук. Рекомендуемое количество – 96-120, именно в этом промежутке проходит основная “обкатка” прошивки перед релизом.
Так же имеются версии для кварца на 16 Мгц и на 20 Мгц. С последним устройство работает чуть оперативнее (плавнее), но с возможно присутствие небольшого “зеркального эффекта” в работе.
Использованные библиотеки:
- ColorFlow – конвертер цветовой модели HSV в RGB (автор – bkolbov). Когда-то библиотека размещалась в репозитории ColorFlow на BitBucket. На данный момент ссылка не действительна, а статус проекта неизвестен;
- Light weight WS2812 lib – библиотека для работы со светодиодами WS2811/WS2812/WS2812B и аналогов (автор – Tim aka cpldcpu);
- Arduino FHT Library – программное воплощение быстрого дискретного преобразования Хартли.
Прошивки
————————————————–
24.11.2018
————————————————–
Изменения со стороны эффектов:
– оптимизирована работа для большинства эффектов в режиме паузы;
Изменения со стороны ЦМУ:
– оптимизирована работа при смене разных цветовых пространств RGB => RBG => GRB => RGB;
– полностью переписана работа эффектов режимов VU-метра;
– теперь эффекты режима VU-метра участвуют в смене режимов работы ЦМУ при активации Demo-режима;
Остальное:
– добавлен новый режим, в котором можно на лету изменять количество светодиодов, задействованных в работе устройства.
Как это работает:
1. Вход в режим осуществляется одновременным удержанием кнопок “Demo” + “Fadespeed” + “Runlight” во время работы устройства;
2. Рабочий отрезок ленты (светодиоды) заливаются белым светом (20% возможной яркости).
3. Нажатием кнопок “Fadespeed” (уменьшение) и “Runlight” (увеличение) осуществляется установка количества задействованных в работе светодиодов (длинны ленты).
Рабочий отрезок ленты (светодиоды), залитый белым светом, соответственно будет уменьшаться или увеличиваться шагом в 8 светодиодов в диапазоне от 8 до 240 светодиодов.
4. Выход из режима осуществляется тем же способом, что и вход – одновременным удержанием кнопок “Demo” + “Fadespeed” + “Runlight“;
Данная установка может быть сохранена в память устройства удержанием кнопки “Runlight” и автоматически применяться при следующем включении устройства.
По умолчанию и при сбросе настроек установлена длинна ленты в 24 светодиода.
* в качестве эксперимента, добавлена возможность отключать функцию-окна библиотеки FHT. В данном случае библиотека должна работать чуть быстрее, но разделение частотного спектра будет хуже. Опция включается/отключается одновременным удержанием кнопок “Demo” + “Runlight“. Данная установка может быть сохранена в память устройства удержанием кнопки “Runlight” и автоматически применяться при следующем включении устройства.
При первом включении желательно сделать сброс настроек по умолчанию путем одновременного удержания кнопок “Runlight” и “Fadespeed”.