SSD1306 OLED: Küçük Ekran, Keskin Görüntü
2 dk okuma
Arka ışığı olmayan, pikselleri kendi parlayan ekran: OLED'in avantajlarını ve bellek sınırını anlattık.
SSD1306, 0.96 inçlik küçük OLED ekranların sürücü çipidir. Genellikle 128×64 piksel çözünürlükle gelir ve yalnız iki kabloyla (I2C) bağlanır.
OLED ile LCD farkı
OLED'de arka ışık yoktur; her piksel kendi ışığını üretir. Sonuçları şunlardır:
- Gerçek siyah: Kapalı piksel hiç ışık vermez, kontrast son derece yüksektir.
- Geniş görüş açısı: Yandan bakınca solmaz.
- Değişken tüketim: Ekranın çoğu siyahsa çok az akım çeker. LCD'de arka ışık her hâlükârda yanar.
- Kalıcı iz riski: Aynı görüntü saatlerce sabit kalırsa hafif bir iz bırakabilir. Değişen içerik ya da ara sıra kaydırma bunu önler.
Bellek sınırı
Grafik ekranlarda çizim, önce bellekteki bir çerçeve tamponuna yapılır, sonra ekrana gönderilir. 128×64 piksel, her piksel bir bit olsa bile 1024 bayt eder.
Arduino Uno'nun toplam RAM'i 2 KB'dır. Yani tampon, hafızanın yarısını alır. Uno ile OLED kullanan projelerde "kod derleniyor ama kart garip davranıyor" durumunun sebebi çoğu zaman budur: bellek bitmiştir.
Çözümler: değişkenleri küçültmek, metinleri F() ile program hafızasında tutmak ya da daha bol RAM'li bir karta geçmek.
Bağlantı ve adres
I2C bağlantısı iki hattan ibarettir. Adres genellikle 0x3C, bazen 0x3D'dir. Ekran açılmıyorsa ilk denenecek şey adres taramasıdır — kütüphane hatasından çok daha sık rastlanan bir sebeptir.
Ne çizilir?
- Metin, birden çok yazı boyutunda
- Çizgi, dikdörtgen, daire
- Küçük ikonlar ve bitmap görseller
- Basit grafikler — sıcaklığın son bir dakikası gibi
Küçük boyutuna rağmen bir ölçüm cihazının bütün arayüzünü taşıyabilir. Yalnız yazı gösterecekseniz LCD 1602 daha uzaktan okunur; grafik istiyorsanız OLED açık ara öndedir.
I2C mi, SPI mı?
SSD1306 ekranlar iki arayüzle de gelir. I2C sürümü iki kablo ister ve kurulumu kolaydır; SPI sürümü daha fazla kablo ister ama gözle görülür biçimde hızlıdır.
Animasyon ya da sık güncellenen bir gösterge yapıyorsanız SPI farkı hissedilir. Saat ya da sıcaklık gösteren bir ekranda I2C fazlasıyla yeterlidir.
Ekran ömrünü uzatmak
OLED'de sabit kalan parlak alanlar zamanla iz bırakır. Basit önlemler bu riski neredeyse ortadan kaldırır:
- Ekranı bir süre sonra karartmak ya da kapatmak
- İçeriği birkaç piksel kaydırarak göstermek
- Büyük dolu alanlar yerine çerçeve kullanmak
Bu alışkanlıklar, sürekli açık kalan bir gösterge için gerçekten fark yaratır.
HipoCodes devre simülasyonunda ekranı bağlayabilirsiniz.
Etiketler
- ssd1306
- oled ekran
- i2c
- grafik ekran
- arduino
- robotik kodlama


