OLED LCD РК-дисплей 0.91" 128x32 IIC
📟 OLED-дисплей 0.91" 128x32 з I2C-інтерфейсом
Компактний яскравий модуль для Arduino, Raspberry Pi та DIY-проєктів
Загальний опис
OLED-дисплей 0.91" – це компактний монохромний дисплей на органічних світлодіодах з роздільною здатністю 128x32 пікселі, що забезпечує яскраве блакитне світіння символів на чорному тлі. Модуль побудований на контролері SSD1306 та використовує простий I2C-інтерфейс для підключення, що вимагає лише 4 проводи. Завдяки універсальному живленню (підтримує як 3.3В, так і 5В), дисплей сумісний з різноманітними платформами, включаючи Arduino, Raspberry Pi, ESP8266, ESP32 та інші мікроконтролери. Компактні розміри, чітке зображення, широкий кут огляду та легкість підключення роблять цей модуль ідеальним рішенням для додавання інформативного візуального відображення в різноманітні електронні проєкти – від простих датчиків до складних систем автоматизації.
✅ Технічні переваги:
- • Висока яскравість і контрастність – технологія OLED забезпечує надзвичайно яскраве блакитне світіння пікселів на глибоко чорному тлі, що гарантує чудову видимість при будь-якому освітленні
- • Простий I2C-інтерфейс – підключення всього чотирма проводами (VCC, GND, SCL, SDA) суттєво спрощує інтеграцію в проєкти та зменшує кількість використаних пінів мікроконтролера
- • Універсальне живлення – модуль працює як від 3.3В, так і від 5В логіки без помітної різниці в яскравості, що робить його сумісним із різноманітними платформами без додаткових перетворювачів рівнів
- • Компактні розміри – з активною областю екрана приблизно 2см × 0.8см та мінімальною товщиною, дисплей легко інтегрується навіть у найменші проєкти, де критичні розміри
- • Широка програмна підтримка – сумісність із популярними бібліотеками U8glib, Adafruit_SSD1306 та іншими дозволяє швидко інтегрувати дисплей в проєкти з різноманітною функціональністю
- • Низьке енергоспоживання – технологія OLED споживає енергію лише для ввімкнених пікселів, що робить цей дисплей ідеальним для проєктів із батарейним живленням та енергоефективних рішень
🔧 Ідеальне рішення для:
Метеостанцій та датчиків
Розумного дому
Робототехніки
Носимої електроніки
Освітніх проєктів
Інформаційних дисплеїв
IoT-пристроїв
Електронних гаджетів
📦 Детальні технічні характеристики:
- Тип дисплею: OLED (Organic Light Emitting Diode)
- Розмір дисплею: 0.91 дюйма по діагоналі
- Роздільна здатність: 128×32 пікселі
- Колір світіння: Монохромний (яскраво-блакитний на чорному тлі)
- Розміри активної області екрану:
- Довжина: ~2 см
- Висота: ~0.8 см
- Контролер: SSD1306
- Інтерфейс підключення: I2C (два лінії даних + живлення)
- Піни модуля:
- GND: Земля (мінус живлення)
- VCC: Живлення (плюс живлення)
- SCL: Serial Clock (тактовий сигнал I2C)
- SDA: Serial Data (лінія даних I2C)
- Напруга живлення: 3.3В - 5В (універсальне живлення)
- Кут огляду: >160°
- Яскравість: Висока (з незначною різницею між живленням 3.3В і 5В)
- Енергоспоживання: Низьке (світяться лише активні пікселі)
- Сумісність з платформами:
- Arduino (всі моделі)
- Raspberry Pi
- ESP8266, ESP32
- STM32
- Інші мікроконтролери з підтримкою I2C
- Програмна підтримка: Бібліотеки U8glib, Adafruit_SSD1306, та інші
OLED-дисплей 0.91" – це ідеальне рішення для надання візуального інтерфейсу вашим проєктам електроніки. Завдяки яскравому контрастному зображенню, простому підключенню та універсальній сумісності, цей компактний дисплей миттєво перетворить ваш проєкт на професійний пристрій з інформативним інтерфейсом.
Потратив декілька годин бо паруразів переробляв, і вже як узявся за приклад вище, заплутався в 3 соснах та землі)
Гарний, малий
При подачі напруги неподає ніяких признаків життя
Узяв було пару таких, не можу їх запустити, думав щось не вірно роблю, узяв готові приклади з бібліотек, а вони як не подавали признаки життя, так і не подають. Чи має бути якась реакція при підʼєднання живлення?
Інструкція з підключення OLED-дисплея 0.91"
Монохромний дисплей 128x32 з I2C-інтерфейсом
1. Ідентифікація та основні компоненти
flowchart TD
subgraph OLED["OLED-дисплей 0.91 дюйма (128x32)"]
direction TB
subgraph Pins["Виводи"]
direction LR
GND["GND
(Земля)"] --- VCC["VCC
(Живлення)"] --- SCL["SCL
(Тактування)"] --- SDA["SDA
(Дані)"]
end
subgraph Screen["Екран"]
SCREEN["OLED Матриця
128×32 пікселі"]
end
subgraph Chip["Контролер"]
SSD1306["SSD1306
Контролер дисплея"]
end
Pins --- Screen
Screen --- Chip
end
classDef pins fill:#e1f5fe,stroke:#0288d1,stroke-width:2px
classDef screen fill:#f5f5f5,stroke:#333,stroke-width:1px
classDef chip fill:#fff3e0,stroke:#ef6c00,stroke-width:1px
class GND,VCC,SCL,SDA pins
class SCREEN screen
class SSD1306 chip
2. Схема підключення до Arduino UNO
flowchart LR
subgraph OLED["OLED-дисплей 0.91 дюйма"]
GND_OLED["GND"]
VCC_OLED["VCC"]
SCL_OLED["SCL"]
SDA_OLED["SDA"]
end
subgraph ARDUINO["Arduino UNO"]
GND_ARD["GND"]
V5_ARD["5V"]
A5_ARD["A5 (SCL)"]
A4_ARD["A4 (SDA)"]
end
GND_OLED -- "Чорний дріт" --> GND_ARD
VCC_OLED -- "Червоний дріт" --> V5_ARD
SCL_OLED -- "Жовтий дріт" --> A5_ARD
SDA_OLED -- "Зелений дріт" --> A4_ARD
classDef oled fill:#e1f5fe,stroke:#0288d1,stroke-width:2px
classDef arduino fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px
class GND_OLED,VCC_OLED,SCL_OLED,SDA_OLED oled
class GND_ARD,V5_ARD,A5_ARD,A4_ARD arduino
2.1. Покрокова інструкція з підключення
- Підготуйте компоненти:
- Arduino UNO (або сумісна плата)
- OLED-дисплей 0.91" з I2C інтерфейсом
- Макетна плата (опціонально)
- 4 дроти тип "тато-тато" для підключення (бажано різнокольорові)
- З'єднайте дисплей з Arduino:
- GND (дисплей) → GND (Arduino) — чорний дріт
- VCC (дисплей) → 5V (Arduino) — червоний дріт
- SCL (дисплей) → A5 (Arduino) — жовтий дріт
- SDA (дисплей) → A4 (Arduino) — зелений дріт
- Підключіть Arduino до комп'ютера через USB-кабель для живлення та програмування.
3. Налаштування програмного забезпечення
3.1. Встановлення необхідних бібліотек
Для роботи з OLED-дисплеєм потрібно встановити спеціальні бібліотеки. Є два основних варіанти:
- Adafruit SSD1306 та Adafruit GFX (рекомендовано для початківців):
- Відкрийте Arduino IDE
- Перейдіть до Sketch → Include Library → Manage Libraries...
- У пошуковому полі введіть "Adafruit SSD1306"
- Виберіть бібліотеку від Adafruit і натисніть "Install"
- Якщо з'явиться пропозиція встановити залежності (наприклад, "Adafruit GFX Library") — погодьтеся
- Якщо "Adafruit GFX Library" не встановилася автоматично, знайдіть її та встановіть окремо
- U8g2 (більш потужна, з більшою кількістю шрифтів):
- Відкрийте Arduino IDE
- Перейдіть до Sketch → Include Library → Manage Libraries...
- У пошуковому полі введіть "U8g2"
- Виберіть бібліотеку від "oliver" і натисніть "Install"
3.2. Визначення I2C адреси дисплея
- Завантажте та встановіть скетч "I2C Scanner" (можна знайти в мережі або у прикладах деяких бібліотек)
- Завантажте скетч на Arduino
- Відкрийте Tools → Serial Monitor
- Встановіть швидкість (baud rate) як у скетчі (зазвичай 9600 або 115200)
- Сканер виведе адресу знайденого пристрою (зазвичай 0x3C або 0x3D)
- Запам'ятайте цю адресу для використання у ваших програмах
4. Приклади програмування
4.1. Простий текст (Adafruit SSD1306)
4.2. Великий текст з анімацією (U8g2)
4.3. Графіка та анімація (Adafruit SSD1306)
5. Цікаві аспекти використання
5.1. Енергоефективність OLED-технології
OLED-дисплеї мають унікальну особливість: вони споживають енергію тільки для пікселів, що світяться. Це означає:
- Чорні пікселі фактично вимкнені та не споживають енергію
- Чим менше білих пікселів на екрані, тим менше споживання енергії
- Це робить такі дисплеї ідеальними для проєктів з батарейним живленням
5.2. Переваги I2C-інтерфейсу
- Економія пінів: Використовує лише 2 сигнальні дроти (SDA та SCL) плюс живлення
- Багатопристроєвість: На одну шину I2C можна підключити кілька різних пристроїв з різними адресами
- Простота підключення: Не потрібно додаткових компонентів для зв'язку між Arduino та дисплеєм
5.3. Практичні застосування
- Вимірювальні пристрої: Відображення даних з сенсорів (температура, вологість, тиск)
- Інформаційні панелі: Відображення часу, дати, статусу пристроїв
- IoT-проєкти: Відображення статусу підключення до WiFi/Bluetooth, IP-адреси
- Носимі гаджети: Завдяки компактності ідеально підходить для фітнес-трекерів, розумних годинників
- Кастомні інтерфейси: Для 3D-принтерів, макропадів, DIY-пультів керування
- Міні-ігри: Завдяки високій контрастності можна створювати прості ігри
5.4. Проблеми та їх вирішення
| Проблема | Можлива причина | Вирішення |
|---|---|---|
| Дисплей не вмикається | Неправильне підключення або адреса | Перевірте з'єднання та використайте I2C сканер для визначення правильної адреси |
| Показує випадкові символи | Проблеми з I2C зв'язком | Перевірте якість з'єднань, додайте підтягуючі резистори (4.7kΩ) до ліній SCL і SDA |
| Зображення перевернуте | Неправильна орієнтація | Для Adafruit: використовуйте display.setRotation(2); Для U8g2: використовуйте інший конструктор з U8G2_R2 |
| Помилка компіляції | Несумісність бібліотек | Оновіть Arduino IDE та всі бібліотеки до останніх версій |
5.5. Порівняння бібліотек
| Критерій | Adafruit SSD1306 | U8g2 |
|---|---|---|
| Простота використання | Простіша для початківців | Більш складна, але потужніша |
| Шрифти | Обмежена кількість | Велика кількість вбудованих шрифтів різних розмірів |
| Використання пам'яті | Завжди використовує повний буфер | Має режими з частковим буфером для економії пам'яті |
| Графічні можливості | Базові графічні функції | Розширені графічні функції, включаючи складніші примітиви |
FAQ (часті запитання)
-
Наскільки ці маленькі OLED-дисплеї 0.91" схильні до вигорання екрану при відображенні статичної інформації протягом тривалого часу (наприклад, годинник або індикатор стану)? Чи існують способи запобігти цьому?
-
Я хочу використовувати два (або більше) таких 0.91" дисплеї на одній шині I2C з моїм мікроконтролером (наприклад, ESP32/Arduino), але всі вони, здається, мають однакову фіксовану I2C-адресу (зазвичай 0x3C). Чи є спосіб змусити це працювати?
-
Оновлення мого дисплея здаються повільними/відстають, особливо при відображенні графіки або прокрутці тексту. Я використовую апаратний I2C. Чи можу я прискорити частоту оновлення на цьому OLED 128x32?
-
Як використовувати різні шрифти в одному циклі?
-
Як додати власний шрифт у бібліотеці Adafruit SSD1306?
-
Чому дисплей працює з прикладами, але не з моїм кодом?
-
Як зменшити споживання енергії для батарейних проєктів?
-
Скільки енергії насправді споживає цей OLED 0.91"? У технічній документації це не зрозуміло. Чи підходить він для довготривалих проектів з живленням від батареї?
-
Як прокручувати лише частину тексту, не чіпаючи решту?