- PVSM.RU - https://www.pvsm.ru -
А по мне, то лучший способ провести длинные тёмные зимние вечера — это за разработкой алгоритмов для праздничной иллюминации.
Представляю открытый проект новогодней гирлянды на основе LED ленты со светодиодами WS2812B. Гирлянда питается от 4-х AA аккумуляторов. С текущими настройками проект поддерживает 122 светодиода на ленте, но легко может быть расширен до 1000 светодиодов и более. Гибкий перенастраиваемый алгоритм генерации световых эффектов. Проект содержит программу управления гирляндой с телефонов или планшетов, компилируемую без модификаций под iOS, Android и Windows.
Управляется лента в моем проекте модулем K66BLEZ [1] c микроконтроллерами семейства Kinetis.
Знакомство с модулем K66BLEZ1 было начато в статьях:
— Модуль универсального контроллера для интернета вещей. Вдыхаем жизнь [1]
— Модуль универсального контроллера для интернета вещей. Тестирование FatFs [2]
— Модуль универсального контроллера для интернета вещей. Основы программирования [3]
— Схема модуля [4]
— Репозитарий проекта [5]
Высокопроизводительный способ работы со светодиодной лентой на WS2812B был описан здесь [6]. В данном проекте я использую тот же принцип. Как и STM32 микроконтроллеры семейства Kinetis K66 имеют в себе таймеры с доступом по DMA (механизм прямого доступа к памяти минуя процессор). На этот раз я использую прерывания после окончания каждого цикла DMA чтобы обновить состояния светодиодов согласно алгоритму генератора эффектов.
К модулю присоединяемся через макетную плату:
Макетная плата практически ничего не содержит кроме двух разъемов. Один разъем предназначен для подключения аккумуляторов, другой для подключения ленты.
Ниже схема макета (кликабельно):
Интересной особенностью ленты является ее способность работать от гораздо более низкого напряжения чем написано в спецификации. Гирлянда сохраняет работоспособность при понижении напряжения на аккумуляторах до 2.9 В!
При свежих аккумуляторах гирлянда получает напряжение 5 В, но при этом управляющий сигнал подается напрямик с микроконтроллера и имеет амплитуду 3 В и сбоев в управлении светодиодами не происходит.
Так выглядит работа гирлянды на столе в режиме отладки:
Исходники проекта находятся здесь — Indemsys/K66BLEZ_WS2812B_LED_strip_control [7].
Проект состоит из 3-х программных частей:
Помимо основного приложения проект содержит стеки USB, TCP/IP, файловую систему, отладочный монитор и многое другое. По сути это фреймворк для создания разнообразных приложений где управление гирляндой является просто некоторым простейшим демонстарционным приложением. Среда разработки — IAR 7.70.2.
Проект развивается. И надеюсь к следующему Новому году гирлянда будет управляться голосом и из облаков.
Автор: Indemsys
Источник [8]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie/227906
Ссылки в тексте:
[1] K66BLEZ: https://geektimes.ru/post/274100/
[2] — Модуль универсального контроллера для интернета вещей. Тестирование FatFs: https://geektimes.ru/post/274416/
[3] — Модуль универсального контроллера для интернета вещей. Основы программирования: https://geektimes.ru/post/276098/
[4] — Схема модуля: https://github.com/Indemsys/K66BLEZ1/blob/master/PCB/K66BLEZv1.pdf
[5] — Репозитарий проекта: https://github.com/Indemsys/K66BLEZ1
[6] здесь: https://geektimes.ru/post/255548/
[7] Indemsys/K66BLEZ_WS2812B_LED_strip_control: https://github.com/Indemsys/K66BLEZ_WS2812B_LED_strip_control
[8] Источник: https://geektimes.ru/post/284248/
Нажмите здесь для печати.