LEDmatrix7219
Описание библиотеки для использования в Arduino светодиодной матрицы управляемой MAX7219 на русском языке
Введение:
Данная библиотека предназначена для взаимодействия светодиодных матриц 8X8 с общим анодом на микросхеме MAX7219 и arduino.
Библиотека не тестировалась на модулях с общим катодом.
Для матриц с общим анодом столбцы должны быть подключены к выходам DIGx микросхемы MAX7219, а строки матрицы к выходам SEGx.
Нижняя строка матрицы подключается к выходу SEG DP.
Определенные литералы:
Выравнивание
Используется совместно с scroll()
SCROLL_LEFT: 1
SCROLL_RIGHT: 2
SCROLL_UP: 3
SCROLL_DOWN: 4
Встроенные шрифты:
TextFont
Размер символа: 6 х 8 пикселей
Количество символов: 95
NumFont
Размер символа: 6 х 8 пикселей
Количество символов: 18
Примечание: Это набор тех же символов, что используются в TextFont за исключением символа точки с запятой (;), который был заменен на пробел. Этот шрифт предназначен для использования, когда нужны только цифры и некоторые символы и когда нужно сэкономить немного места в памяти микроконтроллера.
Функции:
LEDmatrix7219(data, clock, load);
Инициализация библиотеки LEDmatrix7219
Параметры:
Data: Вывод подключения DIN-пина (MAX7219 вывод 1)
Clock: Вывод подключения SCL-пина (MAX7219 вывод 13)
Load: Выбод подключения LOAD-пина (MAX7219 вывод 12)
Пример: LEDmatrix7219 myMatrix(5, 6, 7); // Инициализация библиотеки LEDmatrix7219
begin([num]);
Инициализация MAX7219 матрицы
Параметры:
num: <необязательный> количество подключенных светодиодных матриц на max7219 (1-8). По умолчанию 4.
Пример: myMatrix.begin(); // Инициализация матрицы
Примечание: Матрица MAX7219 после инициализации будет находиться в ждущем режиме
enableSleep();
Перевести матрицу MAX7219 в спящий режим.
Параметры: Нет
Пример: myMatrix.enableSleep(); // Перевести матрицу MAX7219 в спящий режим
disableSleep();
Вывести матрицу MAX7219 из спящего режима
Параметры: Нет
Пример: myMatrix.disableSleep(); // Разбудить матрицу MAX7219 из спящего режима
enableTest();
Перевести матрицу MAX7219 в тестовый режим.
Параметры: Нет
Пример: myMatrix.enableTest(); // Перевести матрицу MAX7219 в спящий режим
disableTest();
Вывести матрицу MAX7219 из тестового режима.
Параметры: Нет
Пример: myMatrix.disableTest(); // Возврат матрицы MAX7219 в нормальный режим
setIntensity(level);
Установить интенсивность/яркость светодиодных матриц.
Параметры:
level: Необходимый уровень интенсивности (0-15)
Пример: myMatrix.setIntensity(15); // Установить уровень интенсивности на максимум
Примечание: В библиотеке по умолчанию установлен уровень интенсивности 8.
clear();
Очистка светодиодных матриц.
Параметры: Нет
Пример: myMatrix.clear(); // Очистить светодиодные матрицы
setPixel(x, y);
Включить заданный светодиод.
Параметры:
x: зачение координат по горизонтали
y: значение координат по вертикали
Пример: myMatrix.setPixel(0, 0); // Включить светодиод в верхнем левом углу
clrPixel(x, y);
Выключить заданный светодиод.
Параметры:
x: зачение координат по горизонтали
y: значение координат по вертикали
Пример: myMatrix.clrPixel(0, 0); // Выключить светодиод в верхнем левом углу
invPixel(x, y);
Инвертировать состояние указанного светодиода.
Параметры:
x: значение координат по горизонтали
y: значение координат по вертикали
Пример: myMatrix.invPixel(0, 0); // Инвертировать состояние светодиода в верхнем левом углу
scroll(direction[, wrap]);
Сдвинуть изображение на светодиодной матрице на 1 пиксель в заданном направлении.
Параметры:
direction: Направление сдвига. Принимает значение SCROLL_LEFT, SCROLL_RIGHT, SCROLL_UP или SCROLL_DOWN
wrap: <необязательный параметр> Анимация исчезающего пикселя.Состояния по умолчанию - выключено (false)
Пример: myMatrix.scroll(SCROLL_DOWN); // Сдвинуть изображение на 1 пиксель вниз оставив вверху пустую строку
print(st, x[, y]);
Напечатать строку в указанных координатам.
Параметры:
st: Строка для печати
x: значение координат по горизонтали верхнего левого угла первого символа
y: <необязательный параметр> значение координат по вертикали верхнего левого угла первого символа. По умолчанию равно 0 (верхняя строка)
Пример: myMatrix.print(“Mynobook”, 0); // Напечатать "Mynobook", начиная с левого края светодиодной матрицы
Примечание: Строка для печати может быть или символьный массив или строковый объект (String)
print(num, x[, y[, length[, filler]]]);
Печать целого числа в указанных координатах.
Параметры:
num: Целое число для печати (от -2,147,483,648 до 2,147,483,647)
x: значение координат по горизонтали верхнего левого угла первого числа или знака
y: <необязательный параметр> значение координат по вертикали верхнего левого угла первого числа или знака. По умолчанию равно 0 (верхняя строка)
length: <необязательный параметр> Минимальное количество цифр/символов (включая знак) для отображения
filler: <необязательный параметр> Символ для заполнения, чтобы получить минимальную длину. Символ будет вставлен перед числом, но после знака. По умолчанию ' ' (пробел)
Пример: myMatrix.print(num, 0); // Напечатать значение переменной"Num", начиная с левого края светодионой матрицы
Примечание: Данная библиотека не поддерживает печать чисел с плавающей точкой
setFont(fontname);
Выбор шрифта для использования с print().
Параметры:
fontname: Имя массива, содержащий шрифт, который будет использован
Пример: myMatrix.setFont(TextFont); // Выбор шрифта, с названием TextFont
Примечание: Перед использованием нужно объявить шрифт-массив в качестве внешнего или включить его в свой скетч.
Данная библиотека поддерживает монохромные шрифты, сделанные с помощью онлайн Font Maker
а как в этой библиотеке указать количество матриц и повернуть шрифт на 90 градусов?
ОтветитьУдалитьА эту матрицу можно прошить в ESPHOME и подключить к Home Assistant для вывода информации?
ОтветитьУдалитьДа конечно. В ESPhome это делается так: https://esphome.io/components/display/max7219digit.html
УдалитьУ меня не чего не получилось. Не понял как из ХА выводить информацию, например температуру.
УдалитьСначала нужно датчик из HA пробросить в ESPhome. Смотрите здесь: https://esphome.io/components/text_sensor/homeassistant.html
Удалить