У публікації Обираємо дисплей для розумних пристроїв під керуванням ESP8266 з прошивкою NodeMCU / Lua ми розглянули наявні можливості і обмеження програмно-апаратної платформи NodeMCU, які необхідно враховувати при виборі дисплея для проектів IoT пристроїв.
Дисплей для NodeMCU – вибір найкращого варіанта – це завжди компроміс:
- розмірів,
- споживання,
- роздільної здатності,
- яскравості,
- кількості графіки та тексту на один кадр,
- підтримки україномовних шрифтів.
Наші пошуки дисплеїв, що підтримуються прошивкою NodeMCU / Lua для ESP8266 і продаються у інтернет, дали наступний результат (назви моделей дисплеїв і виробників не вказано нами свідомо):
Чіп | Діагональ/ пікселів | Кольорів | Тачскрін | Технологія | Бібліотека | Інтерфейс |
ili9486 | 3.5” 480х320 | 65K colors | XPT2046 | TFT | UCG | SPI |
ili9486 | 4” 480х320 | 65K colors | XPT2046 | TFT | UCG | SPI |
ST7735S | 0.96” 160×80 | 65K colors | XPT2046 | IPS | UCG | SPI |
ST7735S | 1.8” 128×160 | 65K colors | – | TFT | UCG | SPI |
ili9341 | 2.4” 240×320 | 65K colors | – | TFT | UCG | SPI |
SH1107 | 1.3” 64×128 | Mono | – | OLED | U8G2 | SPI/I2C |
SSD1327 | 1.5” 128×128 | Grayscale 16 | – | OLED | U8G2 | SPI/I2C |
SSD1306 | 0.96” 128×64 | Mono | – | OLED | U8G2 | SPI/I2C |
SH1106 | 0.96” 128×64 | Mono | – | OLED | U8G2 | SPI/I2C |
SH1107 | 1.3” 64×128 | Mono | – | OLED | U8G2 | SPI/I2C |
SSD1351 | 1.5” 128×128 | 65K colors | – | OLED | UCG | SPI |
Виходячи з даних, наведених у таблиці, ми обрали для себе найкращі варіанти дисплея.
Варіант 1. Для мініатюрних пристроїв це:
128×64, 0.96inch mono-color OLED display module
Ціна низька, найкраща серед альтернатив (також, що зручно, дисплей є у продажу в Україні);
CONTROLLER | SSD1306 |
TYPE | OLED |
INTERFACE | I2C / SPI or I2C only |
TOUCH SCREEN TYPE | – |
TOUCH SCREEN CONTROLLER | – |
COLORS | 1 mono |
RESOLUTION | 128 × 64 (Pixel) |
I/O VOLTAGE | 3.3V / 5V |
DISPLAY SIZE (MM) | 21.74×10.86 |
OUTLINE DIMENSION (MM) | 27.3.5×27.3 |
Бібліотека NodeMCU | U8G2 – з українською мовою, монохромний |
Варіант 2. Для кишенькових та стаціонарних пристроїв це:
128×128, General 1.5inch White OLED display Module
Ціна зависока, але цілком влаштовує (також, що зручно, дисплей є у продажу в Україні)
CONTROLLER | SSD1327 |
TYPE | OLED |
INTERFACE | I2C / SPI |
TOUCH SCREEN TYPE | – |
TOUCH SCREEN CONTROLLER | – |
COLORS | White, Gray scale |
RESOLUTION | 128 × 128 (Pixel) |
I/O VOLTAGE | 3.3V / 5V |
DISPLAY SIZE (MM) | 26.86×26.86 |
OUTLINE DIMENSION (MM) | 44.5×37.0 |
Бібліотека NodeMCU | U8G2 – з українською мовою, монохромний |
Обидва варіанти підтримують програмне керування яскравістю засобами бібліотеки, програмне обертання кадру екрана, програмний ресет буфера кадру.
Як бонус
Нещодавно ми провели цікавий експеримент з двома дисплеями на базі SSD1306, підключеними до ESP8266 з прошивкою NodeMCU по шині I2C. В ході експерименту було виявлено, що цілком можливо працювати з двома дисплеями одночасно і індивідуально. Нам вдалося виводити інформацію на дисплеї у двох режимах:
- дублювання (screen mirroring) екранів;
- незалежна картинка для кожного екрана;
Цими властивостями і можливостями буде зручно скористатися у проектах, адже таке підключення двох дисплеїв потребує лише двох GPIO під шину I2C.
Експериментом ми вкотре для себе зробили висновок, що програмна платформа з відкритим вихідним кодом NodeMCU / Lua, є зручним, функціональним і надійним інструментом для побудови розумних пристроїв будь-якої складності; тримається на рівні з комерційними платформами, але є повністю безкоштовною і доступною для використання всім бажаючим.
Бажаємо успіхів!
Корисні посилання: