Бегущая строка на WS2812B, 16х16

В данном материале подробно расскажу, как соединить плату Arduino UNO с гибкой RGB-матрицей формата 16×16 (основа — чип WS2812B). Предоставлю наглядную схему подключения и пример готовой программы для реализации эффекта бегущей строки с текстом.

Бегущая строка на WS2812B

Необходимые детали:
► Контроллер Arduino UNO R3  x 1 шт.
► Провода DuPont, 2,54 мм, 20 см x 1 шт.
► Гибкая светодиодная панель WS2812B, RGB, 16×16 x 1 шт.
► Блок питания (сетевой адаптер) универсальный 5В 5А, штекер 5.5 х 2.5 x 1 шт.

Описание:
В данном примере с помощью контроллера Arduino UNO мы создадим эффект бегущей строки на гибкой светодиодной матрице WS2812B.

Подключение:
Управление матрицей WS2812B с помощью Arduino UNO выполняется посредством единственного соединения: вывод «D2» Arduino UNO подключается к выводу «DATA IN» матрицы. Для питания матрицы необходимо дополнительно подсоединить внешний блок питания с напряжением 5 В и силой тока минимум 5 А. Важно также убедиться, что общий провод («GND») блока питания соединён с общим проводом («GND») Arduino.

Установка библиотеки:
Чтобы запустить скетч, потребуется установить три библиотеки: «Adafruit_NeoPixel», «Adafruit_NeoMatrix» и «Adafruit_GFX». Проще всего это сделать, используя интегрированную среду разработки Arduino IDE, для этого откройте Скетч → Подключение библиотеки → Менеджер библиотек…

Установка шрифтов:
Чтобы обеспечить поддержку русского текста, требуется скачать шрифта и скопировать её содержимое в директорию «Adafruit_NeoMatrix», расположенную по пути: C:\Users\Ваше_Имя\Documents\Arduino\libraries\Adafruit_NeoMatrix.

Программа:
Запустите программу Arduino IDE, вставьте приведенный ниже код и загрузите его на вашу плату Arduino

Описание программы:

Сначала в программе подключаем три библиотеки «Adafruit_NeoPixel», «Adafruit_NeoMatrix» и «Adafruit_GFX», а также подключаем поддержку русского шрифта.

Затем указываем, к какому выводу платы подсоединена светодиодная лента.

Далее указываем габариты матрица 16×16 пикселей

Создаем массив трех основных цветов

Потом запускаем матрицу командой begin(), предотвращаем автоматический перенос строк, применяя метод setTextWrap(false). Устанавливаем уровень яркости светодиодов равным 10 (при максимальном значении 255). Изначально цвет отображаемого текста задан красным.

В основном цикле программы сначала выполняется очистка экрана командой fillScreen(0). Затем положение курсора обновляется таким образом, что координата X плавно уменьшается. После этого устанавливается русский шрифт TimesNRCyr9pt8b и осуществляется вывод текста методом print().

Затем медленно уменьшаем значение координаты X, перемещая текст по экрану. Когда позиция достигает значения −300, цикл начинается заново, при этом меняется цвет текста. Если текст не помещается целиком на экране, следует увеличить порог возврата. В случае излишней задержки вывода, наоборот, уменьшите это значение.

Завершается цикл обновлением дисплея с помощью команды show() и добавлением небольшой задержки длительностью 100 миллисекунд (delay(100)), обеспечивающей плавность анимации.

Купить Arduino UNO
Купить гибкую светодиодную панель WS2812B, RGB, 16x16
Купить блок питания 5В, 5А

Вам может также понравиться...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *