Ардуино ws2812 Светодиодная матрица 16 16 Бегущая строка

Ардуино ws2812 Светодиодная матрица 16 16 Бегущая строка

В этом видео мы продолжим знакомство с матрицей 16 на 16 собранной на светодиодах WS 2812.
Скоро наступит Новый год и все сейчас думают о гирляндах. У меня уже есть несколько видео про гирлянды. Посмотреть можно здесь.  
А сегодня мы будем изучать матрицу. Хотя что такое матрица из светодиодов – это та же гирлянда, только компактная.
Все скетчи, что мы рассмотрим можно запускать и на гирлянде, надо только установить нужное количество светодиодов и их расположение по горизонтали и вертикали. Всего их 256 и мы можем управлять каждым из них по отдельности.
Размеры такой матрицы 16 на 16 сантиметров, а соединив их последовательно можно собирать из них длинные ленты на которых можно делать бегущие строки или большие экраны и показывать на них рекламу.

Я уже показывал как вывести на такой матрице свои рисунки и как сделать часы и выводить время.
Сегодня рассмотрим 3 скетча. 

  • Первый – это просто красиво меняющиеся линии.
  • Второй – плавно сменяющиеся и расплывающиеся пятна.
  • Третий – это бегущая строка из текста. 

Из матрицы выходит 8 проводов.
6 из них это питание, а два — это вход DIN и выход DOUT.
Светодиоды потребляют большой ток.
В режиме белого цвета он доходит до 60 миллиампер, и поэтому напряжение подаётся в разных точках, чтобы не было просадок и большой ток не пережёг токопроводящие контакты.

Для питания матрицы нельзя использовать контакты +5 вольт с Ардуино. 
Нужен отдельный блок питания. 

Вход DIN подключим к выводу 6 Ардуино, а Выход DOUT никуда подключать не будем, так как у нас всего одна матрица.
Если у вас их несколько, то вы должны подключить его к DIN другой матрицы.

Для работы нам понадобятся несколько библиотек.

Узоры и переливы мы будем выводить с помощью библиотеки FastLED.h

А текст с использованием 3-х библиотек от компании Adafruit

  • Adafruit NeoPixel
  • Adafruit NeoMatrix
  • Adafruit-GFX
  • FastLED

После установки этих библиотек вы можете запустить примеры из этих библиотек.
Единственное что вам надо в них поменять это пин Ардуино к которому у вас подключена матрица. 
По умолчанию там стоит шестой поэтому мы сразу его и подключим.
И количество светодиодов, в нашем случае 256.


Принцип работы матрицы я объяснял в предыдущем видео, так что можете посмотреть там.

Посмотрим схему подключения. Здесь ничего сложного. Минимум деталей. Главное, чтобы источник питания был достаточно мощный.

Теперь переходим к практике.
Для начала установим скетч Spots. Ссылка на скетчи будет как всегда в описании. Нам нужно установить библиотеку FASTLED.
Подробно как работает скетч я рассказывать не буду. Главное надо знать, что нам надо установить.

  1. Задать пин к которому подключена матрица. Это пин номер 6.
  2. Яркость 
  3. Тип ленты
  4. И порядок цветов. В основном это GRB
  5. Затем количество светодиодов по горизонтали и вертикали.
  6. Здесь можно задать скорость и масштаб изменений. Если интересно, то попробуйте сами поизменять разные значения.

Теперь загрузим скетч Line
Так как здесь использована та же библиотека FASTLED, то и начальные значения здесь такие же как я только что описывал.

Ну и у нас ещё остался скетч с бегущей строкой.

Здесь нам понадобятся библиотеки Adafruit_NeoPixel и Adafruit_NeoMatrix.
Для вывода шрифта используется библиотеку Adafruit-GFX. И в ней для вывода русских букв нужно заменить файл glcdfont.c. Про русификацию можно посмотреть в видео.

У нас указан пин 6 для работы с матрицей.

В этой строке указаны настройки работы с матрицей.

Здесь я указал, что текст будет менять свой цвет. Сначала он будет Красный, потом Зелёный, Синий. Теперь будет смешан зелёный и синий. Ну и последний будет белый. Это когда будут полностью гореть все 3 светодиода. Это самый затратный режим работы.

  • Указываем яркость свечения текста.
  • Яркость фона.
  • Расположение текста. Выше-ниже.
  • Сам текст.
  • Задаём  ширину матрицы для вывода текста. Чем больше букв тем больше должно быть это число.
  • Количество цветов текста. Про это я говорил чуть выше. У меня установлено, что цвет текста изменится 5 раз.
  • Скорость движения текста. Чем число ниже, тем быстрее он будет двигаться.


Пишите было ли вам интересна эта тема и надо ли ещё продолжать снимать видео про матрицы. Пишите, что ещё хотели бы посмотреть.

PS. Про JINX я помню.
До встречи в новых видео.
 

Скетчи