Web siteme hoşgeldiniz, 15 Nisan 2026
muratdonmez.com.tr
Anasayfa » IOT » OLED Ekran (SSD1306): Projelerinize Görsellik Katın

OLED Ekran (SSD1306): Projelerinize Görsellik Katın

OLED Ekran (SSD1306): Projelerinize Görsellik Katın

OLED Geleceğin Ekran Teknolojisi

LCD ekranlar hala yaygın olsa da, OLED (Organic Light Emitting Diode – Organik Işık Yayan Diyot) ekranlar, özellikle küçük boyutlu ve düşük güç tüketimli projelerde hızla popülerlik kazanmıştır. SSD1306 kontrolcülü OLED ekranlar, Arduino ve diğer mikrodenetleyicilerle kullanım için en yaygın ve erişilebilir olanlardır.

OLED’in Avantajları:

  • Yüksek Kontrast: Her piksel kendi ışığını yaydığı için siyahlar gerçekten siyahtır, bu da sonsuz kontrast oranı sağlar.
  • Geniş Görüş Açısı: Her açıdan net ve parlak bir görüntü sunar.
  • Hızlı Tepki Süresi: Videolar ve animasyonlar için idealdir.
  • Düşük Güç Tüketimi: Özellikle koyu renkli (siyah) arayüzlerde çok az enerji harcar, çünkü siyah pikseller kapalıdır ve hiç güç çekmez.
  • Kompakt Boyut: Kendi arka aydınlatmasına ihtiyaç duymadığı için daha ince ve küçük olabilir.

OLED Ekran

SSD1306 OLED Kontrolcüsü ve Modül Çeşitleri

SSD1306, OLED ekranın piksellerini kontrol eden ve mikrodenetleyici ile iletişimi sağlayan küçük entegre devredir. Piyasada genellikle 0.96 inç boyutunda, 128×64 veya 128×32 piksel çözünürlüğünde, tek renkli (mavi, beyaz veya sarı-mavi karışımı) modüller bulunur.

Bu modüller genellikle iki ana haberleşme protokolünden birini kullanır:

  1. I2C (Inter-Integrated Circuit): En yaygın olanıdır. Sadece 4 pin (VCC, GND, SDA, SCL) ile bağlanır. Bu, bağlantı kablolarını minimuma indirir ve birden fazla I2C cihazını aynı pinlere bağlamaya olanak tanır.
  2. SPI (Serial Peripheral Interface): Daha hızlı veri aktarımı sunar, ancak genellikle 7-8 pin bağlantısı gerektirir (VCC, GND, DC, CS, RES, CLK, MOSI).

Önemli Not: Modülünüzün I2C mi yoksa SPI mı olduğunu kontrol edin. Genellikle modülün arkasında veya satış sayfasında belirtilir. I2C modüllerde genellikle yalnızca 4 pin (VCC, GND, SDA, SCL) bulunur.

ESP32 ile Bağlantı

I2C Bağlantı (En Yaygın)

  • VCC: Arduino 5V (Bazı OLED’ler 3.3V ile çalışır, modülünüzü kontrol edin)
  • GND: Arduino GND
  • SDA (Data): GPIO 21
  • SCL (Clock): GPIO 22

SPI Bağlantı (Örnek)

  • VCC: ESP32 3.3V
  • GND: ESP32 GND
  • CS (Chip Select): GPIO 26
  • DC (Data/Command): GPIO 25
  • RES (Reset): GPIO 11
  • CLK (Clock): GPIO 8
  • MOSI (Data In): GPIO 10

OLED Kütüphaneleri

Arduino IDE için birçok kütüphane mevcuttur, ancak en popüler ve kapsamlı olanları şunlardır:

  1. Adafruit GFX Kütüphanesi: Çizgi, daire, dikdörtgen gibi temel grafik öğelerini çizmek için standart bir grafik motoru sağlar. OLED ekranınız için herhangi bir görüntü veya metin çizmeden önce bu kütüphanenin kurulu olması gerekir.
  2. Adafruit SSD1306 Kütüphanesi: Spesifik olarak SSD1306 kontrolcüsünü sürmek için gerekli tüm fonksiyonları içerir. Metin yazdırma, bitmap görüntüleri gösterme ve ekranı yönetme gibi işlemleri bu kütüphane yapar.

Her iki kütüphaneyi de Arduino IDE’nin Kütüphane Yöneticisi’nden kolayca yükleyebilirsiniz.

Temel Kullanım: Metin ve Grafik Çizimi

Bir OLED ekranı kullanmak, Serial.print() komutuna benzer ancak daha fazla kontrol sağlar.

//muratdonmez.com.tr
#include <SPI.h> // SPI tabanlı ekranlar için
#include <Wire.h> // I2C tabanlı ekranlar için
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

// Ekran çözünürlüğü
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

// I2C ekran için tanımlama
#define OLED_RESET -1 // Reset pini kullanılmıyorsa -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

void setup() {
  Serial.begin(9600);

  // OLED ekranı başlat
  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // 0x3C veya 0x3D I2C adresidir
    Serial.println(F("SSD1306 tahsisi basarisiz"));
    for(;;); // Sonsuz dongu
  }

  // Ekranı temizle
  display.clearDisplay();

  // Metin ayarları
  display.setTextSize(1); // Yazı boyutu (1 kat)
  display.setTextColor(SSD1306_WHITE); // Beyaz metin
  display.setCursor(0,0); // İmleci başlangıca taşı (X,Y)

  // Ekrana metin yaz
  display.println("Merhaba OLED!");
  display.println("Arduino ile");
  display.println("ekran projeleri!");

  // Tüm çizimleri ekranda göster
  display.display();
}

void loop() {
  // Dinamik verileri güncellemek için loop içinde kullanabilirsiniz
}

SSD1306 kontrolcülü OLED ekranlar, Arduino projelerinize profesyonel ve modern bir dokunuş katmanın en iyi yollarından biridir. Yüksek kontrastı, düşük güç tüketimi ve kolay programlanabilirliği sayesinde hava durumu istasyonlarından giyilebilir teknolojilere kadar birçok uygulamada kendine yer bulur. Sadece modülünüzün doğru haberleşme protokolünü (I2C veya SPI) ve kütüphane ayarlarını yaptığınızdan emin olun.

ESP32 OLED Bağlantı Şeması

ESP32 (Arduino IDE) Örnek Kodu

Gerekli Kütüphaneler: “Adafruit_GFX” ve “Adafruit_SSD1306”

//muratdonmez.com.tr
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1 // Reset pini kullanılmıyorsa

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
int counter = 0;

void setup() {
  Serial.begin(115200);

  // Ekranı başlat (I2C adresi 0x3C)
  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println(F("SSD1306 başlatma hatası."));
    for(;;);
  }
  display.clearDisplay();
}

void loop() {
  display.clearDisplay(); // Ekranı temizle

  // Çizim komutları
  display.setTextSize(1);
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0, 0);
  display.println(F("Merhaba!"));

  display.setTextSize(2);
  display.setCursor(20, 20);
  display.print(F("Sayac:"));

  display.setTextSize(3);
  display.setCursor(40, 40);
  display.println(counter);

  // Çizimi ekrana gönder
  display.display();

  counter++;
  delay(1000);
}

Eğer akıllı ev, IOT projeleri ile ilgili sorularınız veya yapmak istediğiniz bir projeniz varsa, yedek alma ve yedekten dönme planınız veya felaket kurtarma planınız yoksa, işletmeniz için nasıl bir Sunucu, Bilgisayar veya Kesintisiz Güç Kaynağı seçmeniz gerektiğini bilmiyorsanız danışmanlık hizmetlerimden faydalanmak isterseniz bana WhatsApp üzerinden ulaşabilirsiniz.

İlgili Yazılar

Sık Sorulan Sorular

  • OLED ekran nedir ve LCD’den farkı nedir?
    OLED (Organic Light Emitting Diode), her pikselin kendi ışığını yaydığı bir ekran teknolojisidir. LCD’lerden farklı olarak arka aydınlatmaya ihtiyaç duymazlar, bu sayede daha ince, daha yüksek kontrastlı (gerçek siyahlar) ve daha geniş görüş açılıdırlar. Ayrıca siyah pikseller kapalı olduğu için daha az enerji tüketirler.
  • SSD1306 kontrolcüsü ne işe yarar?
    SSD1306, OLED ekranın piksellerini bireysel olarak yöneten ve mikrodenetleyici ile ekran arasındaki iletişimi sağlayan entegre bir kontrol çipidir. Ekranın hafızasını ve görüntü oluşturma işlemlerini yönetir.
  • I2C ve SPI OLED ekranlar arasındaki fark nedir? Hangisini seçmeliyim?
    I2C (Inter-Integrated Circuit) ekranlar, sadece 4 pinle (VCC, GND, SDA, SCL) bağlanır ve bağlantı kolaylığı sağlar, birden fazla I2C cihazı aynı pinleri paylaşabilir. SPI (Serial Peripheral Interface) ekranlar ise daha fazla pin gerektirir ancak daha hızlı veri aktarımı yapabilir. Hobi projeleri için I2C genellikle yeterli ve daha pratiktir.
  • OLED ekranım neden sadece yarısını gösteriyor veya hiç görüntü gelmiyor?
    Bu sorun genellikle yanlış çözünürlük tanımı (SCREEN_WIDTH, SCREEN_HEIGHT), yanlış I2C adresi (0x3C yerine 0x3D olabilir) veya yanlış OLED_RESET pini (-1 yerine farklı bir dijital pin) kullanımından kaynaklanır. Modülünüzün özelliklerini ve kodunuzdaki tanımlamaları kontrol edin.
  • Adafruit GFX ve Adafruit SSD1306 kütüphaneleri neden ikisi birden gerekli?
    Adafruit GFX kütüphanesi, çizgi, daire, dikdörtgen, metin gibi temel grafik elemanlarını çizmek için genel bir arayüz sağlar. Adafruit SSD1306 kütüphanesi ise GFX kütüphanesini kullanarak, spesifik olarak SSD1306 kontrolcülü OLED ekranla iletişim kurar ve bu çizim komutlarını ekranda fiziksel olarak gösterir. İkisi birbirini tamamlar.

Etiketler:

BU KONUYU SOSYAL MEDYA HESAPLARINDA PAYLAŞ
Yorumlar

Henüz yorum yapılmamış.

Yorum Yaz