Библиотека LCD5110_Basic

Дим M
Автор темы, Администратор
Администратор
Аватара
Дим M
Автор темы, Администратор
Администратор
Сообщения: 1608
Зарегистрирован: 5 апреля 2013
С нами: 10 лет 11 месяцев

#1 Дим » 29 июня 2019, 0:22

phpBB [media]


Схема и скетч для проверки:
Спойлер
Библиотека LCD5110_Basic схема подключения.PNG
Библиотека LCD5110_Basic схема подключения
Библиотека LCD5110_Basic схема подключения.PNG (98.98 КБ) 1467 просмотров

Код: Выделить всё

#include <LCD5110_Basic.h>
LCD5110 myGLCD(7,6,5,3,4);
extern uint8_t SmallFont[];
extern uint8_t MediumNumbers[];
extern uint8_t BigNumbers[];

void setup()
{
  myGLCD.InitLCD(30); //инициализация экрана и контрастность(30) по умолчанию 70
}

void loop()

  for (int i=0; i<=10000; i++)
  {
    myGLCD.setFont(MediumNumbers);
    myGLCD.printNumF(float(i)/3, 2, RIGHT, 0);
    myGLCD.setFont(BigNumbers);
    myGLCD.printNumI(i, RIGHT, 24);
  }
  
  myGLCD.setFont(SmallFont);
  myGLCD.print("|            |", CENTER, 16);
  delay(500);
  for (int i=0; i<12; i++)
  {
    myGLCD.print("\\", 6+(i*6), 16);
    delay(500);
  }
  myGLCD.clrScr();


Определенные литералы:
Выравнивание
Используется совместно с print(), printNumI() and printNumF()

Код: Выделить всё

LEFT:   0
RIGHT
:  9999
CENTER
: 9998


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

SmallFont.jpg
SmallFont
SmallFont.jpg (10 КБ) 1467 просмотров

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

MediumNumbers:
MediumNumbers.jpg
MediumNumbers
MediumNumbers.jpg (5.2 КБ) 1467 просмотров

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

BigNumbers:
BigNumbers.jpg
BigNumbers
BigNumbers.jpg (9.06 КБ) 1467 просмотров

Размер символа: 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(); // Вывод дисплея из режима ожидания
Примечания: При выходе из режима ожидания происходит очистка экрана. Выход из режима ожидания не включает подсветку, т.к. подсветка управляется аппаратно


clrScr();
Очистка экрана
Параметры:
нет

Код: Выделить всё

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


clrRow(row[, start_x[, end_x]]);
Очистка части или всей строки
Параметры:

Код: Выделить всё

     Row: Номер строки, начиная сверху (высотой 8 пикселей) для очистки (0-5)
     start x: <необязательный параметр> Координаты с которых начинать очистку строки (по умолчанию 0)
     end x: <необязательный параметр> Координаты на которых закончить очистку строки (по умолчанию 83)
Пример: myGLCD.clrRow(5, 42); // Очистить правую половину нижней строки               


invert(mode);
Инвертировать изображение на экране
Параметры:

Код: Выделить всё

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


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 могут быть использованы в качестве координат по вертикали.


setFont(fontname);
Выбор шрифта для использования совместно с Print(), printNumI() и printNumF()
Параметры:

Код: Выделить всё

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


invertText(mode);
Инвертировать текст на экране
Параметры:

Код: Выделить всё

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


drawBitmap (x, y, data, sx, sy);
Вывод растрового изображения на экран
Параметры:

Код: Выделить всё

     x: координата верхнего левого угла растрового изображения по горизонтали
     y
: координата верхнего левого угла растрового изображения по вертикали
     data
: массив, содержащий растровые данные
     sx
: ширина растрового изображения в пикселях
     sy
: высота растрового изображения в пикселях
Пример
: myGLCD.drawBitmap(0, 0, bitmap, 32, 32); //  Рисуем 32x32 пикселей растрового изображения в верхнем левом углу               
[center]i love you [s]mxIni[/s] Mysql[/center]


  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Программирование»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 5 гостей