четверг, 3 ноября 2016 г.

Библиотека OLED_I2C

OLED_I2C

описание библиотеки для использования в Arduino oled дисплея на контроллере SSD1306 с I2C на русском языке





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

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


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

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

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

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

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


Функции:

OLED(Data, Clock, [Reset]);
Инициализация библиотеки с помощью интерфейса I2C
Параметры:
Data: Вывод подключения SDA-пина (данные)
Clock: Вывод подключения SCL-пина (тактирование)
Reset: Выбод подключения сброса <необязательный параметр>
Пример: OLED myOLED(SDA, SCL); // Инициализация библиотеки с помощью интерфейса I2C TWI/I2C без сброса контроллера дисплея

begin();
Инициализация дисплея
Параметры: Нет
Пример: myOLED.begin(); // Инициализация дисплея
Примечания: Данная функция выполняет сброс (при подключенном выводе сброса) и очистку дисплея.

setBrightness(value);
Установка яркости дисплея.
Параметры: 
value: Указание значение яркости (0-255)
Пример: myOLED.setBrightness(207); // Установка значения яркости, равным 207 (значение  по умолчанию)
Примечание: Следует отметить, что шаг регулирувки яркости очень мал и может быть не заметен

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

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

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

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

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

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

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

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

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

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

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

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

2 комментария:

  1. у вас очепятка, тини фонт и смол фонт параметры перепутаны, а так спасибо, лучшая статья на эту тему

    ОтветитьУдалить
  2. Этот комментарий был удален автором.

    ОтветитьУдалить