Дисплей OLED I2C 128х64, 0.96″

Дисплей OLED – компонент, который часто используется в проектах Arduino. Дисплей достаточно мал, его диагональ составляет всего 0,96 дюйма. Однако, такой дисплей является одним из самых удобных и функциональных среди других дисплеев.

Яркий, экономичный и контрастный OLED дисплей достойно украсит любой проект, особенно когда важны размеры и внешний вид. Контрастность дисплея позволяет уверенно считывать с него информацию даже при очень ярком свете.

Дисплей подключается всего через 4 пина и используется I2C интерфейс. Это значит, что на одну плату контроллера можно подключить сразу несколько таких устройств.

Адрес шины можно выбрать перепайкой перемычки, по умолчанию выбран адрес 0x3c.

Схема подключения дисплея OLED I2C 128х64, 0.96″

На схеме представлено стандартное подключение OLED дисплея к пинам SCL (A5) и SDA (A4) контроллера форм-фактора UNO.

Подключение OLED
Подключение OLED

Код для подключения дисплея OLED I2C 128х64, 0.96″

В примере ниже показано, как можно вывести информацию на OLED дисплей. Перед загрузкой кода требуется скачивание библиотеки OLED_I2C.h.

#include "OLED_I2C.h"      // подключение библиотеки
OLED myOLED(SDA, SCL, 8);  // создание объекта myOLED

// подключение шрифтов текста и цифр
extern uint8_t TinyFont[];
extern uint8_t SmallFont[];
extern uint8_t MediumNumbers[];
extern uint8_t BigNumbers[];

void setup() {
  myOLED.begin();  // инициализация экрана
}

void loop() {
  // вывод текста по левому краю
  myOLED.setFont(TinyFont);
  myOLED.print("ABCDEFGHIJKLMNOPQRSTUVWXYZ", LEFT, 10);
  myOLED.update();
  delay(1000);

  // вывод текста по центру
  myOLED.setFont(SmallFont);
  myOLED.print("ABCDEFG", CENTER, 25);
  myOLED.update();
  delay(2000);

  myOLED.clrScr(); // очистка экрана
  myOLED.update();
  myOLED.invert(true); // включение инверсии экрана
  delay(1000);

  // вывод цифр по правому краю
  myOLED.setFont(MediumNumbers);
  myOLED.print("123456789", RIGHT, 5);
  myOLED.update();
  delay(1000);

  // вывод цифр, начиная с 5 пикселя строки
  myOLED.setFont(BigNumbers);
  myOLED.print("123456789", 5, 30);
  myOLED.update();
  delay(2000);

  myOLED.clrScr(); // очистка экрана
  myOLED.update();
  myOLED.invert(false); // отключение инверсии экрана
  delay(1000);
}

Скачать файл с кодом, формат .INO: OLED

Скачать библиотеку для OLED, формат .ZIP: OLED_I2C-master