Як керувати індивідуально адресними світлодіодами WS2812B за допомогою Arduino
У цьому підручнику ми дізнаємося, як керувати індивідуально адресованими світлодіодами RGB або світлодіодною стрічкою WS2812B за допомогою Arduino. Ви можете переглянути наступне відео або прочитати письмовий підручник нижче, щоб отримати докладнішу інформацію.
Спочатку ми пояснимо принцип роботи на декількох основних прикладах, а потім подивимось на справді крутий проект Arduino, використовуючи ці світлодіоди, інтерактивний журнальний столик "зроби сам". Журнальний столик оснащений світлодіодами WS2812B, інфрачервоними датчиками наближення для виявлення предметів та модулем Bluetooth HC-05 для управління кольорами за допомогою спеціальної програми для Android. Цей проект насправді є співпрацею між мною та Марією з YouTube-каналу Creativity Hero.

Як працюють світлодіоди WS2812B
Почнемо з детального розгляду світлодіодної стрічки. Він складається зі світлодіодів типу 5050 RGB, в які вбудований дуже компактний світлодіодний драйвер WS2812B.
Залежно від інтенсивності трьох окремих червоних, зелених та синіх світлодіодів ми можемо імітувати будь-який бажаний колір.
Чудовим у цих світлодіодах є те, що ми можемо управляти навіть усією світлодіодною стрічкою лише одним штифтом з нашої плати Arduino. Кожен світлодіод має три роз'єми на кожному кінці, два для живлення та один для даних. Стрілка вказує напрямок потоку даних. Панель виведення даних попереднього світлодіода підключена до панелі введення даних наступного світлодіода. Ми можемо вирізати смужку до будь-якого розміру, який ми хочемо, а також віддалити світлодіоди за допомогою деяких проводів.
Що стосується живлення, яке вони працюють від 5 В, і кожен червоний, зелений та синій світлодіоди споживає близько 20 мА, або це в цілому 60 мА для кожного світлодіода при повній яскравості. Зверніть увагу, що коли Arduino живиться через USB, 5-контактний висновок може обробляти лише близько 400 мА, а при живленні через роз'єм живлення стовбура, 5-контактний висновок може обробляти близько 900 мА. Отже, якщо ви використовуєте більше світлодіодів, і кількість струму, яку вони будуть витрачати, перевищує обмеження, згадані вище, ви повинні використовувати окремий блок живлення 5 В. У такому випадку вам також потрібно з’єднати дві лінії заземлення дві між собою. Крім того, для зменшення шуму на цій лінії рекомендується використовувати резистор близько 330 Ом між Arduino та штирком даних світлодіодної стрічки, а також конденсатор приблизно 100 мкФ через 5 В і землю для згладжування джерела живлення.
Приклади світлодіодів Arduino та WS2812B
Приклад 1
Тепер як приклад я буду використовувати смужку довжиною 20 світлодіодів, підключену до Arduino через резистор 330 Ом і живлену окремим джерелом живлення 5 В, як описано вище. Для програмування Arduino ми будемо використовувати бібліотеку FastLED. Це відмінна і добре задокументована бібліотека, яка дозволяє легко керувати світлодіодами WS2812B.
Ви можете отримати компоненти, необхідні для цього прикладу, за посиланнями нижче:
- Світлодіодна стрічка WS2812B …………………. Амазонка/Banggood
- Arduino Board …………………………… Амазонка/Banggood
- Джерело живлення постійного струму 5В 6А ……………… Амазонка/Banggood
Розкриття інформації: це партнерські посилання. Як партнер компанії Amazon я заробляю на кваліфікованих покупках.
Ось вихідний код Arduino для першого прикладу:
Опис: Отже, спочатку нам потрібно включити бібліотеку FastLED, визначити контакт, до якого підключені дані світлодіодної стрічки, визначити кількість світлодіодів, а також визначити масив типу CRGB. Цей тип містить світлодіоди з трьома однобайтовими членами даних для кожного з трьох червоних, зелених та синіх кольорових каналів.