Расширение PWM Arduino с TLC5940: полное руководство по 16-канальному LED-драйверу
В этом уроке Arduino мы научимся использовать PWM-драйвер TLC5940 с платой Arduino. TLC5940 — это 16-канальный LED-драйвер, который обеспечивает PWM-выходы и идеально подходит для расширения возможностей PWM Arduino. Не только светодиоды, но и с этой микросхемой мы можем управлять сервоприводами, двигателями постоянного тока и другими электронными компонентами с помощью PWM-сигналов. Каскадное подключение — отличная функция, означающая, что мы можем соединять несколько микросхем TLC5940 последовательно. С этим мы можем расширить PWM-возможности Arduino более чем до 16 выходов, например, до 32, 48 или 64 PWM-выходов, и по-прежнему использовать те же 4 вывода, используемые платой Arduino для управления одной микросхемой TLC5940. Компоненты для этого урока можно найти на любом из сайтов ниже: Для управления TLC5940 нам нужно занять 4 вывода вашей платы Arduino. Поскольку мы будем использовать библиотеку TLC5940 для Arduino, созданную Алексом Леоне (Alex Leone), нам нужно подключить микросхему к Arduino в соответствии с конфигурацией его библиотеки или используя следующую схему подключения: Схема подключения выше использует внешнее питание для питания светодиодов, но также можно подключить просто с использованием самого VCC Arduino, если общий потребляемый ток не превышает лимит Arduino (Absolute Maximum Rating, DC Current VCC and GND Pins – 200 мА). Также нужно отметить, что TLC5940 является драйвером с постоянным током (constant-current sink), поэтому ток течет к выходным выводам. Это означает, что при подключении светодиодов нужно подключать отрицательный вывод (Катод) к выходному выводу микросхемы, а положительный вывод (Анод) — к 5В VCC. Нам также нужны 2 конденсатора для развязки и резистор для управления величиной тока, текущего через выходы. Значение резистора зависит от компонента, которым мы хотим управлять, и его можно выбрать, используя следующую диаграмму из даташита TLC5940. Согласно диаграмме, для управления светодиодами, требующими 20 мА тока, нужен резистор 2 кОм. После скачивания и установки библиотеки TLC5940 для Arduino, созданной Алексом Леоне, мы можем использовать его демонстрационный пример «BasicUse» для понимания того, как управлять выходами микросхемы. Вот простой код, который я сделал для этого урока для управления 16 светодиодами с использованием этой библиотеки. Читайте комментарии в коде для понимания работы функций. Для подключения более чем одной из этих микросхем последовательно можно использовать ту же схему подключения, что и показано выше. Единственная разница в том, что вывод SOUT (Signal Output — вывод 17) первой микросхемы нужно подключить к выводу SIN (Signal Input — вывод 26) второй микросхемы и так далее. Что касается программирования, нам нужно внести некоторые изменения. В папке библиотеки TLC5940 нужно изменить файл tlc_config.h и изменить значение переменной NUM_TLCS на количество микросхем TLC5940, подключенных последовательно, в нашем случае это значение 2. С этим сделано, теперь мы можем легко адресовать все светодиоды от 0 до 31 и использовать тот же метод программирования, что и ранее описано. В качестве примера, по следующей ссылке, вы можете посмотреть мой проект DIY LED Heart Photo Frame — Arduino Project, где я использую 2 микросхемы TLC5940 для управления 32 светодиодами.
Основные характеристики
– 0 мА до 120 мА (VCC > 3.6В)
– 0 мА до 60 мА (VCC < 3.6В)
Подключение Arduino и TLC5940


Исходный код
/*
* Arduino and TLC5940 Tutorial - Simple Example
* by Dejan Nedelkovski, www.HowToMechatronics.com
*/
#include "Tlc5940.h"
void setup() {
Tlc.init(0);
}
void loop() {
Tlc.set(0, 4095);
Tlc.update();
delay(1000);
for (int i = 0; i < 16; i++) {
Tlc.set(i, 4095);
}
Tlc.update();
delay(1000);
Tlc.clear();
Tlc.update();
delay(1000);
for (int i = 0; i < 16; i++) {
Tlc.set(i, 4095);
Tlc.update();
delay(200);
Tlc.clear();
Tlc.update();
delay(200);
}
}Язык кода: Arduino (arduino)Управление более чем одним TLC5940


Производственный процесс
- Измерение качества воздуха с OpenSensors: руководство по Arduino и Python
- Создание надежного RFID-замка на Arduino — пошаговое руководство
- Создание универсального ИК-пульта на Arduino: пошаговое руководство
- Цифровой стадиометр на Arduino: отслеживание роста лазерным датчиком VL53L0X
- Использование термистора: пошаговое руководство для Arduino
- Генерация музыкальных тонов на Arduino: полный спектр 88 клавиш пианино
- Проект датчика отпечатков пальцев на Arduino Nano – Пошаговое руководство
- Мастерство Modbus на Arduino: пошаговое руководство
- Создание мини-пианино на Arduino UNO — пошаговое руководство
- Урок Arduino для начинающих 01: Начало работы с первым проектом