На склад поступили жидко-кристаллические индикаторы и дисплеи от KSE

Плата расширения Arduino для управления светодиодами

В статье мы рассмотрим конструкцию платы расширения Arduino, которая предназначена для управления большим количеством светодиодов. С ее помощью можно организовать управление 512 светодиодами. Изначально плата предназначалась для управления светодиодным кубом размером 8×8×8, однако пользователи могут использовать ее для управления светодиодным экраном размером 64×8 пикселей. Управление светодиодами реализуется с помощью регистров сдвига.

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Плата расширения Arduino для управления светодиодами

Основные параметры:

  • используемые микросхемы регистра сдвига: M74HC595B1R;
  • рекомендуемые микросхемы регистра сдвига: 74HC595;
  • напряжение питания: +5 В;
  • используемые цифровые выходы Arduino: D2, D3, D4, D5;
  • положительные выходы для подключения светодиодов: 64;
  • общие выводы: 8;
  • максимальный ток: 0.5 А на каждый вывод;
  • используемые токоограничительные резисторы: 330 Ом;
  • дополнительные светодиоды статуса: питание и линия ввода/вывода Arduino D13;
  • кнопки: Сброс.

Принципиальная схема платы расширения

Схема платы расширения Arduino для управления светодиодами
Кликните для увеличения

Сразу следует оговорить один важный момент относительно питания платы расширения и светодиодов, которые к ней будут подключаться. Использовать нужно отдельный, достаточно мощный блок питания с выходным напряжением +5 В и выходным током до 1.5 А. Возможно использование ATX блока питания от компьютера, однако потребуется некоторая дополнительная коммутация для запуска блока питания (сигнал PS_ON подключить к общему проводу).

Вычисление потребляемого тока для используемых светодиодов

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

(NLed×ILed) / Nlayers,

где

NLed – количество светодиодов,
ILed – ток потребления одного светодиода,
Nlayers – количество слоев светодиодного куба (или количество строк).

К примеру, для светодиодного куба 8×8×8, мы используем 64 светодиода в каждом слое, каждый светодиод имеет ток потребления 20 мА:

(512×20) / 8=1.28 А

Подключение светодиодов

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

Управление регистрами сдвига

В первый момент времени необходимо подать сигнал низкого логического уровня на вывод регистров RCK (вывод Arduino D5), чтобы записать данные в регистр сдвига. Данные в нашем случае – это 9 Байт, которые передаются последовательно в регистр сдвига. Первые 8 байт определяют, какие из 64 светодиодов (в одном слое) будут включены, последний байт определяет какой один из 8 MOSFET ключей будет включен (т.е. управление слоями светодиодного куба). Затем, после передачи 9 байт, необходимо подать сигнал высокого логического уровня на вывод RCK, чтобы зафиксировать данные в регистре хранения и передать их на выходы QA-QH. Такой набор операций необходимо проделать 8 раз, т.к. светодиодный куб имеет 8 слоев, и мы получим отображение одного кадра анимации. Помните, что лишь один слой активен в каждый момент времени.

К примеру, для прорисовки контуров светодиодного куба, нам необходимо: для первого и последнего слоя первым передать байт 11111111, затем 6 байт 10000001 и последний байт 11111111. Для слоев 2-7 – первым передается байт 10000001, затем 6 байт 00000000 и последний 10000001. Это без учета управления ключами MOSFET.

Слой 1
Слой 2
Слой 3
Слой 4
Слой 5
Слой 6
Слой 7
Слой 8
11111111
10000001
10000001
10000001
10000001
10000001
10000001
11111111
10000001
00000000
00000000
00000000
00000000
00000000
00000000
10000001
10000001
00000000
00000000
00000000
00000000
00000000
00000000
10000001
10000001
00000000
00000000
00000000
00000000
00000000
00000000
10000001
10000001
00000000
00000000
00000000
00000000
00000000
00000000
10000001
10000001
00000000
00000000
00000000
00000000
00000000
00000000
10000001
10000001
00000000
00000000
00000000
00000000
00000000
00000000
10000001
11111111
10000001
10000001
10000001
10000001
10000001
10000001
11111111

Загрузки

Пример программы управления светодиодным кубом – скачать

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: Arduino expansion board used for controlling large numbers of LEDs

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения:Полный вариант обсуждения »
  • Я вот не в курсе, а что, до сих пор ни кто так и не догадался производить светодиод с встроенным триггером? Это могло бы радикально упростить конструкцию экранов. Уж если для свечения светодиода задействуется ячейка памяти, то логично разместить её прямо в самом светодиоде.
  • Ячейкой памяти придётся управлять. И как вы это думаете произойдёт? CS нужен однозначно и по какому протоколу? Это будет монстр или супер-светодиод с 5 выводами за один - два американских рубля. Закажите у китайских товарищей они вам вагон или состав привезут. За 10 составов будут скидки.
  • Что-то типа того: [url]http://learn.adafruit.com/digital-led-strip[/url] Специальные контроллеры могут управлять 2048-ю трехцветными светодиодами включенными параллельно.