GyverLibs / GyverMAX7219

Cамая резкая библиотека для матриц MAX7219 на диком западе
MIT License
22 stars 1 forks source link

latest PIO Foo Foo Foo

Foo

GyverMAX7219

Cамая резкая библиотека для матриц MAX7219 на диком западе

Совместимость

Совместима со всеми Arduino платформами (используются Arduino-функции)

Содержание

Установка

Инициализация

MAX7219 < W, H, CS > mtrx;            // подключение к аппаратному SPI
// пример: UNO / Nano (CLK - D13, DI - D11, CS - любой пин)

MAX7219 < W, H, CS, DATA, CLK > mtrx; // подключение к любым пинам (софт SPI)
// W и H - количество МАТРИЦ по горизонтали и вертикали
// CS, DATA, CLK - номера пинов

Дисплей

setType setConnection

Использование

// настройка
void begin();                       // запустить
void setBright(byte value);         // установить яркость [0-15]
void setBright(uint8_t* values);    // установить разную яркость
void setPower(bool value);          // переключить питание
void setPower(bool* values);        // переключить питание у выбранных
void clearDisplay();                // очистить дисплей (не буфер)

// ориентация
void setRotation(uint8_t rot);      // поворот МАТРИЦ (8x8): 0, 1, 2, 3 на 90 град по часовой стрелке
void setFlip(bool x, bool y);       // зеркальное отражение МАТРИЦ (8x8) по x и y
void setType(bool type);            // конструкция дисплея (тип строчности)
void setConnection(uint8_t conn);   // точка подключения дисплея

// графика
void fillByte(uint8_t data);        // залить байтом
void fill();                        // залить буфер (включить все)
void clear();                       // очистить буфер
void update();                      // обновить дисплей

void dot(int x, int y, uint8_t fill = 1); // установить точку
bool get(int16_t x, int16_t y);           // получить точку из буфера

// + наследует возможности GyverGFX https://github.com/GyverLibs/GyverGFX

// custom
void beginData();     // начать отправку
void endData();       // закончить отправку
// отправка данных напрямую в матрицу (строка, байт)
void sendByte(uint8_t address, uint8_t value);

Пример

Остальные примеры смотри в examples!

#include <GyverMAX7219.h>
MAX7219 < 1, 1, 5 > mtrx;   // одна матрица (1х1), пин CS на D5

void setup() {
  mtrx.begin();       // запускаем
  mtrx.setBright(5);  // яркость 0..15
  //mtrx.rotate(1);   // можно повернуть 0..3, по 90 град по часовой стрелке

  mtrx.dot(0, 0);     // пиксель на координатах 0,0
  mtrx.update();      // показать
  delay(1000);
  mtrx.clear();

  // линии крест накрест
  mtrx.line(0, 0, 7, 7);  // (x0, y0, x1, y1)
  mtrx.line(7, 0, 0, 7);
  mtrx.update();
  delay(1000);
  mtrx.clear();

  // круг
  mtrx.circle(3, 3, 3, GFX_FILL); // х, у, радиус, заливка
  mtrx.update();
  delay(1000);
  mtrx.clear();

  // окружность
  mtrx.circle(3, 3, 3, GFX_STROKE);
  mtrx.update();
  delay(1000);
  mtrx.clear();

  // остальную геометрию смотри в документации
}

void loop() {
}

Версии

Баги и обратная связь

При нахождении багов создавайте Issue, а лучше сразу пишите на почту alex@alexgyver.ru
Библиотека открыта для доработки и ваших Pull Request'ов!

При сообщении о багах или некорректной работе библиотеки нужно обязательно указывать: