-
-
Notifications
You must be signed in to change notification settings - Fork 22
Connecting for RGB(rus)
Выбор пинов для управления матрицей может оказаться довольно сложным. Некоторые сигналы предьявляют специальные требования к выбору выхода МК, например поддержки ШИМ. Требования различаются в зависимости от типа контроллера, в этом случае рекомендации для СТМ32 и RP2040 изложены отдельно.
Пины R0, G0, B0, R1, G1, B1 и пин CLK используются для параллельной загрузки данных в DMD модуль. При инициализации обьекта dmd они задаются списком, первым пин CLK, потом пины цветовых каналов:
uint8_t custom_rgbpins[] = { PA15, PA0,PA1,PA2,PA3,PA4,PA5 }; // CLK, R0, G0, B0, R1, G1, B1
STM32: Все эти пины должны выбираться среди выходов одного порта микроконтроллера, например все PAx или все PBx. Дополнительно, при использовании режимов цвета COLOR_4BITS
и COLOR_1BITS
, допустимо использовать только PA0-PA5
пины.
RP2040: Пин CLK может быть любым GPIO, R0-B1 пины должны иметь последовательные номера в возрастающем порядке без пропусков.
A B (C D E)– переключатели. В каждый момент времени питание подается только на чaсть панели. Число и порядок частей, на которые разделена светодиодная матрица, определяется типом сканирования (scan). RGB панели могут быть от 2scan до 32scan, в зависимости от этого число линий переключателей может быть разным - от AB до ABCDE. Комбинации высокого и низкого уровней на пинах А В C D E служат для выбора, какая из частей подсвечивается в данный момент. В скетче пины для переключателей так же задаются списком:
uint8_t mux_list[] = { DMD_PIN_A , DMD_PIN_B , DMD_PIN_C , DMD_PIN_D , DMD_PIN_E };
STM32: Все переключатели тоже должны выбираться на одном порту МК (но не обязательно на том же, как пины данных R0 - B1).
RP2040: A B C D E пины должны иметь последовательные номера в возрастающем порядке без пропусков.
OE (Output Enable) – служит для включения и отключения светодиодов. Подавая на этот вход сигнал ШИМ, можно регулировать яркость подсветки. На контроллере STM32 по умолчанию для генерации ШИМ используется таймер TIM3, т. о. пин OE нужно выбрать среди выходов таймера3 – PB0 PB1 PA6 PA7. Для RP2040 вы можете использовать любой GPIO для OE сигнала.
STM32: Начиная с версии 0.6.11 появилась возможность выбрать другие таймеры для ОЕ: напр. TIM4, выходы PB6 PB7 PB8 PB9.
Для LAT(SCLK) может быть выбран любой пин вывода микроконтроллера Пин GND разъема панели необходимо соединить с соответствующим пином микроконтроллера.
Если шлейф между контроллером и первой панелью длиннее 20-30см, рекомендуется использовать конвертер логических уровней между 3.3в и 5в.
Соединение RGB матриц полностью аналогично соединению монохромных панелей. Режимы CONNECT_NORMAL и CONNECT_ZIGZAG поддерживаются. Подробнее см. соединение монохромных панелей.
Двуцветные панели, как правило, имеют разъем формата HUB08 с другим расположением пинов. За исключением этого, их подключение аналогично подключению панелей RGB. Пины, не используемые в двуцветных панелях (например пины синего B0 B1 в Red-Green матрице) все равно должны быть назначены при инициализации обьекта dmd. Подключать их к матрице не нужно, однако они не должны использоваться ни для чего другого. При работе с двуцветными матрицами в программе следует выбирать шаблон для RGB матриц с глубиной цвета в 1бит.