Cleanflight підтримує управління світлодіодними стрічками, і це дуже круто. У цій статті я покажу вам як я підключав і налаштовував світлодіоди в Naze32 з прошивкою Cleanflight. Приблизно те ж саме буде і в разі CC3D.
RGB світлодіоди не тільки допомагають вам знайти коптер або визначити його положення в просторі, вони також можуть відображати польотні дані, використовуючи різні кольори, наприклад: низький заряд акумулятора, польотний режим, RSSI, рівень газу і т.д.
Рекомендовані світлодіодні стрічки для Cleanflight
Я використовую світлодіоди WS2811, вони майже ідентичні WS2812, і відмінно працюють. Вони у мене залишилися від моїх проектів TV Ambilight (англ.) І ліхтаря для велосипеда (англ.), Це дуже яскраві світлодіоди. Підтримується управління 32 світлодіодами, тобто Cleanflight може міняти колір і яскравість кожного окремого світлодіода.
Варто приблизно $ 15 за 1 метр на eBay, ще можна подивитися на banggood це і це.
Припаюємо роз'єми до світлодіодним стрічці
Я не божевільний фанат світлодіодів, тому вирішив використовувати тільки 9 штук, розділивши їх на 3 смуги по 3 штуки, так що розміщу їх на різних частинах коптера.
У мене немає великого досвіду в пайку, так що було досить складно припаяти роз'єми на контактні площадки (Оскар перебільшує 🙂 роз'єми такого розміру паяются дуже легко, прим. Перекл.).
Світлодіодні смужки в порівнянні з Naze32. Я здивований, навіть колір збігається. 😀
Відразу після пайки, я перевірив світлодіоди за допомогою Arduino. Потрібно використовувати BEC на 5В для живлення стрічок, тому що світлодіоди дуже яскраві і вимагають чималої струму. Arduino (підключений по USB) не здатна дати такий струм, так що є ризик спалити плату. Я використовував бібліотеку NeoPixel для тестування з Arduino.
Використовуючи роз'єми тато-мама можна з'єднати їх послідовно.
Додамо трохи термоусадки, стрічки стали виглядати набагато краще!
*УВАГА. Ці світлодіодні стрічки дуже чутливі до перегріву. Я пошкодив кілька штук коли паял їх. Якщо вони пошкоджені, то просто не будуть працювати. Запам'ятайте - не потрібно довго тримати паяльник при пайку контактів.
Оновлення: уточнення деталей:
Я використовував роз'єми тато-мама на стрічках. «Папа» - вхід, «мама» - вихід (вони сумісні з сервораз'емамі).
Щоб підключити світлодіоди до Naze32 використовуйте один провід для підключення до сигнального контакту на платі, а харчування стрічок візьміть з вільного роз'єму до моторів.
Різати ці стрічки можна звичайними ножицями.
Для з'єднання стрічок я використовував прості серво роз'єми і не робив нічого щоб захистити світлодіоди, вони досить міцні. Я турбувався тільки про контакт там де паял, так що обернув в термоусадку і залив термоклеем.
Струм споживання світлодіодами
Вам напевно цікаво, який струм споживають ці світлодіоди? Відповідь - приблизно 18МА кожен (звичайно ток змінюється в залежності від кольору, синій споживає більше ніж червоний, але це не важливо для літієвих акумуляторів). Це ток споживаний трьома світлодіодами:
Включаємо LED_Strip в Cleanflight
Як ви знаєте на платі Naze32 обмежене число виходів. Щоб використовувати керування світлодіодами, ми можемо скористатися одним з вільних входів управління. За мовчання всі pin1-pin8 використовуються як вхід; для того щоб використовувати їх як вихід, потрібно включити PPM. У цьому випадку тільки pin1 буде використаний для вхідних даних (всі канали), а решта Піни будуть вільні. PPM - це здорово, він робить вашу розводку проводів простіше і охайніше. Я рекомендую використовувати PPM навіть без LED_strip.
Введіть наступні команди в CLI для включення LED_strip:
Підключаємо світлодіодну стрічку до Naze32
Залежно від числа світлодіодів вам потрібно підрахувати струм і вибрати відповідний BEC. Я рекомендую використовувати окремий BEC (наприклад від регулятора) для живлення світлодіодів, і не використовувати той BEC що живить радіоприймач і польотний контролер (в цьому випадку просто підключіть + і - до вільних контактів виходів).
Як я згадував, ці світлодіоди вимагають тільки 1 дріт для даних і контакт для світлодіодів це Radio pin5 на naze32 і CC3D.
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 - це осередок в правому нижньому кутку.
ddd - це напрямок, де N - північ, E - схід, S - південь, W - захід, U - верх, D - низ. Наприклад світлодіод спрямований на південний схід під кутом 45 градусів вниз повинен бути налаштований як SED.
mmm - це режим світлодіода. Підтримуються наступні режими:
- W - warning - попередження
- F - Flight mode - режим польоту і орієнтація
- I - indicator - індикатор
- A - Armed State - заармлен чи ні
- T - Trust State - газ
Щоб відзначити кінець стрічки наберіть:
Наприклад якщо я використовую тільки 3 світлодіода: перший на лівому передньому промені, другий на правому передньому промені і один ззаду рами:
Те потрібно визначити мою світлодіодну стрічку як:
Налаштовуємо через графічний інтерфейс, вкладка Led Strip
Напевно це найпростіший спосіб настройки світлодіодних стрічок.
Відкриваємо CleanFlight Configurator, вкладку LED Strip. Якщо у вас вже є якась конфігурація і ви не хочете її використовувати, натисніть «Clear All Wiring». Щоб почати додавати світлодіоди натисніть «Wire Ordering Mode».
Тепер натисніть в сітці щоб розмістити світлодіод. Я розміщу 3 світлодіода. Потім вийдіть з режиму «Wire Ordering».
Наступний крок: натискаємо на кожному светодиоде, щоб призначити їм функції (LED functions) і положення (LED orientation).
Після того як налаштували все світлодіоди натисніть «Save» (мінімальна версія прошивки 1.6).
Більше прикладів можна знайти на сторінці LED strip page (англ.).
Результат вищенаведеної настройки. Просто уявіть що 3 світлодіода розміщені не разом а де було вказано.
Ще один приклад конфігурації світлодіодів в Cleanflight
Цього разу я дійсно розміщу світлодіодні смуги на мінікоптере. Я буду використовувати 8 світлодіодів. 3 на лівому передньому промені, 3 на передньому правому та 2 ззаду рами.
Мої настройки через CLI
Та ж сама конфігурація, але графічно:
Мені здається, все ще досить складно використовувати світлодіоди в CleanFlight, сподіваюся в майбутньому цей функціонал буде покращено і зроблений більш дружнім користувачеві.
Ось як я розмістив світлодіодні стрічки знизу коптера: