Контролер для світлодіодів WS2812

WS2812 - це RGB світлодіод в корпусі 5050 з вбудованим ШІМ-контролером. Принцип роботи такого світлодіода простий: на вхід Din надходить 24 біти інформації про стан рівня кольору кожного світлодіода в корпусі, після чого наступна інформація передається через вихід Dout на наступний світлодіод. 

Як результат, такі світлодіоди можна послідовно об'єднувати в стрічки, довжина яких обмежується лише джерелом живлення та доступною пам'яттю мікроконтролера.

Відповідно до специфікації, електричні параметри світлодіода наступні:

Колір Довжина хвилі (нм) Інтенсивність (мКд) Ток (мА) Напруга (В)
Червоний 620 - 630 550 - 700 20 1,8 - 2,2
Зелений 515 - 530 1100 - 1400 20 3 - 3,2
Синій 465 - 475 200 - 400 20 3,2 - 3,4

Протокол спілкування зі світлодіодом досить простий: передача логічного "0" і логічної "1" відбувається шляхом зміни тривалості позитивного імпульсу, як показано на малюнку.

Типова схема підключення світлодіодів виглядає наступним чином:

Пропонований контролер реалізується відповідно до наступної принципової схеми. 

Друкована плата, яка реалізує зображену вище принципову схему, має наступний вигляд.

Плату необхідно виготовити на аркуші одностороннього фольгованого склотекстоліту розміром 26 х 38 мм. Типова ширина доріжок дорівнює 0,6 мм, максимальна 0,8 мм.

Компоненти розміщуються відповідно до принципової схеми так, як показано на малюнку нижче.

Об'ємний рендеринг друкованої плати виглядає наступним чином:

Трохи про компоненти

Роз'єм J1 - це micro USB, контактні площадки під нього можна переробити відповідно до роз'єму, який буде в наявності. Діод D1 необхідний для захисту плати від переполюсовки у разі підключення живлення безпосередньо, не через USB. Цей же діод обмежує максимальний струм навантаження. Світлодіод D2 використовується для індикації стану контролера в деяких режимах роботи. Конденсатори С1 - С3 ставити не обов'язково (т.к. на світлодіодних стрічках з WS2812 зазвичай встановлюються конденсатори поряд з кожним світлодіодом), але бажано.

Контролер має три режими роботи:

  1. Режим вибору кількості світлодіодів.
  2. Режим регулювання яскравості кожного каналу на всіх світлодіодах одночасно.
  3. Режим ефектів.

Призначення кнопок:

  • S3 і S2 в першому режимі додають (+) і зменшують (-) кількість світлодіодів відповідно, а в другому режимі збільшують і зменшують яскравість вибраного каналу.
  • S1 у другому режимі здійснює перехід від одного каналу до іншого, а в третьому режимі перемикає ефекти.
  • Одночасне натискання S1 і S3 здійснює перехід між режимами.

У другому режимі при досягненні максимального значення яскравості на каналі буде загорятися світлодіод D2.

Прошивка для мікроконтролера ATtiny85 написана в середовищі розробки Arduino IDE 1.6 з встановленими платами Digispark, для керування світлодіодами використовувалася бібліотека Adafruit NeoPixel. Прошивати мікроконтролер необхідно за допомогою SPI програматора. 

Після травлення і паяння компонентів готова плата виглядає так:

Друковану плату можна покрити зверху якимось захисним діелектричним шаром, наприклад, лаком.

Робота контролера продемонстрована на відео. 

Список радіоелементів

Обозначення Тип Номінал Кількість Примітка
U1 МК AVR 8-біт
ATtiny85
1 Корпус SOP-8
R1-R4 Резистор
10 кОм
4 Типорозмір 0805
R5 Резистор
100 Ом
1 Типорозмір 0603
R6 Резистор
500 Ом
1 Типорозмір 0805
S1-S3 Кнопка тактова 3
D1 Діод М7 1
D2 Світлодіод 1 Типорозмір 0805
С1-С3 Конденсатор 104 3 Типорозмір 0603
X1 Вилка штикова 1
J1 Роз'єм micro USB 1

Прикреплені файли:

Top