OLED 1.3″ GME64128-02, I²C

GME64128-02, четырёхконтактная I²C-плата; исполнения SSD1312 / SH1107

Текст и графика на узком OLED-дисплее

Автор: SLDV LAB

Опубликовано · Обновлено

СложностьСредне
Проекты с компонентом

О МОДУЛЕ

Что делает GME64128-02, четырёхконтактная I²C-плата; исполнения SSD1312 / SH1107

GME64128-02 — узкая OLED-плата с четырёхконтактным интерфейсом I²C. На присланной обратной стороне читаются GME64128-02, VER:1.0, 1.30″ 64×128 и IIC. Геометрия удобна для компактных приборов, вертикальных индикаторов и небольших меню; изображение можно программно повернуть.

Карточка описывает именно четырёхконтактное исполнение. Отдельный GME64128-03 с семью контактами и платы Waveshare OLED (A) имеют другое подключение. Торговая марка TZT в исходном объявлении не создаёт отдельную аппаратную модель.

У этого семейства есть разные контроллеры. Актуальная таблица GoldenMorning и параметрический лист TZT называют SSD1312. При этом официальный общий чертёж GME64128-02 прямо помечен SH1107/SSD1312, а опубликованная рядом справочная схема сохраняет SH1107. Надпись VER:1.0 на задней стороне не различает варианты: она присутствует и на текущем изображении SSD1312. Поэтому ниже сохранены два отдельных диагностических пути; выбирайте их по подтверждённому контроллеру своей ревизии.

Размеры взяты из первичного чертежа. Активные пиксели, окно просмотра, стеклянная панель и PCB — разные контуры. Полная длина сборки с выступающим шлейфом составляет 43,5 мм, тогда как сама PCB обозначена как 42,0 мм. Высота 11,3 мм включает штыревой разъём. Для корпуса используйте соответствующий контур и оставьте монтажный допуск.

В примерах выбрана ESP32-DevKitC V4 и общий домен 3,3 В. Проверяется ответ по I²C, затем рисуются текст и рамка до края логического холста. Примеры показывают горизонтальный холст 128×64: для SH1107 используется поворот R1, для SSD1312 — конструктор 128×64 с R0. Портретную ориентацию настройте отдельно и проверьте рамку и углы изображения. ACK не сообщает тип контроллера.

OLED светится сам и не имеет отдельной подсветки. Если изображение смещено или обрезано, не скрывайте это произвольным смещением координат: сначала проверьте контроллер, геометрию памяти и ревизию. API сверены с U8g2 2.37.1 и Arduino-ESP32 3.3.12; компиляция и аппаратная проверка не проводились.

Фотографии: GoldenMorning, GME64128-02. Использованы реальные виды спереди и сзади из текущего фотореференса производителя. Контроллер на снимке не виден. Внешний фон и просветы крепёжных отверстий отделены, геометрия, разъём, экран и маркировки сохранены. На изображение подключения добавлены указатели к реальным контактам. Для этих сторонних исходных фотографий разрешение на коммерческое повторное использование не подтверждено. Смена фона не изменяет права на изображение.

Характеристики

Размерная группа
Мини (до 1.6″ включительно)
Диагональ
1.3 дюйма
Нативная геометрия
64 × 128 пикселей
Контроллеры семейства по первичным источникам
SSD1312; SH1107 — отдельная ревизия
Интерфейс этой платы
I²C, четыре контакта
Активная область A/A
14.70 × 29.42 мм
Окно просмотра V/A
15.30 × 30.02 мм
Контур PCB
19.0 × 42.0 мм
Полный контур сборки в плане
19.0 × 43.5 мм
Высота с разъёмом
11.3 мм
Контур панели
17.1 × 35.8 мм
Питание и логика примера
3.3 В
Питание модуля
В примере VCC и логика 3,3 В. Текущий первичный материал TZT для GME64128-02 4P указывает VCC 3,3–5 В; это не основание подавать 5 В на GPIO ESP32 или подтяжки I²C. Допустимость иной логики проверяется по конкретной ревизии.

ПРАКТИКА

Подключение

Схема подключения
Контакт модуляКонтакт платыНазначение
GNDGNDESP32-DevKitC V4 с ESP32-WROOM-32E. Контакт 1; общий провод.
VCC3V3ESP32-DevKitC V4 с ESP32-WROOM-32E. Контакт 2; питание готовой платы 3,3 В.
SCLGPIO22ESP32-DevKitC V4 с ESP32-WROOM-32E. Контакт 3; тактирование I²C с подтяжками к 3,3 В.
SDAGPIO21ESP32-DevKitC V4 с ESP32-WROOM-32E. Контакт 4; данные I²C с подтяжками к 3,3 В.

Подходит для ESP32, Arduino. Выберите контакты по документации своей платы.

ВАШ ПРОЕКТ · ВАШ ДАТЧИК

Интегрируйте модуль с ChatGPT

Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.

Помоги интегрировать GME64128-02: 1.3″, вертикальная геометрия 64×128, четыре контакта I²C GND/VCC/SCL/SDA. Уточни контроллер ревизии: актуальная спецификация указывает SSD1312, общий чертёж также охватывает SH1107. Не выбирай драйвер по надписи VER:1.0 или I²C-адресу. Уточни мою плату и нужную ориентацию. Для примера ESP32-DevKitC V4 используй VCC3.3V, общую землю, SDA21/SCL22 и подтяжки к 3,3 В. Дай отдельный код для подтверждённого драйвера, проверку адреса, reset, рамку до краёв и асимметричную метку ориентации. Различай физические 64×128 и повёрнутый логический холст 128×64. Не используй распиновку Waveshare SH1106 или семиконтактного GME64128-03.

Библиотеки

Установите библиотеку для своей среды и откройте пример из её документации.

Что именно прописать

Библиотека
U8g2 2.37.1

Arduino-ESP32 3.3.12; Wire входит в ядро.

Версия SSD1312
U8G2_SSD1312_128X64_NONAME_F_HW_I2C / U8G2_R0

В этом примере горизонтальный логический холст 128×64; поддержка конструктора проверена в исходниках библиотеки.

Версия SH1107
U8G2_SH1107_64X128_F_HW_I2C / U8G2_R1

Поворот нативного холста 64×128 в горизонтальную ориентацию; сверить углы изображения.

Шина и питание
SDA21 / SCL22 / 100 kHz / 3.3 V

Только ESP32-DevKitC V4 с ESP32-WROOM-32E.

Адрес
Wire: 0x3C или 0x3D; U8g2: адрес << 1

Пример ожидает один ответ. Сканер не распознаёт контроллер.

ESP32 · GME64128-02 с SSD1312

cpp
#include <Arduino.h>
#include <Wire.h>
#include <U8g2lib.h>

// ESP32-DevKitC V4 / ESP32-WROOM-32E; VCC and all signals 3.3 V.
constexpr uint8_t SDA_PIN = 21, SCL_PIN = 22;
U8G2_SSD1312_128X64_NONAME_F_HW_I2C display(U8G2_R0, U8X8_PIN_NONE, SCL_PIN, SDA_PIN);

void stopWith(const char *message) {
  Serial.println(message);
  while (true) delay(1000);
}

void setup() {
  Serial.begin(115200);
  if (!Wire.begin(SDA_PIN, SCL_PIN, 100000)) stopWith("I2C start failed");
  Wire.setTimeOut(50);
  delay(500);
  uint8_t address = 0, count = 0;
  for (uint8_t a = 0x3C; a <= 0x3D; ++a) {
    Wire.beginTransmission(a);
    if (Wire.endTransmission() == 0) { address = a; ++count; }
  }
  if (count != 1) stopWith("Connect one OLED; verify power, pins and address");
  display.setI2CAddress(address << 1); // Wire uses 7-bit addresses; U8g2 uses x2.
  display.setBusClock(100000);
  display.begin();
  display.clearBuffer();
  display.setFont(u8g2_font_6x10_tf);
  display.drawFrame(0, 0, display.getDisplayWidth(), display.getDisplayHeight());
  display.drawStr(3, 14, "SLDV LAB");
  display.drawStr(3, 28, "SSD1312");
  display.drawBox(3, 40, 6, 6); // Asymmetric mark for orientation check.
  display.sendBuffer();
  Serial.printf("Logical canvas: %d x %d\n",
                (int)display.getDisplayWidth(), (int)display.getDisplayHeight());
}

void loop() { delay(1000); }

Полный диагностический пример только для подтверждённой версии SSD1312. U8g2 2.37.1 / Arduino-ESP32 3.3.12, ESP32-DevKitC V4 и питание 3,3 В. Выбран логический горизонтальный холст 128×64. API сверены по исходникам; компиляция и проверка конкретного модуля не проводились. Для другого контроллера этот пример не является взаимозаменяемым.

ESP32 · GME64128-02 с SH1107

cpp
#include <Arduino.h>
#include <Wire.h>
#include <U8g2lib.h>

// ESP32-DevKitC V4 / ESP32-WROOM-32E; VCC and all signals 3.3 V.
constexpr uint8_t SDA_PIN = 21, SCL_PIN = 22;
U8G2_SH1107_64X128_F_HW_I2C display(U8G2_R1, U8X8_PIN_NONE, SCL_PIN, SDA_PIN);

void stopWith(const char *message) {
  Serial.println(message);
  while (true) delay(1000);
}

void setup() {
  Serial.begin(115200);
  if (!Wire.begin(SDA_PIN, SCL_PIN, 100000)) stopWith("I2C start failed");
  Wire.setTimeOut(50);
  delay(500);
  uint8_t address = 0, count = 0;
  for (uint8_t a = 0x3C; a <= 0x3D; ++a) {
    Wire.beginTransmission(a);
    if (Wire.endTransmission() == 0) { address = a; ++count; }
  }
  if (count != 1) stopWith("Connect one OLED; verify power, pins and address");
  display.setI2CAddress(address << 1); // Wire uses 7-bit addresses; U8g2 uses x2.
  display.setBusClock(100000);
  display.begin();
  display.clearBuffer();
  display.setFont(u8g2_font_6x10_tf);
  display.drawFrame(0, 0, display.getDisplayWidth(), display.getDisplayHeight());
  display.drawStr(3, 14, "SLDV LAB");
  display.drawStr(3, 28, "SH1107");
  display.drawBox(3, 40, 6, 6); // Asymmetric mark for orientation check.
  display.sendBuffer();
  Serial.printf("Logical canvas: %d x %d\n",
                (int)display.getDisplayWidth(), (int)display.getDisplayHeight());
}

void loop() { delay(1000); }

Полный диагностический пример только для подтверждённой версии SH1107. U8g2 2.37.1 / Arduino-ESP32 3.3.12, ESP32-DevKitC V4 и питание 3,3 В. Выбран логический горизонтальный холст 128×64. API сверены по исходникам; компиляция и проверка конкретного модуля не проводились. Для другого контроллера этот пример не является взаимозаменяемым.

Проекты с этим компонентом

Все проекты

Связанные проекты пока не опубликованы.

Связанные материалы и компоненты