Контролер для світлодіодів 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 зазвичай встановлюються конденсатори поряд з кожним світлодіодом), але бажано.
Контролер має три режими роботи:
- Режим вибору кількості світлодіодів.
- Режим регулювання яскравості кожного каналу на всіх світлодіодах одночасно.
- Режим ефектів.
Призначення кнопок:
- 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 | |
Прикреплені файли:
- Друкована плата.dip (47 Кб)
- RGBcontrol.ino (6 Кб)