- OLED-дисплей
- Потрібні компоненти
- SPI-з'єднання між NodeMCU та OLED-дисплеєм
- Програмування NodeMCU для взаємодії OLED
- Перетворити зображення у растрові значення
У цьому посібнику ми будемо взаємодіяти OLED-дисплей із NodeMCU ESP8266. NodeMCU - це платформа IoT з відкритим кодом, яка включає прошивку, яка працює на недорогій Wi-Fi-підтримці ESP8266 Wi-Fi SoC від Espressif Systems. У ньому є виводи GPIO для підключення інших периферійних пристроїв і він підтримує послідовний зв’язок за допомогою контактів SPI, I2C та UART. Він також має штифти для АЦП та ШІМ. Раніше ми взаємоділи OLED з іншим мікроконтролером, включаючи контролер сімейства ESP (ESP32):
- Взаємодія OLED-дисплея SSD1306 з Raspberry Pi
- Взаємодія OLED-дисплея SSD1306 з Arduino
- Створіть розумні годинники, поєднавши OLED-дисплей з телефоном Android за допомогою Arduino
- Інтернет-годинник за допомогою ESP32 та OLED-дисплея
У цьому посібнику ми використовуватимемо протокол SPI для взаємодії монохромного 7-контактного OLD-дисплея SSD1306 0.96 OLED з NodeMCU та навчимося відображати зображення на OLED-екрані за допомогою NodeMCU ESP8266.
OLED-дисплей
Органічний світлодіод (OLED) - це свого роду світлодіод, де світлопромінюючий шар, виготовлений з органічної сполуки, випромінює світло при подачі електричного струму. Цей шар розміщений між двома електродами. Ця технологія використовується на дисплеях, таких як комп’ютери, телевізори, смартфони тощо. OLED-дисплеї мають власне світло і не потребують жодного підсвічування, як у РК-дисплеї, тому вони енергоефективні та використовуються з багатьма мікроконтролерами. Ще однією перевагою використання OLED-дисплеїв перед РК-дисплеєм є відображення великої та кращої якості графіки на OLED-дисплеях. Дізнайтеся більше про технологію OLED Display тут.
На ринку доступні різні види OLED-дисплеїв. Ці дисплеї характеризуються на основі кольору, кількості контактів, мікросхеми контролера та розміру екрана. На основі кольору OLED доступні в монохромному блакитному, монохромному білому та жовто-блакитному кольорах. А на основі комунікації доступні в основному два типи OLED - 3pin та 7pin. 3-контактний OLED можна використовувати в режимі зв'язку I2C, а 7-контактний OLED можна використовувати або в режимі SPI, або в режимі I2C.
У цьому підручнику ми будемо використовувати OLED-дисплей “ Monochrome 7-pin SSD1306 0.96 ”, який має ширину 128 пікселів і довжину 64 пікселі. Цей дисплей може працювати як на протоколах зв'язку SPI, так і на I2C. У цьому посібнику ми використовуватимемо протокол SPI. SSD1306 IC присутній на цьому OLED, що допомагає відображати пікселі на екрані.
Потрібні компоненти
- Монохромний 7-контактний OLED-дисплей SSD1306 0,96 ”
- NodeMCU ESP8266
- Кабель Micro USB
- Макет
- Провід перемички від чоловіка до чоловіка
SPI-з'єднання між NodeMCU та OLED-дисплеєм
Нижче наведена принципова схема для підключення 7-контактного OLED-дисплея до NodeMCU для зв'язку за допомогою послідовного протоколу зв'язку SPI.
Нижче в таблиці наведені зв’язки між OLED-дисплеєм та NodeMCU ESP8266. Штифт GND переходить до NodeMCU GND, штифт VDD можна підключити до 3,3 В або 5 В, SCK - це тактовий штифт на OLED-дисплеї, який підключений до D5 NodeMCU для годинника SPI. Контакт SDA, який є MOSI-піном на OLED-інтерфейсі SPI, переходить до D7 NodeMCU. Контакт RESET переходить до D3. DC, контактний штифт даних підключений до D2 NodeMCU. Останній штифт CS переходить до D8, вибір мікросхеми NodeMCU.
Ні. |
Дисплей Oled |
NodeMCU |
1 |
GND |
GND |
2 |
VDD |
3,3 В |
3 |
SCK |
D5 |
4 |
MOSI (SPI) або SDA (I2C) |
D7 |
5 |
СКИНУТИ |
D3 |
6 |
Постійного струму |
D2 |
7 |
CS |
D8 |
Тут ми будемо використовувати бібліотеку “ Adafruit _SSD1306.h” та “ Adafruit_GFX.h ” для взаємодії OLED з NodeMCU. Відкрийте Arduino IDE та встановіть останню версію з Arduino IDE ( Ескіз> Включити бібліотеку> Керувати бібліотеками або Ctrl + Shift_I ).
Оскільки розмір пікселів нашого OLED-дисплея ідентифікує 128x64, тому нам потрібно змінити файл заголовка Adafruit_SSD1306. Відкрийте бібліотеки Arduino, перейдіть до Adafruit_SSD1306 і відкрийте файл заголовка ( Adafruit _SSD1306.h ). Прокоментуйте рядок “ #define SSD1306_128_32 ” і розкоментуйте рядок “#define SSD1306_128_64 ”, як показано на малюнку нижче, а потім збережіть файл. За замовчуванням ця бібліотека має “# define SSD1306_128_32 ”.
Нарешті, змініть номери контактів у прикладі “ ssd1306_128x64_spi ” Adafruit SSD1306 відповідно до таблиці, показаної на екрані. Тепер, коли ви запускаєте ескіз після належного підключення OLED-дисплея до NodeMCU, ви побачите логотип Adafruit на OLED-дисплеї, який за замовчуванням зберігається в бібліотеці. Після логотипу Adafruit він відображає багато інших графічних зображень, таких як лінії, прямокутники, трикутник, кола, рядки, цифри, анімація та растрове зображення. Тут у цьому підручнику ми дізнаємося, як відображати будь-яке зображення на OLED за допомогою NodeMCU ESP8266.
Програмування NodeMCU для взаємодії OLED
Як завжди повний код подається в кінці, тут ми докладно пояснили код.
Запустіть код , імпортуючи необхідні бібліотеки. Оскільки ми використовуємо протокол SPI, тому ми імпортуємо бібліотеку “SPI.h”, а також “Adafruit_GFX.h” та “Adafruit_SSD1306.h” для OLED-дисплея.
#включати
Наш розмір OLED становить 128x64, тому ми встановлюємо ширину та висоту екрана як 128 та 64 відповідно. Тож визначте змінні для OLED-контактів, підключених до NodeMCU для зв'язку SPI.
#define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display display, in pixels // Декларація для SSD1306 дисплея, підключеного за допомогою програмного забезпечення SPI (типовий випадок): #define OLED_MOSI D7 #define OLED_CLK D5 #define OLED_DC D2 #define OLED_CS D8 #define OLED_RESET D3 Adafruit_SSD1306 display (SCREEN_WIDTH, SCREEN_HEIGHT, OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
Ініціалізуйте OLED-дисплей, використовуючи SSD1306_SWITCHCAPVCC, щоб генерувати 3.3V внутрішньо для ініціалізації дисплея.
якщо (! display.begin (SSD1306_SWITCHCAPVCC)) { Serial.println (F ("Помилка розподілу SSD1306")); для (;;); // Не продовжуйте, цикл назавжди }
Відображення OLED-екрану очищається перед тим, як щось відображати, викликаючи функцію display.clearDisplay (). Ми встановити розмір шрифту до 2 з допомогою виклику функції setTextSize (розмір шрифту), і встановіть колір тексту і позицію курсору за допомогою SetTextColor і SetCursor функції . Команда Display.display () використовується для передачі даних у внутрішню пам’ять контролера SSD1306. Після передачі піксель відображається на екрані. Тепер ми можемо почати прокручувати текст різними способами, викликаючи display.startscrollright (x-pos, y-pos) і display.startscrollleft (x-pos, y-pos) за час, заданий функцією затримки. Прокрутку тексту можна зупинити за допомогою функції display.stopscroll ().
void testscrolltext (void) {display.clearDisplay (); // очищення дисплея OLED-дисплея.setTextSize (2); // Намалюйте 2X-масштабний текстовий дисплей.setTextColor (БІЛИЙ); display.setCursor (0, 0); display.println (F ("СХІД")); display.println (F ("DIGEST")); display.display (); // Показати початкову затримку тексту (100); // Прокручування в різних напрямках, призупинення між ними: display.startscrollright (0x00, 0x0F); затримка (2000); display.stopscroll (); затримка (1000); display.startscrollleft (0x00, 0x0F); затримка (2000); display.stopscroll (); затримка (1000); display.startscrolldiagright (0x00, 0x07); затримка (2000); display.startscrolldiagleft (0x00, 0x07); затримка (2000); display.stopscroll (); затримка (1000); }
Ми викликаємо функцію display.drawBitmap (), яка приймає 6 параметрів (координата x, координата y, масив растрових зображень, ширина, висота та колір), щоб намалювати зображення на OLED. Оскільки наш розмір дисплея становить 128x64, тому ми встановлюємо ширину та висоту як 128 та 64 відповідно. Тут растровий масив містить інформацію про пікселі, щоб намалювати піксель на екрані для створення зображення. Цей растровий масив можна створити в Інтернеті, що пояснюється нижче, або існує багато програмного забезпечення для перетворення зображення в растровий масив.
const unsigned char myBitmap PROGMEM = { 0xff, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc, 0xff, 0xc 0, 0xff, 0xc, 0xff, 0xff, 0xff, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xx 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xc0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x80, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x01, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0f, 0x03, 0xff, 0xc0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff , 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff , 0xff, 0xff, 0xff, 0xf8, 0x1e, 0x03, 0x3f, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x3e, 0x03, 0x3f, 0xfc, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x3c, 0x03, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x7c, 0x03, 0xf0, 0x3f, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0x78, 0x00, 0xc0, 0x0f, 0xc1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xf8, 0x00, 0x00, 0x07, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x01, 0xf0, 0x00, 0x00, 0x03, 0xf8, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x01, 0x01, 0x01, 0x01 0x00, 0x00, 0xfc, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x03, 0xe0, 0x00, 0x0f, 0x00, 0x7e, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x07, 0xc0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff , 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x7f, 0xf9, 0x80, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0x80, 0xff, 0xf9, 0x80, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xx 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0xf0, 0x1f, 0x80, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xx, 0xe, 0xx, 0xx, 0xx, 0xx, 0xx, 0xx, 0xx, 0xx, 0xx, 0xx, 0xx, 0xx, 0xx, 0xx, 0xx, 0xx 0x06, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xc0, 0x00, 0xx, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80 0x0f, 0x80, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x0f, 0x00, 0x80, 0x00, 0x00, 0x01, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x1e, 0x01, 0xe0, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x1 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x3c, 0x03, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x7c, 0x03, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff , 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xf8, 0x01, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80 0x03, 0xb0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x03, 0x18, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff , 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x03, 0xbc, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xx, 0xff, 0xx01, 0xx, 0xx, 0xx, 0xx, 0xx, 0xx, 0xx, 0xx, 0xx, 0xx, 0xx, 0xx, 0xx, 0xx 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x1f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x07, 0xfc, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0x80, 0x03, 0xf0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x01, 0xc0, 0x00, 0x00, 0x0f, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x03, 0xff, 0xf, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff , 0xff, 0xx 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xe0, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x3f, 0xe0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xx, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x0e, 0x30, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0x07, 0x70, 0x00, 0xff, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x03, 0xe0, 0x1b, 0xfc, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x01, 0xc0, 0x7f, 0xf0, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf 0x7f, 0xc0, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x67, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x66, 0x00, 0x1f, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x7e, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0x00, 0x00, 0x3c, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; display.drawBitmap (35, 0, myBitmap, 128, 64, ЧОРНИЙ, БІЛИЙ); display.display ();
Перетворити зображення у растрові значення
Інтернет-растрові карти можна створити з http://javl.github.io/image2cpp/. Завантажте файл зображення, який ви хочете відобразити на OLED, і встановіть розмір 128x64. Буде показано зображення попереднього перегляду, а потім буде сформовано растровий масив.
Нижче на скріншотах показано процес генерування растрового значення будь-якого зображення.
Нарешті завантажте повний код у NodeMCU ESP8266, і ви побачите зображення, що відображається на OLED-екрані. Тут ми відображаємо логотип CircuitDigest на OLED-дисплеї.