4 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Светодиодная матрица 24х6 на Arduino

Светодиодная панель с Arduino

Светодиодные матрицы не содержат на борту микроконтроллеров, памяти и контроллеров ШИМ. По принципу своей работы панели рассчитаны на использования технологии «CPLD» или «FPGA». Arduino Mega 2560 удалось адаптировать для управления матрицей, но для полной раскачки панели вам необходимо найти более высокоскоростной контроллер.

Видеообзор

Что понадобится

Подключение и настройка

Шаг 1

Подключите 16-проводной шлейф к входному сигнальному разъёму матрицы DATA IN .

Шаг 2

С помощью проводов «папа-папа» подключите второй конец шлейфа к платформе Arduino Mega 2560.

Номера пинов изменять нельзя

Шаг 3

Подключите питание на светодиодную матрицу через силовой шнур. Один конец провода к блоку питания, а второй — в разъём POWER на матрице. Каждая LED панель питается строго от 5 вольт. Потребление тока зависит от вида матрицы.

Рекомендуем использовать блок питания с выходным напряжением 5 вольт и током не менее 4 ампер. Идеально подойдёт блок питания с выходным напряжением 5 вольт и током 5 ампер.

При подключении нескольких светодиодных панелей, соответственно увеличивайте запас по току в N-раз, где N — количество матриц в цепочке.

На схеме матрицы нет встроенного регулятора напряжения. При подаче напряжения более 5 вольт — вы убьёте LED панель.

Железо собрано. Теперь можно переходить к примерам работы.

Примеры работы

Для работы примеров скачайте и установите библиотеки RGBmatrixPanel и Adafruit GFX через менеджер библиотек Arduino.

Тест матрицы

Для начала сделаем простой тест светодиодов «битых пикселей» на матрице.

Вывод геометрических фигур

Методы библиотеки легко позволяют выводить геометрические фигуры.

Анимация шариков

Заставим фигуры двигаться и отталкиваться от стен.

Вывод текста

Матрицы идеально подходят для объявлений и рекламных вывесок. Выведем цветной и яркий текст.

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

Добавим тексту движения — сделаем бегущую строку.

Светодиодная матрица 24×6

После того, как я изготовил матрицу 8х10, ко мне обратилось множество людей с просьбой создать матрицу большего размера, а также обеспечить запись данных в матрицу с помощью ПК. Поэтому в один прекрасный день я собрал светодиоды, которые остались после изготовления светодиодного куба, и решил все-таки сделать матрицу большего размера с учетом требований, о которых меня просили коллеги.

Ну, и чего же вы ждете? Берите светодиоды и паяльник, потому, что мы сейчас вместе будет делать светодиодную матрицу 24х6!

Шаг 1: Сбор всего необходимого

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

Для изготовления матрицы необходимо:
1. 144 светодиода
2. 24 резистора (номинал определяется по типу светодиодов, в моем случае 91 Ом)
3. Десятичный счетчик 4017
4. 6 резисторов номиналом 1 кОм
5. 6 транзисторов 2N3904
6. Длинная макетная плата
7. Arduino
8. 3 x 74HC595 регистра сдвига
10. Несколько штыревых разъемов

Читать еще:  Заставляем кристалл перегоревшего трёхваттного светодиода снова светиться

Шаг 2: Как это работает?

Идея работы светодиодной матрицы заключается в следующем: обычно информация разбивается на небольшие части, которые затем передаются одна за другой. Таким способом вы может сэкономить множество выводов на Arduino и сделать вашу программу достаточно простой.

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

Каждый сдвиговый регистр имеет 8 выходов и вам нужно только 3 вывода arduino для контроля почти неограниченного числа сдвиговых регистров.

Мы также будем использовать десятичный счетчик 4017 для сканирования рядов. С помощью него можно сканировать до 10 рядов, поскольку у вас есть только 10 выходов, однако для контроля их необходимо всего лишь 2 вывода.

4017 — это очень полезная микросхема. Ознакомиться с ее работой можно по сноске

Как я сказал ранее, сканирование выполняется с помощью десятичного счетчика 4017, посредством подсоединения одного ряда к земле за один раз и пересылки данных через сдвиговые резисторы в колонки.

Шаг 3: Схемное решение

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

Для расчета величин 24 резисторов перейдите по следующей ссылке: LED-калькулятор.

Сначала необходимо посмотреть спецификацию светодиодов, чтобы узнать прямое напряжение и прямой ток. Эту информацию можно узнать у продавца. Схема работает от напряжения 5В. Следовательно, вам необходим источник питания напряжением 5В.

Загрузите оригинальный файл, чтобы более подробно изучить схему (нажмите на схему для увеличения изображения).

Я также добавил макет печатной платы управления. Данный макет изготовлен благодаря инструментальному средству Willard 2.0.

Шаг 4: Пайка светодиодов

Пайка 144 светодиодов для создания матрицы может оказать трудной задачей, если вы не знаете наверняка, как это сделать.

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

Вам необходимо согнуть вниз положительный вывод светодиода по направлению к другим выводам и сделать ряд, затем отрезать неиспользуемую часть вывода, и попытаться сделать эти соединения низкими, насколько это возможно. Далее аналогично выполнить эту процедуру для всех положительных выводов.

Теперь отрицательные выводы соединены в колонку и их пайка затруднена из-за положительного ряда на их пути. Поэтому вам необходимо согнуть отрицательный вывод на 90 градусов, затем сделать мостик над положительным рядом к следующему отрицательному выводу и так далее для остальных светодиодов.

Я не стану объяснять, как припаивать сдвиговые регистры и остальные компоненты, поскольку у каждого есть свой стиль и методы работы.

Шаг 5: Программирование матрицы

Вот мы и подошли к последнему этапу нашего проекта – программированию матрицы.

До этого я уже написал две программы, которые имеют много общего.

Я добавил программу, которая получает слово или предложение от последовательного монитора IDE arduino и отображает его на матрице. Код программы достаточно простой и не претендует на лучший в мире, но он действительно работает. Вы можете написать свой код или изменить мой на свое усмотрение.

Я приложил файл в формате excel, чтобы вы смогли создать свои собственные знаки и символы.

Читать еще:  Новогодняя поделка - домик с подсветкой на светодиодах

Вот как это работает:

Создайте требуемый символ пиксель за пикселем (не беспокойтесь, это очень легко) и скопируйте выходную строку следующим образом — #define

В дальнейшем я планирую добавить код для анимации, когда у меня появится больше времени.

Шаг 6: Устройство готово!

Поздравляю! Вы самостоятельно сделали матрицу a 24×6 и теперь можете оперативно выводить на нее все, что вам нужно.

Теперь вы можете протестировать матрицу, придумать новые программы или улучшить интерфейс.

Светодиодная матрица 24х6 на Arduino

Материалы:
— светодиоды 144 шт
— резисторы 24 шт (определяется по типу светодиодов, в этом случае 91 Ом)
— счетчик десятичный 4017
— резисторы 6 шт (номинал 1 кОм)
— транзисторы 6 шт 2N3904
— Длинная макетная плата
— Arduino
— регистры сдвига 3 шт (74HC595)
— штыревые разъёмы

Шаг 1: Как работает:
Обычно информация в светодиодной матрице разбивается на мелкие части, которые после передаются друг за другом. Таким образом, экономится большое количество выводов на Arduino, и программа становится достаточно простой.

Далее, наступает время 3-х сдвиговых регистров, они умножают выходы и экономят много выводов на Arduino.

На каждом регистре числится 8 выходов, используется всего 3 вывода Arduino для контролирования огромного числа сдвиговых регистров.

Автор также использует счётчик 4017, для возможности сканирования рядов. С его помощью сканируется до 10 рядов, так как у автора всего только 10 выходов, тем не менее необходимо всего 2 вывода.

Как было сказано ранее, сканирование происходит с помощью этого счётчика 4017, через подключение одного ряда к земле за один раз и отправке данных через резисторы в колонки.

Шаг 2: Схема
Единственные элементы не указанные на схеме — это резисторы ограничения тока, так как их номинал напрямую зависит от того какого типа светодиоды используются. Поэтому их величина должна быть вычислена самостоятельно.

Для расчёта величин 24 резисторов можно воспользоваться калькулятором LED-калькулятор

Для начала смотрят спецификацию светодиода, для того чтобы узнать их прямое напряжение и их прямой ток. Информацию можно узнать сразу при покупке. Схема работает от напряжения 5В. Соответственно необходим источник питания с таким же напряжением.

Также добавлен макет платы управления, который изготовлен с помощью инструментального средства Willard 2.0.

Шаг 3: пайка
Пайка такого большого количества светодиодов задача ни из лёгких если не знаешь наверняка как это делается правильно.

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

На данном этапе отрицательные выводы соединены в колонку и их спаивание неудобно, так как у них на пути положительный ряд. Поэтому отрицательный вывод сгибается на 90 градусов, и делается мост над положительным рядом к следующему отрицательному выводу, и так для всех остальных светодиодов.

Сдвиговые регистры и оставшиеся компоненты можно припаиваются на усмотрение каждого отдельно.

Шаг 4: программирование
Пришло время к последнему этапу проекта.

Автор до этого писал несколько похожих программ. Поэтому ему пришлось только добавить программу, которая будет получать слово или же целое предложение от монитора IDE arduino и затем отображает его на матрице. Код , конечно же, можно создать свой или изменить этот на своё усмотрение.
В архиве приложен excel файл, для возможности создания своих знаков или символов.

Читать еще:  Светодиоды «пламя свечи»

Как это сделать:
Создаётся нужный знак пиксель за пикселем (ничего сложного в этом нет), и копируется выходная строка — #define

Шаг 5: устройство готово
Матрица 24х6 готова, теперь на нее возможно вывести все что угодно. Можно сделать самому новые программы или попробовать улучшить интерфейс.

АДРЕСНЫЕ СВЕТОДИОДНЫЕ МАТРИЦЫ

Проект “Bluetooth матрица”

Проект “Гирлянда-дисплей”

Проект “Тетрис”

В этом гайде речь пойдёт о матрицах из адресных светодиодных лент. Если вы не в курсе про адресные ленты, то рекомендую изучить вот эту статейку. Фишка адресной ленты в том, что мы можем управлять любым из подключенных светодиодов. Если уложить ленту так, чтобы светодиоды образовывали ровную сетку, то мы получим матрицу, у которой можно зажечь любой “пиксель”, а зажечь можно одним из 16,7 миллионов цветов и оттенков! (светодиоды RGB, яркость каждого цвета имеет 256 градаций (8 бит), соответственно для трёх цветов у нас 256*256*256=16,7 лямов, что есть привычные 24 бита цветовой глубины). То есть по сути получаем полноценный 24 битный дисплей сверхнизкого разрешения! Зачем такое разрешение в 2к18 году? Спроси у своего папы, во что он играл в детстве =)

Начнём с компонентов. Матрицу можно склеить самому, для этого понадобится адресная светодиодная лента, например самая популярная на чипах WS2812b. Да, сейчас есть уже более новая WS2813, но для наших целей она преимуществ не имеет. Целесообразно брать ленту с плотностью пикселей 60 светодиодов на метр для маленьких матриц (ячейка 1.7×1.7 см) и 30 светодиодов на метр для больших матриц (ячейка 3.3×3.3 см). Также есть светодиодные модули по типу “гирлянды”, их можно брать для ОЧЕНЬ БОЛЬШИХ матриц (ячейка 12×12 см). Рассмотрим матрицу 20×10 светодиодов: из ленты 60 LED на метр размер матрицы будет 34×17 см, из 30 LED на метр – 66×33 см, и из модулей – 240×120 см.

Также хитрые китайцы уже продают готовые матрицы нескольких размеров, причём очень выгодно: матрица 16×16 стоит 1500р, она состоит из 256 диодов с плотностью 100 штук на метр. Лента такой же плотности стоит 1000р за метр (за 100 светодиодов). Для склейки матрицы размером 16×16 понадобится 2.5 метра ленты, то есть 2500р. А готовая матрица стоит на 1000р дешевле. Абсолютно то же самое касается матрицы 32×8 пикселей. Есть ещё готовая матрица 8×8, она стоит 300р. И вот она выходит уже не так выгодно =) Для питания матрицы нужен блок питания на 5V, по току расскажу дальше. Ссылок оставляю несколько, ищите выгодные предложения и скидки (P.S. Я закупаюсь в BTF-Lighting)

ВАЖНО! Чем больше матрица, тем больше места занимает прошивка в памяти. Для прошивки GyverMatrixOS:

В Arduino Nano/UNO/Pro Mini при использовании всех эффектов и режимов очень впритык вмещается матрица 16х16 (256 диодов), возможны зависания и перебои в работе;

В Arduino Leonardo/Micro/Pro Micro вмещается около 400 светодиодов (матрица 20×20);

В Arduino Mega вмещается около 1700 светодиодов (матрица 40×42)

В ESP8266/NodeMCU/Wemos вмещается ГОРАЗДО больше светодиодов, но нужно понимать, что скорость обновления ленты зависит от количества светодиодов, и при 500 диодах будет 60 кадров в секунду (fps), при 1000 будет 30 fps, при 2000 будет 15 fps, т.е. ощутимые глюки в быстрых эффектах.

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector