🖥️

Что такое монохромная графика?

Как устроены изображения на OLED-дисплеях

📺
128×64
Размер дисплея
пикселей (SSD1306)
Каждый пиксель — либо включён (белый), либо выключен (чёрный)
💾
1 бит
На каждый пиксель
минимум памяти
0 = выкл  |  1 = вкл
🗃️
PROGMEM
Хранение в Arduino
массив байтов во flash
Иконки и логотипы — массивы uint8_t в коде

Стандартные размеры иконок

8×8 пикселей
Мелкие иконки, символы
16²
16×16 пикселей
Средние иконки
32²
32×32 пикселей
Крупные иконки, логотипы
📋

Как пользоваться редактором

  1. 1
    Выберите размер холста
    8×8, 16×16 или 32×32 — в зависимости от нужного размера иконки
  2. 2
    Рисуйте кликая по пикселям
    Клик — включить/выключить пиксель. Зажмите и тяните для рисования линией
  3. 3
    Clear / Invert
    Кнопка «Очистить» сбросит всё, «Инвертировать» — поменяет 0 и 1 местами
  4. 4
    Выберите формат экспорта
    Row-major — байты по строкам; SSD1306 — страницы по 8 строк (для большинства OLED)
  5. 5
    Скопируйте код
    Нажмите «Скопировать» и вставьте массив в свой Arduino скетч
⚙️

Как использовать в Arduino

Пример кода с функцией drawBitmap()

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

// Вставьте сюда массив, скопированный из редактора
const uint8_t myIcon[] PROGMEM = {
  0x00, 0x7E, 0x42, 0x42, 0x42, 0x7E, 0x00, 0x00  // пример 8×8
};

// Инициализация дисплея (128×64, адрес 0x3C)
Adafruit_SSD1306 display(128, 64, &Wire, -1);

void setup() {
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  display.clearDisplay();

  // drawBitmap(x, y, bitmap, ширина, высота, цвет)
  display.drawBitmap(
    60, 28,       // позиция X, Y на экране
    myIcon,        // имя массива
    8, 8,          // ширина и высота иконки
    WHITE          // цвет пикселей
  );

  display.display();  // отправить буфер на дисплей
}

void loop() { }
💡

Если картинка выглядит «перевёрнутой» или «сдвинутой» — попробуйте переключить формат экспорта с Row-major на SSD1306 pages (или наоборот). Разные версии библиотеки Adafruit ожидают разный порядок байтов.

Монохромный bitmap (для OLED/дисплеев)

Нарисуйте пиксели и экспортируйте в код (C/C++). Подходит для простых иконок на SSD1306 и похожих дисплеях.

Клик — переключить пиксель. Shift+клик — рисовать линией (быстро).

Важно: разные библиотеки ожидают разные форматы. Если картинка «повёрнута» — переключите формат экспорта.