SSD1306 OLED hangi ayarları ister?
Sayfa sayfa sütunlar · önce LSB Sayfa sayfa sütunlar, önce LSB, yanan piksel = 1 — baytları doğrudan ekran belleğine yazıyorsanız.
Metni ve resimleri SSD1306, SH1106, ST7920 ve Adafruit GFX için C dizilerine dönüştürün. Keskin 12×12 ve 16×16 piksel fontlar, PCtoLCD2002'nin dört tarama modunun tamamı ve bilinmeyen diziler için bir çözücü.
Sistem fontları kenar yumuşatmalı dış hatlardır; yaklaşık 20 px'in altında çizgiler kopar ya da birbirine karışır. 12 ve 16 px için yukarıdaki piksel fontları kullanın.
Resmi buraya bırakın veya göz atmak için tıklayın
PNG, JPG, GIF, BMP, WebP veya SVG — logo, simge ya da ekran görüntüsü
Resmin koyu pikselleri ekranda yanan piksel olur. Saydam alanlar arka plan sayılır.
Eski bir projeden ya da eğitimden kalma, nasıl üretildiğini bilmediğiniz bir font diziniz mi var? Buraya yapıştırın: her tarama yönü ve bit sırası yan yana çizilir, okunabilir olan ayarları ele verir.
SSD1306 / SSD1309 / SH1106 / ST7565 sayfa belleğine ve MicroPython framebuf.MONO_VLSB'ye uyar — baytları doğrudan ekrana yazın.
Yanan piksel = 1, GNU Unifont glifi. Hangi ayarlarla üretildiğini anlamak için bu baytları kendi dizinizle karşılaştırın.
| Tarama yönü | Bit sırası | Baytlar (hex) |
|---|---|---|
| Satır satır (yatay baytlar) | Önce MSB — ilk piksel bit 7'de | 01 00 01 00 01 00 01 00 3F F8 21 08 21 08 21 08 21 08 21 08 3F F8 21 08 01 00 01 00 01 00 01 00 |
| Satır satır (yatay baytlar) | Önce LSB — ilk piksel bit 0'da | 80 00 80 00 80 00 80 00 FC 1F 84 10 84 10 84 10 84 10 84 10 FC 1F 84 10 80 00 80 00 80 00 80 00 |
| Sütun sütun (dikey baytlar) | Önce MSB — ilk piksel bit 7'de | 00 00 00 00 0F F0 08 20 08 20 08 20 08 20 FF FF 08 20 08 20 08 20 08 20 0F F0 00 00 00 00 00 00 |
| Sütun sütun (dikey baytlar) | Önce LSB — ilk piksel bit 0'da | 00 00 00 00 F0 0F 10 04 10 04 10 04 10 04 FF FF 10 04 10 04 10 04 10 04 F0 0F 00 00 00 00 00 00 |
| Sayfa sayfa sütunlar (dikey baytlar, SSD1306 sayfa sırası) | Önce MSB — ilk piksel bit 7'de | 00 00 0F 08 08 08 08 FF 08 08 08 08 0F 00 00 00 00 00 F0 20 20 20 20 FF 20 20 20 20 F0 00 00 00 |
| Sayfa sayfa sütunlar (dikey baytlar, SSD1306 sayfa sırası) | Önce LSB — ilk piksel bit 0'da | 00 00 F0 10 10 10 10 FF 10 10 10 10 F0 00 00 00 00 00 0F 04 04 04 04 FF 04 04 04 04 0F 00 00 00 |
| Şerit şerit satırlar (yatay baytlar, 8 piksellik şeritler) | Önce MSB — ilk piksel bit 7'de | 01 01 01 01 3F 21 21 21 21 21 3F 21 01 01 01 01 00 00 00 00 F8 08 08 08 08 08 F8 08 00 00 00 00 |
| Şerit şerit satırlar (yatay baytlar, 8 piksellik şeritler) | Önce LSB — ilk piksel bit 0'da | 80 80 80 80 FC 84 84 84 84 84 FC 84 80 80 80 80 00 00 00 00 1F 10 10 10 10 10 1F 10 00 00 00 00 |
Piksel fontlar: GNU Unifont (16 px) ve Fusion Pixel Font (12 px), ikisi de SIL Open Font License 1.1 kapsamında. Lisans metinleri
Go Tools mühendislik ekibi tarafından geliştirildi ve doğrulandı.
Sayfa sayfa sütunlar · önce LSB Sayfa sayfa sütunlar, önce LSB, yanan piksel = 1 — baytları doğrudan ekran belleğine yazıyorsanız.
Satır satır · önce MSB Satır satır, önce MSB, yanan piksel = 1, her satır tam bayta tamamlanmış.
32 bayt Her tarama yönünde 32 bayt. 12 × 12, 24 bayttır; 8 × 16 bir ASCII karakter 16 bayttır.
逆向 = önce LSB 顺向 = önce MSB (ilk piksel bit 7'de); 逆向 = önce LSB (ilk piksel bit 0'da).
Grafik OLED ve LCD denetleyicilerinin çoğunda (SSD1306, SH1106 ve ST7565 dahil) yerleşik font yoktur. Bir karakteri göstermek için firmware, açık/kapalı piksellerden oluşan küçük bir ızgarayı ekran belleğine kopyalar: piksel başına bir bit, bayt başına sekiz piksel. Bir glifi bu baytlara dönüştürme işine Çince gömülü sistem eğitimlerinde 取模 denir; Windows programı PCtoLCD2002 yıllardır tam olarak bu işi yapar.
Ama baytlar tek başına yetmez. Aynı 16 × 16 karakter dört farklı biçimde paketlenebilir (satır satır, sütun sütun, sayfa sayfa sütunlar, şerit şerit satırlar) ve her biçim ilk pikseli bit 7'ye ya da bit 0'a koyabilir. Sekiz bayt dizisi aynı glifi tarif eder, ama bir ekran bunlardan yalnızca birini doğru çizer. Bir eğitimden kopyalanan fontun bu kadar sık aynalanmış, ikiye bölünmüş ya da dönmüş görünmesinin nedeni budur.
// 中 (16x16), pages of columns, LSB first, lit = 1 — SSD1306 page order
const unsigned char zhong[32] = {
0x00,0x00,0xF0,0x10,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x10,0xF0,0x00,0x00,0x00,
0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x0F,0x00,0x00,0x00
};
// First 16 bytes = page 0 (rows 0-7), one byte per column, bit 0 = top row Tarayıcı fontları kenar yumuşatmalı dış hatlardır; Song yazı tipinde 12 px'te eşiklendiğinde 中 karakterinin yatay çizgileri düpedüz kaybolur. Bu yüzden araç gerçek bit eşlem fontlarla gelir: 16 × 16 font GB2312'nin 6.763 karakterinin tamamını kapsar, 12 × 12 fontta ise 143 nadir karakter eksiktir; bunlar sistem fontuyla çizilir ve işaretlenir.
Satır satır, sütun sütun, sayfa sayfa sütunlar ve şerit şerit satırlar; her biri önce MSB veya önce LSB, yanan piksel = 1 veya 0. Seçenek adları PCtoLCD2002'yi izler, anlamları ise SSD1306 veri sayfası ve yaygın OLED örnek projeleriyle doğrulanmıştır; böylece mevcut bir projenin kullandığı ayarların aynısını seçebilirsiniz.
SSD1306, Adafruit GFX veya XBM'yi seçin, seçenekler sizin için ayarlanır. Herhangi bir seçeneği elle değiştirdiğinizde araç, bu bayt sırasını hangi ekranların ve kütüphanelerin okuduğunu ya da hiçbirinin okumadığını söyler.
Kaynağı bilinmeyen bir font dizisini yapıştırın; tarama yönü ve bit sırasının sekiz okunuşu yan yana çizilir. Okunabilir olan ayarları ele verir; tek tıklama onları uygular.
Logolar, simgeler ve fotoğraflar ekran boyutunuza ölçeklenir ve eşik, Floyd–Steinberg veya Atkinson dithering ile dönüştürülür. Saydam alanlar arka plan sayılır ve eşik her modda çalışır.
/*"中",0*/ yorumlu C51 stili 2 boyutlu diziler, ofsetli Arduino PROGMEM, MicroPython bytearray sözlükleri, A51 DB satırları veya düz hex. Üretilen C kodu -Wall -Wextra -pedantic ile uyarısız derlenir.
中
00 00 F0 10 10 10 10 FF 10 10 10 10 F0 00 00 00 00 00 0F 04 04 04 04 FF 04 04 04 04 0F 00 00 00
32 bayt: sayfa 0'ın (satır 0–7) 16 sütunu, ardından sayfa 1'in (satır 8–15) 16 sütunu. 7. sütundaki 0xFF'te her bit 1'dir: dikey çizgi iki sayfanın sekiz satırının hepsinden geçer.
中
01 00 01 00 01 00 01 00 3F F8 21 08 21 08 21 08 21 08 21 08 3F F8 21 08 01 00 01 00 01 00 01 00
Satır başına iki bayt, 16 satır. 0x01 0x00 yalnızca ortadaki çizgidir: en soldaki piksel ilk baytın bit 7'sidir, dolayısıyla 7. sütundaki piksel bit 0'a düşer. Bu baytları sayfa yazmasıyla bir SSD1306'ya gönderirseniz anlamsız pikseller elde edersiniz; glif aynı, paketleme farklı.
A
00 00 00 00 18 24 24 42 42 7E 42 42 42 42 00 00
ASCII karakterler yarım genişliktedir: 8 × 16, 16 bayttır; satır satır taramada satır başına bir bayt. Sürücünüz her glifin 16 × 16 olmasını bekliyorsa "Yarım genişlikteki karakterlere (A–Z, 0–9) tam hücre genişliği ver" kutusunu işaretleyin.
中 (12 × 12, satır satır, önce MSB)
00 00 04 00 04 00 FF E0 84 20 84 20 84 20 FF E0 04 00 04 00 04 00 04 00
12 piksellik her satır iki bayt gerektirir; ikinci baytın son dört biti dolgudur. 12 satır × 2 bayt = 24. Her ekran kütüphanesi satırları (width + 7) / 8 bayt olarak adresler; bitleri daha sıkı paketlemek hepsini bozar.
Metin gerçek bir piksel fontla çizilir: 12 × 12 (Fusion Pixel) veya 16 × 16 (GNU Unifont); ASCII karakterler yarım genişliktedir. Logo ve simgeler için Resim sekmesine geçip hedef boyutu ayarlayın, örneğin 128 × 64.
SSD1306 / SH1106 / ST7565 sayfa sırasında dikey baytlar ister, en üstteki piksel bit 0'dadır. Adafruit GFX, TFT_eSPI, U8g2 drawBitmap ve LVGL yatay baytlar ister, en soldaki piksel bit 7'dedir. XBM / U8g2 drawXBM de aynıdır, yalnızca en soldaki piksel bit 0'dadır.
Önizleme, kodlanan bit eşlemin tam kendisini gösterir. Bir pikseli açıp kapatmak için üzerine tıklayın ya da kaydırma alanlarıyla glifi yerine oturtun.
C (PCtoLCD2002 C51 stili), Arduino PROGMEM, MicroPython bytearray, A51 assembly veya düz hex arasından seçin. Çıktının ilk satırı tarama yönünü, bit sırasını ve glif boyutunu kaydeder; böylece dizi kendi kendini belgeler.
Yanlış bit sırasıyla yatay baytlar. Adafruit GFX drawBitmap() önce MSB ister; XBM ve U8g2 drawXBM() önce LSB ister.
U8g2 drawXBM()'e önce MSB baytlar verilmiş
drawXBM() → XBM hazır ayarı (satır satır, önce LSB)
Yanlış bit sırasıyla dikey baytlar. SSD1306 türü denetleyiciler D0'ı en üst satıra koyar, bu yüzden önce LSB isterler.
Sayfa sayfa sütunlar, önce MSB → SSD1306
Sayfa sayfa sütunlar, önce LSB → SSD1306
Sütun sütun ile sayfa sayfa sütunlar karıştırılmış. İkisi yalnızca en fazla 8 piksel yüksekliğindeki gliflerde aynı baytları verir; 16 pikselde bayt sırası farklıdır.
Sütun sütun → SSD1306 sayfa yazmaları
Sayfa sayfa sütunlar → SSD1306 sayfa yazmaları
Köşegen boyunca aynalama, yatay baytların dikey olarak okunduğu (veya tersi) anlamına gelir. Açık zemin üzerinde koyu yazı, ekran yanan = 1 beklerken yanan = 0 seçildiği anlamına gelir.
Satır satır baytlar bir SSD1306 sayfasına gönderilmiş
Diziyi çözücü sekmesine yapıştırın ve okunabilir önizlemeyi seçin
Dönüştürme Araçları
Binary, hex, decimal, octal ve herhangi bir taban (2-36) arasında anında dönüştürün. Ücretsiz ve gizli — tüm işlem tarayıcınızda yapılır.
Dönüştürme Araçları
İşaretli bir tam sayı yazın; işaret-büyüklük, birin tümleyeni, ikinin tümleyeni ve ofset ikili kodlamalarını 4-64 bit arasında tek seferde alın. Bit deseni veya hex yapıştırıp beş okumayı yan yana görün. Tarayıcıda çalışır.
Dönüştürme Araçları
Linux dosya izinlerini sekizlik (755, 644) ve rwx simgeleri arasında çevrimiçi dönüştürün. Hazır chmod komutları alın, 777 gibi riskli ayarları anında yakalayın — ücretsiz, tamamen tarayıcınızda çalışır.
Dönüştürme Araçları
HEX'i RGB, HSL, OKLCH, OKLAB ve CMYK biçimlerine tarayıcınızda dönüştürün — herhangi bir biçimi tek tıkla kopyalayın. Ücretsiz, kayıt yok, renkleriniz sayfadan asla çıkmaz.
Dönüştürme Araçları
Koordinat dönüştürme: ondalık derece, derece dakika saniye ve DDM biçimlerini UTM, Web Mercator ile Çin'in GCJ-02 (AMap) ve BD-09 (Baidu) sistemlerine çevirin. lat,lng/lng,lat sırasını algılar, toplu CSV verir. Tarayıcıda çalışır.
Dönüştürme Araçları
HEX renklerini tarayıcınızda CMYK'ye dönüştürün. Baskı önizlemeleri için sRGB tabanlı saf yaklaşım. Ücretsiz, kayıt yok, renkleriniz sayfadan asla çıkmaz.