среда, 1 февраля 2017 г.

Библиотека LEDmatrix7219

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

5 комментариев:

  1. а как в этой библиотеке указать количество матриц и повернуть шрифт на 90 градусов?

    ОтветитьУдалить
  2. А эту матрицу можно прошить в ESPHOME и подключить к Home Assistant для вывода информации?

    ОтветитьУдалить
    Ответы
    1. Да конечно. В ESPhome это делается так: https://esphome.io/components/display/max7219digit.html

      Удалить
    2. У меня не чего не получилось. Не понял как из ХА выводить информацию, например температуру.

      Удалить
    3. Сначала нужно датчик из HA пробросить в ESPhome. Смотрите здесь: https://esphome.io/components/text_sensor/homeassistant.html

      Удалить