Arduino SSD1106

Arduino SSD1106
Артикул: 2503278

производитель: Arduino
Требуется установка или ремонт?

сервисный центр Kypidetali!

тел. +7(499)347-04-82

Описание Arduino SSD1106

Отличный выбор! SSD1106 — это популярный драйвер для монохромных OLED-дисплеев с разрешением 128x64 или 128x32 пикселя. Ниже представлено подробное описание.

Описание SSD1106

SSD1106 — это контроллер/драйвер для органических светодиодных (OLED-панелей) с пассивной матрицей (PMOLED), разработанный компанией Solomon Systech. Он управляет каждым пикселем индивидуально, обеспечивая высокую контрастность, глубокий черный цвет (так как пиксели выключены) и низкое энергопотребление.

Ключевая особенность для Arduino: Драйвер имеет встроенный буфер дисплейной памяти (GDDRAM) на 128x64 бит (1 Кбайт), что освобождает микроконтроллер от необходимости постоянно обновлять экран. Вы отправляете данные в буфер, а SSD1106 самостоятельно занимается отрисовкой.


Технические характеристики

  1. Тип дисплея: Монохромный OLED (PMOLED).
  2. Типичное разрешение: 128x64 пикселей (также бывает 128x32, 96x16 и другие, но 128x64 — самый распространенный).
  3. Интерфейс связи:
    • I2C (TWI): Наиболее популярный для Arduino. Использует всего 2 сигнальных провода (SDA, SCL) + питание. Адрес по умолчанию: 0x3C (чаще) или 0x3D.
    • SPI (4- или 3-проводной): Более высокая скорость обновления. Требует больше пинов (CS, DC, RES, DIN, CLK). В 3-проводном режиме отсутствует отдельный пин для данных команды/данных (DC).
  4. Напряжение питания:
    • Логика (VCC): 3.3В (очень важно! Большинство модулей не tolerant к 5V).
    • Дисплейная панель (VDD): обычно 7-12В, генерируется модулем от 3.3В.
  5. Потребляемый ток: Зависит от количества активных пикселей. В среднем 10-40 мА.
  6. Угол обзора: Очень широкий (~160°-170°).
  7. Время отклика: Крайне малое (единицы микросекунд).
  8. Рабочая температура: Обычно -40°C до +85°C.
  9. Встроенные функции:
    • Генератор напряжений для дисплея.
    • Программируемый кадровый режим.
    • Контрастность (256 уровней).
    • Прокрутка (скроллинг) содержимого экрана.
    • Схема смещения сегментов и общего электрода.

Парт-номера (Part Numbers) и маркировка модулей

Сами модули для Arduino обычно продаются не под номером чипа SSD1106, а под общим названием, указывающим разрешение, размер и интерфейс.

Самые распространенные модули:

  • 0.96-дюймовый OLED 128x64 (I2C/SPI) — абсолютный хит.
  • 1.3-дюймовый OLED 128x64 (I2C/SPI) — встречается реже.
  • 0.91-дюймовый OLED 128x32 (I2C) — более узкий и дешевый.
  • OLED 96x16 (I2C) — для вывода одной-двух строк текста.

На самой плате модуля можно найти маркировку чипа: ищите надпись SSD1106 или SS1106. Также часто используется совместимый чип SH1106.


Совместимые и аналогичные модели драйверов

Здесь важно разделить полные аналоги и драйверы, совместимые на уровне библиотек.

1. Прямой аналог и "конкурент": SH1106

  • SH1106 — драйвер от компании Sinowealth.
  • Ключевое отличие: У SH1106 буфер дисплейной памяти рассчитан на 132x64 пикселя, хотя физически дисплей чаще всего 128x64. Из-за этого при использовании библиотек, заточенных под SSD1106, может появляться горизонтальный сдвиг на 2 пикселя по краям.
  • Совместимость: Высокая. Большинство библиотек для Arduino (например, Adafruit SSD1306, U8g2) имеют поддержку SH1106. Часто в коде нужно лишь изменить адрес или указать модель дисплея.

2. Совместимые на уровне библиотек (для Arduino):

Эти драйверы управляют похожими OLED-дисплеями и могут использовать те же библиотеки, что и SSD1106/SH1106. При инициализации в коде нужно указать другой тип дисплея.

  • SSD1305, SSD1309: Более старые или немного модифицированные версии. SSD1309, например, поддерживает большее разрешение.
  • SSD1325, SSD1327: Управляют градациями серого (4-bit, 16 уровней) OLED-дисплеями, например, с разрешением 128x128.
  • SSD1331: Управляет цветным (16-bit, RGB 5-6-5) OLED-дисплеем 96x64.
  • SSD1351: Управляет цветным (16-bit) OLED-дисплеем 128x128.

Рекомендации для работы с Arduino

  1. Библиотеки: Используйте проверенные библиотеки:
    • Adafruit SSD1306 + Adafruit GFX: Наиболее популярная и простая для базовой графики и текста. Прямая поддержка SSD1106/SSD1306/SH1106.
    • U8glib / U8g2: Мощнейшая библиотека с поддержкой десятков дисплеев, включая SSD1106. Имеет больше шрифтов и функций, но сложнее в освоении.
  2. Подключение (I2C): Обязательно используйте резисторы pull-up (4.7-10 кОм) на линии SDA и SCL к +3.3В, если они не установлены на модуле.
  3. Питание 3.3В: Никогда не подавайте 5В на вывод VCC модуля. Если ваш Arduino только 5В (например, Uno, Nano), питайте модуль от вывода 3.3V Arduino, а для согласования уровней логики используйте конвертер уровней (Level Shifter) для линий SDA/SCL.

Пример инициализации в Adafruit SSD1306 для SSD1106 128x64 по I2C:

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_ADDR 0x3C // Адрес I2C

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); // -1 означает отсутствие пина RESET

void setup() {
  display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR);
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0,0);
  display.println("Hello, SSD1106!");
  display.display();
}

Итог: SSD1106 — это отличный, доступный драйвер для создания четких монохромных дисплейных интерфейсов в проектах Arduino. При выборе модуля обращайте внимание на физический размер, разрешение, интерфейс (I2C/SPI) и напряжение питания. Для большинства задач подойдет 0.96" 128x64 (I2C).

Совместимые модели для Arduino SSD1106

Arduino SSD1106