Настраиваем RGB светодиоды в CleanFlight Naze32 — цветные светодиодные ленты на базе WS2811 и WS2812

testing-led-with-arduino-cleanflight-rgb-WS2811

Cleanflight поддерживает управление светодиодными лентами, и это очень круто. В этой статье я покажу вам как я подключал и настраивал светодиоды в Naze32 с прошивкой Cleanflight. Примерно то же самое будет и в случае CC3D.

RGB светодиоды не только помогают вам найти коптер или определить его положение в пространстве, они также могут отображать полетные данные, используя разные цвета, например: низкий заряд аккумулятора, полетный режим, RSSI, уровень газа и т.д.

Статья про то, как прошить CleanFlight на Naze32 или CC3D (англ.).

Другие способы включения и выключения светодиодов с пульта управления.

Рекомендуемые светодиодные ленты для Cleanflight

Функции для работы со светодиодами в Cleanflight в первую очередь рассчитаны на ленты с индивидуально адресуемыми светодиодами. Рекомендуемый тип WS2812. Эти светодиоды идут собранные в ленты, так что вы можете просто отрезать необходимую длину или нужное количество светодиодов. Им требуется всего 1 провод для управления и питание 5В.

Я использую светодиоды WS2811, они почти идентичны WS2812, и отлично работают. Они у меня остались от моих проектов TV Ambilight (англ.) и фонаря для велосипеда (англ.), это очень яркие светодиоды. Поддерживается управление 32 светодиодами, т.е. Cleanflight может менять цвет и яркость каждого отдельного светодиода.

Стоит примерно $15 за 1 метр на eBay, еще можно посмотреть на banggood это и это.

Припаиваем разъемы к светодиодной ленте

Я не сумасшедший фанат светодиодов, поэтому решил использовать только 9 штук, разделив их на 3 полосы по 3 штуки, так что размещу их на разных частях коптера.

У меня нет большого опыта в пайке, так что было достаточно сложно припаять разъемы на контактные площадки (Оскар преувеличивает 🙂 разъемы такого размера паяются очень легко, прим. перев.).

ВНИМАНИЕ: Нужно соблюдать направление установки светодиодных лент! (Спасибо Брайану, за этот комментарий).

WS2811-RGB-LED-soldering-connector-pin-plug

Светодиодные полоски в сравнении с Naze32. Я удивлен, даже цвет совпадает. 😀

naze32-cleanflight-led-rgb-WS2811

Сразу после пайки, я проверил светодиоды при помощи Arduino. Нужно использовать BEC на 5В для питания лент, т.к. светодиоды очень яркие и требуют немалого тока. Arduino (подключенное по USB) не способно дать такой ток, так что есть риск спалить плату. Я использовал библиотеку NeoPixel для тестирования с Arduino.

test-with-arduino-naze32-cleanflight-led-rgb-WS2811

Используя разъемы папа-мама можно соединить их последовательно.

testing-led-with-arduino-cleanflight-rgb-WS2811

Добавим немного термоусадки, ленты стали выглядеть намного лучше!

WS2811-with-heatshrink-protection-naze32-cleanflight-led-rgb

*ВНИМАНИЕ. Эти светодиодные ленты очень чувствительны к перегреву. Я повредил несколько штук когда паял их. Если они повреждены, то просто не будут работать. Запомните — не нужно долго держать паяльник при пайке контактов.

Обновление: уточнение деталей:

Я использовал разъемы папа-мама на лентах. «Папа» — вход, «мама» — выход (они совместимы с серворазъемами).

Чтобы подключить светодиоды к Naze32 используйте один провод для подключения к сигнальному контакту на плате, а питание лент возьмите со свободного разъема к моторам.

Резать эти ленты можно обычными ножницами.

Для соединения лент я использовал простые серво разъемы и не делал ничего чтобы защитить светодиоды, они достаточно прочные. Я беспокоился только о контакте там где паял, так что обернул в термоусадку и залил термоклеем.

Ток потребляемый светодиодами

Вам наверное интересно, какой ток потребляют эти светодиоды? Ответ — примерно 18мА каждый (конечно ток меняется в зависимости от цвета, синий потребляет больше чем красный, но это не важно для литиевых аккумуляторов). Это ток потребляемый тремя светодиодами:

current-test-of-3-led-naze32-cleanflight-rgb-WS2811

Включаем LED_Strip в Cleanflight

Как вы знаете на плате Naze32 ограниченное число выходов. Чтобы использовать управление светодиодами, мы можем воспользоваться одним из свободных входов управления. По молчанию все pin1-pin8 используются как вход; для того чтобы использовать их как выход, нужно включить PPM. В этом случае только pin1 будет использован для входных данных (все каналы), а остальные пины будут свободны. PPM — это здорово, он делает вашу разводку проводов проще и опрятнее. Я рекомендую использовать PPM даже без LED_strip.

Введите следующие команды в CLI для включения LED_strip:

# feature rx_ppm
Enabled RX_PPM
# feature led_strip
Enabled LED_STRIP

Подключаем светодиодную ленту к Naze32

В зависимости от числа светодиодов вам нужно подсчитать потребляемый ток и выбрать соответствующий BEC. Я рекомендую использовать отдельный BEC (например от регулятора) для питания светодиодов, и не использовать тот BEC что питает радиоприемник и полетный контроллер (в этом случае просто подключите + и — к свободным контактам выходов).

Как я упоминал, эти светодиоды требуют только 1 провод для данных и контакт для светодиодов это Radio pin5 на naze32 и CC3D.

Naze32 RC5
CC3D RCO5
ChebuzzF3/F3Discovery PB8
Sparky PWM5

RC5 также используется для SoftSerial и Parallel PWM на Naze32, это значит что вы не сможете использовать LED_Strip вместе с этими функциями.

Настраиваем светодиодную ленту в Cleanflight

Есть 2 способа настройки светодиодов в CleanFlight: первый — закладка LED в графическом интерфейсе, второй — через CLI

Настраиваем светодиоды через CLI

Для настройки нужно использовать команду led. Просто «led» без параметров выдаст текущую конфигурацию.

Каждый отдельный светодиод должен быть сконфигурирован командой вида «lednumber x,y:ddd:mmm»

lednumber — это порядковый номер светодиода в вашей ленте. Светодиоды нумеруются с 0.

Система светодиодов это матрица 16 на 16, x и y — это координаты. Так что если x, y = 0,0, то это левый верхний угол. 15,15 — это ячейка в правом нижнем углу.

cleanflight-led-grid

ddd — это направление, где N — север, E — восток, S — юг, W — запад, U — верх, D — низ. Например светодиод направленный на юго-восток под углом 45 градусов вниз должен быть сконфигурирован как SED.

mmm — это режим светодиода. Поддерживаются следующие режимы:

  • W — warning — предупреждение
  • F — Flight mode — режим полета и ориентация
  • I — indicator — индикатор
  • A — Armed State — заармлен или нет
  • T — Trust State — газ

Чтобы отметить конец ленты наберите:

led 4 0,0::

Например если я использую только 3 светодиода: первый на левом переднем луче, второй на правом переднем луче и один сзади рамы:

 1           2 
            / 
           / 
    FRONT /
    |    | 
   / 
  /   3 
 / 
/

То нужно определить мою светодиодную ленту как:

led 0 0,0:ND:IA 
led 1 0,15:ND:WF 
led 2 8,8:D:IA 
led 3 0,0:: 
save

Настраиваем через графический интерфейс, вкладка Led Strip

Наверное это самый простой способ настройки светодиодных лент.

Открываем CleanFlight Configurator, вкладку LED Strip. Если у вас уже есть какая-то конфигурация и вы не хотите ее использовать, нажмите «Clear All Wiring». Чтобы начать добавлять светодиоды нажмите «Wire Ordering Mode».

cleanflight-configure-led-step-1

Теперь нажмите в сетке чтобы разместить светодиод. Я размещу 3 светодиода. Затем выйдите из режима «Wire Ordering».

cleanflight-configure-led-step-2

Следующий шаг: кликаем на каждом светодиоде, чтобы назначить им функции (LED functions) и положение (LED orientation).

cleanflight-configure-led-step-3

После того как настроили все светодиоды нажмите «Save» (минимальная версия прошивки 1.6).

cleanflight-configure-led-step-4

Больше примеров можно найти на странице LED strip page (англ.).

Результат

Результат вышеприведенной настройки. Просто представьте что 3 светодиода размещены не вместе а где было указано.

Еще один пример конфигурации светодиодов в Cleanflight

В этот раз я действительно размещу светодиодные полосы на миникоптере. Я буду использовать 8 светодиодов. 3 на левом переднем луче, 3 на переднем правом и 2 сзади рамы.

Мои настройки через CLI

led 0 8,9:SD:A
led 1 8,8:SD:AT
led 2 0,0:WD:IA
led 3 1,0:WUD:FT
led 4 2,0:WD:WFT
led 5 13,0:ED:WFT
led 6 14,0:EUD:FT
led 7 15,0:ED:IA
led 8 0,0::

Та же самая конфигурация, но графически:

led-cleanflight-grid-example

Мне кажется, все еще достаточно сложно использовать светодиоды в CleanFlight, надеюсь в будущем этот функционал будет улучшен и сделан более дружественным пользователю.

Вот как я разместил светодиодные ленты снизу коптера:

2s-mini-quad-build-led-bottom-wiring-connection

А теперь небольшое итоговое видео:

 

Оригинал: Setting up RGB LED on CleanFlight Naze32 – Colorful WS2811 WS2812 Strip

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.