понедельник, 16 февраля 2015 г.

Библиотека LCD5110_Graph

LCD5110_Graph

описание библиотеки для использования в Arduino Nokia 5110 совместимых дисплеев на русском языке









Определенные литералы:

Выравнивание
Используется совместно с print(), printNumI() and printNumF()
LEFT:   0
RIGHT:  9999
CENTER: 9998

Встроенные шрифты:

SmallFont:
Размер символа: 6 х 8 пикселей
Количество символов: 95

MediumNumbers:
Размер символа: 12 х 16 пикселей
Количество символов: 13

BigNumbers:
Размер символа: 14 х 24 пикселей
Количество символов: 13


Функции:


LCD5110(SCK, MOSI, DC, RST, CS);
Инициализация библиотеки с указанием выводов (пинов) подключения к Arduino
Параметры:
   SCK (CLK): Тактирующий вывод для последовательного интерфейса SPI
   MOSI (Din): Вход данных последовательного интерфейса SPI 
   DC (DC):  Вывод выбора режима ввода данных - Данные/Команды
   RST (RST ): Вывод для перезагрузки контроллера дисплея
   CS (CE): Состояние данного вывода разрешает или запрещает ввод данных в контроллер дисплея
Пример: LCD5110 myGLCD(3, 4, 5, 6, 7); // Инициализация библиотеки с указанием пинов подключения к Arduino
Примечания: В скобках подписаны выводы так же как они подписаны на дисплее.

InitLCD([contrast]);
Инициализация дисплея
Параметры:
contrast: <необязательный параметр>
Указание значения контраста дисплея (0-127). По умолчанию 70
Пример: myGLCD.InitLCD(); // Инициализация дисплея
Примечания: Данная функция выполняет сброс и очистку дисплея.

setContrast(contrast);
Установка контрастности дисплея
Параметры:
contrast: Указание значения контраста дисплея (0-127)
Пример: myGLCD.setContrast(70); // Установка значения контраста, равным 70 (значение  по умолчанию)

enableSleep();
Перевод дисплея в режим ожидания.
Параметры: нет
Пример: myGLCD.enableSleep(); // Перевод дисплея в режим ожидания
Примечания: Перевод дисплея в режим ожидания не отключает подсветку, т.к. подсветка управляется аппаратно.

disableSleep();
Вывод дисплея из режима ожидания
Параметры: нет
Пример: myGLCD.disableSleep(); // Вывод дисплея из режима ожидания
Примечания: При выходе из режима ожидания происходит очистка экрана. Выход из режима ожидания не включает подсветку, т.к. подсветка управляется аппаратно.

update();
Копирование содержимого буфера экрана на экран.
Параметры: нет
Пример: myGLCD.update();  // Копирование содержимого буфера экрана на экран
Примечания: Необходимо выполнять команду update() после каждого обновления буфера экрана.
Вызов команды update(), если дисплей находится в спящем режиме, не будет иметь никакого эффекта.

clrScr();
Очистка буфера экрана.
Параметры: нет
Пример: myGLCD.clrScr();  // Очистка буфера экрана

fillScr();
Заполнение буфера экрана.
Параметры: нет
Пример: myGLCD.fillScr();  // Заполнение буфера экрана

invert(mode);
Инвертировать изображение на экране
Параметры:
mode - true - инверсное изображение
              false - нормальное изображение
Пример: myGLCD.invert(true); // Изображение на экране инвертное

setPixel(x, y);
Включение указанного пикселя в буфере экрана,
Параметры: 
     х: координата пикселя по горизонтали
     y: координата пикселя по вертикали
Пример: myGLCD.setPixel (0,0); // Включить верхний левый пиксель (в буфере экрана)

clrPixel(x,y);
Выключение указанного пикселя в буфере экрана,
Параметры: 
     х: координата пикселя по горизонтали
     y: координата пикселя по вертикали
Пример: myGLCD.clrPixel(0,0); // Выключить верхний левый пиксель (в буфере экрана)

invPixel(x,y);
Инвертировать состояние указанного пикселя в буфере экрана
Параметры: 
     х: координата пикселя по горизонтали
     y: координата пикселя по вертикали
Пример: myGLCD.invPixel(0, 0); // Инвертировать верхний левый пиксель (в буфере экрана)

print(st, x, y);
Распечатать строку в указанных координатах
Можно использовать как литералы LEFT, CENTER и RIGHT, так и числовые координаты, чтобы выровнять строку на экране.
Параметры:
     st: строка для печати
     x: координата верхнего левого угла первого символа по горизонтали
     y: координата верхнего левого угла первого символа по вертикали
Пример: myGLCD.print("Hello World",CENTER,0); // Печать строки "Hello World" по центру в верхней части экрана
Примечания: координата по вертикали должна быть кратной 8-ми пикселям. Только 0, 8, 16, 24, 32 и 40 могут быть использованы в качестве координат по вертикали.
Строка для печати может быть либо массив символов или строковый объект

printNumI(num, x, y[, length[, filler]]);
Распечатать целое число в указанных координатах.
Можно использовать как литералы LEFT, CENTER и RIGHT, так и числовые координаты, чтобы выровнять строку с числом на экране.
Параметры:
     num: Число для вывода на экран (от -2147483648 до 2147483647). Допускаются только ЦЕЛЫЕ числа
     x: координата верхнего левого угла первой цифры/знака по горизонтали
     y: координата верхнего левого угла первой цифры/знака по вертикали
     length: <необязательный параметр> минимальное количество цифр / символов (включая знак) для отображения на экране
     filler: <необязательный параметр> Символ для заполнения, чтобы получить минимальную длину.Символ будет вставлен перед номером, но после знака. Умолчанию '' " (пробел).
Пример: myGLCD.printNumI(num,CENTER,0); // Печать значения переменной "num" по центру в верхней части экрана
Примечания: координата по вертикали должна быть кратной 8-ми пикселям. Только 0, 8, 16, 24, 32 и 40 могут быть использованы в качестве координат по вертикали.

printNumF(num, dec, x, y[, divider[, length[, filler]]]);
Распечатать число с плавающей точкой в указанных координатах.
Можно использовать как литералы LEFT, CENTER и RIGHT, так и числовые координаты, чтобы выровнять строку с числом на экране.
Параметры:
     num: Число для вывода на экран
     Dec: количество цифр после запятой (в дробной части) (допустимые значения 1-5). Число 0 не поддерживается, для этого используйте printNumI ()
     x: координата верхнего левого угла первой цифры/знака по горизонтали
     y: координата верхнего левого угла первой цифры/знака по вертикали
     divider: <необязательный параметр> Одиночный символ для использования в качестве десятичной точки. По умолчанию '.'
     length: <необязательный параметр> минимальное количество цифр / символов (включая знак) для отображения на экране
     filler: <необязательный параметр> Символ для заполнения, чтобы получить минимальную длину.Символ будет вставлен перед номером, но после знака. Умолчанию '' " (пробел).
Пример: myGLCD.printNumF(num, 3, CENTER,0); // Печать значения переменной "num" с 3-мя знаками после запятой по центру в верхней части экрана
Примечания: Поддерживаемые диапазон зависит от количества цифр в дробной части.
Диапазон приблизительный +/- 2 * (10 в степени 9) - для десятичной системы.
Координата по вертикали должна быть кратной 8-ми пикселям. Только 0, 8, 16, 24, 32 и 40 могут быть использованы в качестве координат по вертикали.

invertText(mode);
Инвертировать текст на экране
Параметры:
     mode - true - инверсное изображение
                  false - нормальное изображение
Пример: myGLCD.invertText(true); // Изображение текста инвертное
Примечания: функция SetFont() отключает инвертный режим

setFont(fontname);
Выбор шрифта для использования совместно с Print(), printNumI() и printNumF()
Параметры:
     fontname: Имя массива, содержащий шрифт, для использования
Пример: myGLCD.setFont(SmallFont); // Выбор шрифт под названием SmallFont
Примечания: Перед использованием необходимо объявить массив со шрифтом  в качестве внешнего или включить его в свой скетч.

drawLine(x1, y1, x2, y2);
Рисование линии между двумя точками в буфере экрана
Параметры: 
     x1: координата начальной точки по горизонтали
     y1: координата начальной точки по вертикали
     x2: координата конечной точки по горизонтали
     y2: координата конечной точки по вертикали
Пример: myGLCD.drawLine(0,0,83,47); // Рисуем линию от верхнего левого в нижний правый угол

clrLine(x1, y1, x2, y2);
Стирание линии между двумя точками в буфере экрана.
Параметры: 
     x1: координата начальной точки по горизонтали
     y1: координата начальной точки по вертикали
     x2: координата конечной точки по горизонтали
     y2: координата конечной точки по вертикали
Пример: myGLCD.clrLine(0,0,83,47) // Стираем линию от верхнего левого в нижний правый угол

drawRect(x1, y1, x2, y2);
Рисование прямоугольника между двумя точками в буфере экрана.
Параметры:
     x1: координата начального угла по горизонтали
     y1: координата начального угла по вертикали
     х2: координата конечного угла по горизонтали
     y2: координата конечного угла по вертикали
Пример: myGLCD.drawRect (42,24,83,47); // Рисуем прямоугольник в правом нижнем углу экрана

clrRect(x1, y1, x2, y2);
Стирание прямоугольника между двумя точками в буфере экрана.
Параметры:
     x1: координата начального угла по горизонтали
     y1: координата начального угла по вертикали
     х2: координата конечного угла по горизонтали
     y2: координата конечного угла по вертикали
Пример: myGLCD.clrRect(42,24,83,47); // Стираем прямоугольник в правом нижнем углу экрана

drawRoundRect(x1, y1, x2, y2);
Нарисовать прямоугольник со слегка закругленными углами между двумя точками в экранном буфере.
Минимальный размер прямоугольника составляет 5 пикселей в любых направлениях. Если размер меньше рекомендуемого прямоугольник не будет нарисован.
Параметры:
     x1: координата начального угла по горизонтали
     y1: координата начального угла по вертикали
     х2: координата конечного угла по горизонтали
     y2: координата конечного угла по вертикали
Пример: myGLCD.drawRoundRect(0,0,41,23); // Нарисовать прямоугольник с закругленными углами в левом верхнем углу экрана

clrRoundRect(x1, y1, x2, y2);
Стереть прямоугольник со слегка закругленными углами между двумя точками в экранном буфере.
Минимальный размер прямоугольника составляет 5 пикселей в любых направлениях. Если размер меньше рекомендуемого прямоугольник не будет удален/стерт.
Параметры:
     x1: координата начального угла по горизонтали
     y1: координата начального угла по вертикали
     х2: координата конечного угла по горизонтали
     y2: координата конечного угла по вертикали
Пример: myGLCD.clrRoundRect(0,0,41,23); // Стереть прямоугольник с закругленными углами в левом верхнем углу экрана

drawCircle(x, y, radius);
Нарисовать круг с заданным радиусом в буфере экрана.
Параметры:
     х: координата центра окружности по горизонтали
     y: координата центра окружности по вертикали
     radius: радиус окружности в пикселях
Пример: myGLCD.DrawCircle (41,23,20); // Рисуем круг в центре экрана с радиусом 20 пикселей

clrCircle(x, y, radius);
Стереть круг с заданным радиусом в буфере экрана.
Параметры:
     х: координата центра окружности по горизонтали
     y: координата центра окружности по вертикали
     radius: радиус окружности в пикселях
Пример: myGLCD.clrCircle(41,23,20); // Рисуем круг в центре экрана с радиусом 20 пикселей

Upd 01.05.2022:Выложил файлы в первых комментариях к данной статье на нашем телеграмм канале. Не забудьте подписаться на канал!

Комментариев нет:

Отправить комментарий