Библиотека Adafruit NeoPixel Ардуино

Библиотека Adafruit NeoPixel Ардуино

Библиотека Adafruit NeoPixel Arduino применяется для управления адресной светодиодной ленты и является достаточно популярной. Поэтому следует рассмотреть подробнее команды Adafruit_NeoPixel.h и описание библиотеки на русском с примерами скетчей для Ардуино. С ее помощью можно сделать множество красивых световых эффектов для LED матрицы на WS2812B или новогодней гирлянды на Ардуино.

Библиотека Adafruit NeoPixel Arduino

Скачать библиотеку можно на нашем сайте, на странице — Библиотеки для Ардуино, также ссылку для скачивания Adafruit_NeoPixel.h можно найти в конце этой записи. В архиве, как и в прочих библиотеках для управления гирляндой на ws2812b Ардуино, имеется несколько примеров прошивок, с помощью которых можно понять, как использовать команды библиотеки неопиксель для Ардуино микроконтроллера.

Ошибка ‘Adafruit_NeoPixel.h no such file or directory’

Первое, с чем сталкивается каждый начинающий программист и долго не может понять в чем причина — это ошибки компиляции Ардуино при загрузке скетча. Ошибка Adafruit_NeoPixel.h no such file or directory означает, что на компьютере не установлена библиотека. Проблему достаточно просто устранить, установив Adafruit_NeoPixel. Это правило действует и при возникновении такой ошибки с другими библиотеками.

Adafruit NeoPixel описание библиотеки

В скетче после подключения Adafruit_NeoPixel.h необходимо создать объект, которым мы будем управлять — Adafruit_NeoPixel strip() . Если вы решили подключить сразу две адресных ленты, то им следует задать разные имена. В скобках следует указать количество светодиодов в ленте, пин Ардуино для логического сигнала, а также задать настройки, которые отличаются для разных типов адресных светодиодов.

В процедуре void setup() следует инициализировать созданный объект, а также указать яркость светодиодов (максимальное значение 255). Команда strip.show() в этом случае отключает все светодиоды, так как не заданы цвета для пикселей ленты. Команду strip.setBrightness() можно использовать в любом месте кода для изменения яркости пикселей, как мы это делали для светильника из WS2812 ленты.

Нумерация светодиодов в ленте начинается с нуля, поэтому если мы хотим включить второй светодиод, то в команде strip.setPixelColor(1, strip.Color(250, 0, 0)); следует поставить 1. Далее указывается цвет пикселя (максимальное значение 250) в палитре RGB (Red, Green, Blue). Т.е. в данном примере пиксель загорится красным цветом. Если требуется выключить светодиод, то указываем strip.Color(0, 0, 0) .

Arduino NeoPixel эффекты: примеры скетчей

Таким образом мы можем собрать, полученный код, для создания самых простых эффектов на Adafruit NeoPixel. В представленном далее примере будут поочередно включаться пиксели на адресной ленте с разными цветами. Подключите к скетчу Arduino библиотеку Adafruit_NeoPixel.h и загрузите программу в микроконтроллер.

Пример управления WS2812B с NeoPixel

Для создания эффектов с помощью библиотеки Adafruit NeoPixel чаще всего используется цикл for в скетче, который позволяет быстро отправлять на адресную ленту команды NeoPixel. С помощью данного цикла можно перебирать пиксели или менять их цвет, создавая тем самым разнообразные эффекты. Разберем еще один простой Adafruit_NeoPixel.h, чтобы лучше понять принцип работы с библиотекой.

Пример скетча с эффектами NeoPixel

В данной прошивке используется два цикла for. В первом цикле все пиксели поочередно зажигаются синим цветом. Во втором, который имеет вложенный цикл for, кроме поочередного зажигания пикселей, дополнительно меняется оттенок цвета. Комбинируя изменение различных параметров можно добиться крутых световых эффектов с адресной лентой WS2812B и Adafruit NeoPixel библиотекой Ардуино.


Источник: xn--18-6kcdusowgbt1a4b.xn--p1ai