Я хотел бы иметь возможность контролировать около 100 независимых светодиодов с помощью Arduino. Проблема в том, что Arduino не имеет почти достаточно контактов, которые можно настроить для этого. Как бы решить эту проблему? Есть ли чип, который может демультиплексировать более сложный сигнал от Arduino, который затем может управлять светодиодами? Или есть другое решение?
arduino
digital-logic
gpio
Алексис К
источник
источник
Ответы:
Во-первых, Arduino не может напрямую управлять 100 светодиодами, поскольку суммарный ток, который устройство должно потреблять или потреблять, будет значительно превышать как микроконтроллер, так и регулятор напряжения на плате Arduino. Тем не менее, пользовательский Arduino Shield со своим собственным источником питания и регулировкой может соответствовать всем требованиям.
Есть несколько простых подходов, самый простой подход подробно описан ниже:
Драйвер постоянного тока для светодиодов TLC5940 в каскадной конфигурации:
TLC5940 управляет 16 светодиодами на каждую микросхему, управляемую последовательным входом через небольшой вариант интерфейса SPI. Можно каскадировать до 40 устройств TLC5940, но 7 из них будет достаточно для управления этими 100 светодиодами.
Есть как минимум пара библиотек Arduino ( 1 , 2 ) для TLC5940.
Рекомендуемые тактовые частоты для отправки с Arduino и соответствующая частота обновления:
Это основано на формулах из таблицы:
TLC5940 является постоянным током раковины , так аноды светодиодов будут связаны с напряжением несколько вольт больше , чем LED Vf, или около 7 вольт, в зависимости от того ниже, питания независимо от выводов питания на Arduino в. Этот источник напряжения должен обеспечивать 100 * (независимо от тока, на котором работают светодиоды), но может быть нерегулируемым источником.
Светодиодные катоды поступают на линии привода соответствующих микросхем TLC5940.
Сам TLC5940 потребляет до Icc = 60 мА на устройство во время записи данных, поэтому питание 7 из них от Arduino не будет работать, для этого потребуется независимый регулируемый Vcc от 3,3 до 5 Вольт, в идеале то же значение, что и для Vcc Arduino используется, и наземные следы должны быть подключены обратно к земле Arduino, конечно. Работа частей TLC с напряжением, отличным от Arduino, может привести к необходимости преобразования уровня последовательного сигнала, поэтому лучше избегать этого.
Несколько видео на YouTube демонстрируют использование Arduino с каскадными микросхемами TLC5940.
Драйверы 8-разрядного светодиодного дисплея MAX7219 (серийный) / MAX7221 (SPI) :
Хотя эти микросхемы были разработаны для управления 7-сегментными цифровыми светодиодными дисплеями, они обеспечивают индивидуальное управление светодиодами, поэтому их можно использовать для 64 светодиодов на ИС. Два из них могут быть соединены каскадом для управления 100 требуемыми светодиодами. Страница 13 таблицы данных показывает каскадную конфигурацию.
Для этой конструкции светодиоды должны быть электрически соединены в группы из 8 светодиодов, каждый из которых имеет общую катодную линию (общий катод).
MAX7219 / 7221 являются мультиплексными драйверами светодиодов, поэтому максимальная яркость светодиодов будет ниже, чем для статического драйвера светодиодов, как в предыдущем разделе.
Вот полезная библиотека светодиодных матриц и руководство по использованию MAX7219.
Некоторые соответствующие видео YouTube ( 1 , 2 ) могут представлять интерес.
Charlieplexing: драйверы светодиодов SPI, MAX6950 / MAX6951
Опять же, эти микросхемы были разработаны для управления 7-сегментными цифровыми светодиодными дисплеями, они обеспечивают индивидуальное управление светодиодами, поэтому могут использоваться до 40/64 светодиодов на ИС. Два / три из них можно подключить к шине Arduino SPI, чтобы получить 100 необходимых светодиодов.
Примечания к дизайну остаются такими же, как и в предыдущем разделе. Кроме того, максимальная яркость отдельного светодиода будет ниже, чем у модели прямого мультиплексирования MAX7219.
Есть несколько видео на YouTube, которые могут быть интересны.
Дискретные конструкции компонентов, регистры сдвига, расширители ввода-вывода, режущие светодиодные ленты с отдельными контроллерами и многое другое ...
Это все подходы, которые использовались с различными уровнями простоты и успеха. Они являются более сложными реализациями, чем 3 подхода, описанных выше, поэтому более подробно не рассматриваются. Поиск в Интернете даст полезные руководства для этих подходов, если это необходимо.
Одним из основных раздражающих факторов в таких конструкциях является необходимость наличия резисторов контроля тока на каждом светодиоде или светодиодной цепочке. Устройства, специально предназначенные для управления светодиодами, обычно в этом не нуждаются.
У меня нет личного опыта с этим последним набором опций, поэтому не могу помочь.
Сноска. После ответа на этот вопрос я нашел более старый вопрос , в котором есть ответы, подробно описывающие и обсуждающие несколько подходов в моем последнем разделе. Эта тема делает интересным "дальнейшее чтение как домашнее задание".
источник