Во-первых, Arduino не может напрямую управлять 100 светодиодами, поскольку суммарный ток, который устройство должно потреблять или потреблять, будет значительно превышать как микроконтроллер, так и регулятор напряжения на плате Arduino. Тем не менее, пользовательский Arduino Shield со своим собственным источником питания и регулировкой может соответствовать всем требованиям.
Есть несколько простых подходов, самый простой подход подробно описан ниже:
Драйвер постоянного тока для светодиодов TLC5940 в каскадной конфигурации:
TLC5940 управляет 16 светодиодами на каждую микросхему, управляемую последовательным входом через небольшой вариант интерфейса SPI. Можно каскадировать до 40 устройств TLC5940, но 7 из них будет достаточно для управления этими 100 светодиодами.
Есть как минимум пара библиотек Arduino ( 1 , 2 ) для TLC5940.
Рекомендуемые тактовые частоты для отправки с Arduino и соответствующая частота обновления:
- 1 МГц GSClk с использованием кода в этой теме .
- 330 кГц SCLK (тактовая частота последовательных данных)
- Таким образом, частота обновления данных светодиода 244 Гц
Это основано на формулах из таблицы:
f (GSCLK) = 4096 * f (обновление)
f (SCLK) = 193 * f (обновление) * n
где:
f (GSCLK): минимальная частота, необходимая для GSCLK
f (SCLK): минимальная частота, необходимая для SCLK и SIN
f ( update): частота обновления всей каскадной системы
n: число каскадных устройств TLC5940
TLC5940 является постоянным током раковины , так аноды светодиодов будут связаны с напряжением несколько вольт больше , чем LED Vf, или около 7 вольт, в зависимости от того ниже, питания независимо от выводов питания на Arduino в. Этот источник напряжения должен обеспечивать 100 * (независимо от тока, на котором работают светодиоды), но может быть нерегулируемым источником.
Светодиодные катоды поступают на линии привода соответствующих микросхем TLC5940.
Сам TLC5940 потребляет до Icc = 60 мА на устройство во время записи данных, поэтому питание 7 из них от Arduino не будет работать, для этого потребуется независимый регулируемый Vcc от 3,3 до 5 Вольт, в идеале то же значение, что и для Vcc Arduino используется, и наземные следы должны быть подключены обратно к земле Arduino, конечно. Работа частей TLC с напряжением, отличным от Arduino, может привести к необходимости преобразования уровня последовательного сигнала, поэтому лучше избегать этого.
Несколько видео на YouTube демонстрируют использование Arduino с каскадными микросхемами TLC5940.
Хотя эти микросхемы были разработаны для управления 7-сегментными цифровыми светодиодными дисплеями, они обеспечивают индивидуальное управление светодиодами, поэтому их можно использовать для 64 светодиодов на ИС. Два из них могут быть соединены каскадом для управления 100 требуемыми светодиодами. Страница 13 таблицы данных показывает каскадную конфигурацию.
Для этой конструкции светодиоды должны быть электрически соединены в группы из 8 светодиодов, каждый из которых имеет общую катодную линию (общий катод).
MAX7219 / 7221 являются мультиплексными драйверами светодиодов, поэтому максимальная яркость светодиодов будет ниже, чем для статического драйвера светодиодов, как в предыдущем разделе.
Вот полезная библиотека светодиодных матриц и руководство по использованию MAX7219.
Некоторые соответствующие видео YouTube ( 1 , 2 ) могут представлять интерес.
Опять же, эти микросхемы были разработаны для управления 7-сегментными цифровыми светодиодными дисплеями, они обеспечивают индивидуальное управление светодиодами, поэтому могут использоваться до 40/64 светодиодов на ИС. Два / три из них можно подключить к шине Arduino SPI, чтобы получить 100 необходимых светодиодов.
Примечания к дизайну остаются такими же, как и в предыдущем разделе. Кроме того, максимальная яркость отдельного светодиода будет ниже, чем у модели прямого мультиплексирования MAX7219.
Есть несколько видео на YouTube, которые могут быть интересны.
Дискретные конструкции компонентов, регистры сдвига, расширители ввода-вывода, режущие светодиодные ленты с отдельными контроллерами и многое другое ...
Это все подходы, которые использовались с различными уровнями простоты и успеха. Они являются более сложными реализациями, чем 3 подхода, описанных выше, поэтому более подробно не рассматриваются. Поиск в Интернете даст полезные руководства для этих подходов, если это необходимо.
Одним из основных раздражающих факторов в таких конструкциях является необходимость наличия резисторов контроля тока на каждом светодиоде или светодиодной цепочке. Устройства, специально предназначенные для управления светодиодами, обычно в этом не нуждаются.
У меня нет личного опыта с этим последним набором опций, поэтому не могу помочь.
Сноска. После ответа на этот вопрос я нашел более старый вопрос , в котором есть ответы, подробно описывающие и обсуждающие несколько подходов в моем последнем разделе. Эта тема делает интересным "дальнейшее чтение как домашнее задание".