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 программатора.
После травления и пайки компонентов готовая плата выглядит так:

Печатную плату можно покрыть сверху каким-либо защитным диэлектрическим слоем, например, лаком.
Работа контроллера продемонстрирована на видео.
Прикрепленные файлы:
- Печатная плата.dip (47 Кб)
- RGBcontrol.ino (6 Кб)
0 Комментарии