Tải ảnh lên, chọn kích thước màn hình và định dạng màu, công cụ tạo mảng C cho Adafruit GFX, U8g2, TFT_eSPI. Ảnh chỉ được xử lý trên trình duyệt của bạn.

Hiển thị ảnh trên màn hình nhúng

Vi điều khiển không đọc được file PNG hay JPG một cách nhẹ nhàng. Cách đơn giản nhất là đổi ảnh thành mảng byte đúng định dạng màn hình, nhúng vào code dưới dạng hằng số trong Flash, rồi gửi thẳng lên màn hình.

Chọn định dạng nào?

  • OLED SSD1306, SH1106 (128×64, 128×32): đơn sắc 1-bit, mỗi byte chứa 8 điểm. Ảnh 128×64 tốn 1024 byte.
  • TFT ST7735, ST7789, ILI9341: RGB565, mỗi điểm 2 byte. Ảnh 320×240 tốn 150 KB, phù hợp ESP32 và STM32 nhiều Flash, không vừa Arduino Uno.
  • Thứ tự byte của ảnh đơn sắc phải khớp thư viện. Adafruit GFX drawBitmap dùng hàng ngang, bit cao bên trái. U8g2 drawXBMP dùng hàng ngang, bit thấp bên trái. Buffer gốc của SSD1306 xếp theo cột dọc 8 điểm (page).

Mẹo cho ảnh đẹp trên OLED

  • Logo, icon nét đơn giản: tắt dither, chỉnh ngưỡng sáng cho nét gọn.
  • Ảnh chụp: bật dither để giữ chi tiết sáng tối bằng mật độ điểm.
  • Ảnh nền sáng chữ tối: bật “Đảo màu” vì trên OLED bit 1 là điểm sáng.

Bài viết liên quan