цифровая электроника
вычислительная техника
встраиваемые системы

 

Управляем светодиодами WS2812 с помощью Arduino

Автор: Mike(admin) от 3-08-2014, 07:55

Когда мы работаем со светодиодами, мы управляем их состоянием (вкл/выкл), яркостью и цветом. Существуют различные способы такого управления, но наиболее компактным решением представляется применение RGB-светодиодов WS2812 (NeoPixels). Светодиодный модуль WS2812 в миниатюрном корпусе 5 x 5 мм сочетает в себе три сверхярких светодиода (красный, зеленый, синий), а также цепь драйвера WS2811, которой требует один вход данных для изменения состояния, яркости и цвета этих трех светодиодов.


Управляем светодиодами WS2812 с помощью Arduino

Поскольку используется всего один вход, то требования по времени для работы с WS2811 довольно жесткие. Поэтому в данном случае нужен контроллер реального времени (AVR, Arduino, PIC). К сожалению, микрокомпьютеры на базе Linux или платы вроде Netduino и Basic Stamp не могут обеспечить требуемой точности синхронизации. Поэтому здесь мы рассмотрим управление WS2812 с помощью Arduino Uno.


Шаг 1: Список элементов


Управляем светодиодами WS2812 с помощью Arduino

Материалы:


- Три модуля WS2812


- Одна макетная плата


- Arduino Uno R3


- Провода


- 8-контактный штекер 0.1’’ с изогнутыми на 90 градусов выводами


- 8-контактный разъем 0.1’’ с изогнутыми на 90 градусов выводами


- 8-контактный штекер 0.1’’ с прямыми выводами


Приборы и инструменты:


- Персональный компьютер


- A/B USB-кабель


- Инструмент для зачистки проводов или кусачки


- Паяльник


Шаг 2: соединяем штекеры с модулями


В первую очередь мы должны подготовить модули WS2812 к установке на макетную плату. Для этого с помощью инструмента для зачистки проводов нужно разделить каждый 8-контактный штекер и разъем на два трехконтактных. Чтобы сделать это более аккуратно, лучше «жертвовать» центральными контактами.


Управляем светодиодами WS2812 с помощью Arduino

Управляем светодиодами WS2812 с помощью Arduino

Теперь нужно припаять к одному модулю с обеих сторон два прямых штекера, а к двум другим штекер и разъем с изогнутыми выводами.


Управляем светодиодами WS2812 с помощью Arduino

Шаг 3: соединяем Arduino и макетную плату с WS2812


Управляем светодиодами WS2812 с помощью Arduino

Для начала поработаем с одним модулем WS2812. На нижней стороне модуля мы можем обнаружить наименования выводов VCC, DI (DO), GND. Выводы 5V и GND мы должны подсоединить соответственно к VCC и GND платы WS2812. Затем соединяем цифровой вывод 8 Arduino с выводом DI модуля. Теперь все готово для того, чтобы помигать нашим светодиодом.


Управляем светодиодами WS2812 с помощью Arduino

Шаг 4: управляем светодиодом


Управляем светодиодами WS2812 с помощью Arduino

Программа, которую нам нужно загрузить в Arduino, лежит здесь. Потребуется файл primer.ino из firmware > examples > primer. Архив содержит все необходимые библиотеки для успешного запуска программы. После загрузки программы в Arduino модуль WS2812 начнет попеременного гореть красным, зеленым и синим цветами.


Управляем светодиодами WS2812 с помощью Arduino

Но самое интересное качество WS2812 заключается в том, что их можно последовательно соединить в цепь и управлять с помощью одного вывода. Этим мы сейчас и займемся.


Шаг 5: делаем светодиодную ленту


Управляем светодиодами WS2812 с помощью Arduino

Задействовав всю вычислительную мощность Arduino можно управлять до 500 светодиодами WS2812. Но нужно помнить три вещи: каждый пиксель может потреблять до 60 мА, управление 500 светодиодами будет вестись на частоте около 30 Гц, соединять два светодиода WS2812 рекомендуется на расстоянии не более 15 см друг от друга, чтобы избежать просадок и потерю данных.


Теперь соединим последовательно три модуля, как показано на картинке:


Управляем светодиодами WS2812 с помощью Arduino

Провода от Arduino должны быть соединены так же, как и в случае с одним светодиодом. Единственное что нам нужно теперь сделать, это заменить в программе #define NUM_LEDS 1 на #define NUM_LEDS 3. После этого гореть должны все три светодиода!


Шаг 6: Да будет свет!


Сейчас наши светодиоды работают одинаково. Но это не раскрывает всего потенциала их использования (пораздельное изменение яркости и цветов). Поэтому следует попробовать новую прошивку (архив). В этом архиве нам в первую очередь нужен файл firmware > effects > effects.ino. Также в нем есть все необходимые библиотеки.


Управляем светодиодами WS2812 с помощью Arduino

Новая прошивка позволит управлять каждым светодиодом в данной ленте. Теперь, зная как работать с WS2812, можно создать множество красивых приложений. Всё зависит от вашего воображения!




Перевод © digitrode.ru


<Источник>


Теги: Arduino, светодиоды




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий