Arduino ile 0.91 "OLED ekran nasıl kullanılır

How to Use a 0.91" OLED Display with Arduino

0.91 "OLED ekran için mükemmel küçük, yüksek kontrastlı bir ekran Metin, grafik ve sensör verilerinin görüntülenmesi Arduino projelerinde. Bu rehber sizi geçecek Metin ve grafiklerin kablolanması, kodlanması ve görüntülenmesi kullanma SSD1306 tabanlı OLED modülü Arduino ile.


1. Ne İhtiyacınız Var

Arduino Kurulu (UNO, Mega, Nano, vb.)
0.91 "OLED ekran (SSD1306, I2C)
Jumper telleri
Arduino IDE kurulu

🔹 Not: Bu öğretici odaklanıyor I2C İletişim, sadece kullanan İki kablo (SDA ve SCL), basit projeler için ideal hale getirir.


2. 0.91 "OLED'in Arduino'ya kablolanması (I2C modu)

OLED görüntüleme pimi Arduino uno pin Arduino nano pimi
VCC 5V 5V
Gnd Gnd Gnd
SDA A4 (SDA) A4 (SDA)
Scl A5 (SCL) A5 (SCL)

🔹 Arduino mega için: Kullanmak SDA (pim 20) ve SCL (pim 21).


3. Gerekli kütüphaneleri yükleme

Kodlamadan önce, Adafruit SSD1306 Ve Adafruit GFX Kütüphaneler:

  1. Açık Arduino IDE.
  2. Gidip gelmek Eskiz → Kütüphane Ekle → Kütüphaneleri Yönetin.
  3. Araştırmak Adafruit SSD1306 ve kurun.
  4. Araştırmak Adafruit GFX ve kurun.

4. OLED'de metni görüntülemek için temel kod

Bu örnek OLED ve ekranları başlatır "Merhaba Arduino!".

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

// Define OLED screen size
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 32

// Initialize OLED display (I2C address 0x3C)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

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

    // Start OLED display
    if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
        Serial.println("SSD1306 allocation failed");
        for (;;);
    }

    display.clearDisplay();  // Clear buffer
    display.setTextSize(1);  // Text size
    display.setTextColor(SSD1306_WHITE);
    display.setCursor(10, 10);
    display.println("Hello, Arduino!");
    display.display(); // Show text on screen
}

void loop() {
    // Nothing here (text is static)
}

🔹 Bu kod ne yapar:
✔ Başlatır SSD1306 Ekran.
✔ Baskılar "Merhaba Arduino!" ekranda.
✔ Kullanma I2C Adresi 0x3c (Bazı modüller kullanabilir 0x3d).


5. Grafikleri Görüntüleme (satırlar, daireler, resimler)

Çizmek için şekiller, kullanarak kodu değiştir Adafruit GFX işlevleri.

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

    // Draw a rectangle
    display.drawRect(10, 10, 50, 20, SSD1306_WHITE);
    
    // Draw a filled circle
    display.fillCircle(90, 16, 10, SSD1306_WHITE);

    display.display();
}

void loop() {}

🔹 Diğer çizim işlevleri:
display.drawLine(x1, y1, x2, y2, color); → bir çizgi çizer
display.drawCircle(x, y, radius, color); → bir daire çizer
display.drawRect(x, y, width, height, color); → bir dikdörtgen çizer


6. Kaydırma metin örneği

Bu örnek metin kaydırır yatay olarak OLED ekranın karşısında.

void setup() {
    display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
    display.clearDisplay();
    
    display.setTextSize(1);
    display.setTextColor(SSD1306_WHITE);
    display.setCursor(0, 10);
    display.println("Scrolling Text...");
    display.display();
    
    // Start scrolling
    display.startscrollleft(0x00, 0x0F); 
}

void loop() {}

🔹 Kaydırma işlevleri:
display.startscrollleft(start, stop); → Metin kaydırın sol
display.startscrollright(start, stop); → Metin kaydırın Sağ
display.stopscroll(); → kaydırmayı durdurur


7. Sorun Giderme İpuçları

Sorun: Hiçbir şey göstermiyor.
✅ Kontrol etmek Kablolama (SDA ve SCL Doğru Bağlı).
✅ Sağlamak OLED I2C adresi 0x3c'dir (veya 0x3d'yi deneyin).
✅ Kullanın I2C tarayıcısı Cihazı tespit etmek için:

#include <Wire.h>
void setup() {
    Wire.begin();
    Serial.begin(115200);
    Serial.println("Scanning...");
    
    for (byte address = 8; address < 120; address++) {
        Wire.beginTransmission(address);
        if (Wire.endTransmission() == 0) {
            Serial.print("Found I2C device at 0x");
            Serial.println(address, HEX);
        }
    }
}
void loop() {}

Sorun: Metin çok küçük veya çok büyük.
✅ Ayarlamak display.setTextSize(1); (daha büyük metin için artış).


8. Pratik uygulamalar

Sensör Verilerinin Görüntüleme -Gerçek zamanlı okumaları göster DHT11, BMP280, vb.
Saat ekranı - Birleştirin DS3231 RTC Modülü dijital bir saat yapmak için.
Menü sistemleri - Menülerde gezinmek için düğmeleri kullanın.
Pil voltajı göstergesi - Taşınabilir projelerde güç seviyelerini izleyin.


9. Sonuç

Bir Arduino ile 0.91 "OLED eklemenin harika bir yolu görsel çıktı projelerinize. Görüntülemek isteyip istemediğiniz metin, grafik veya sensör verileri, bu küçük ekran sunuyor Yüksek kontrast ve düşük güç tüketimi.

Yorum bırak

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.