0.96 "OLED ekranı, Arduino projelerinde metin, grafik ve sensör verilerini görüntülemek için mükemmel olan kompakt, enerji tasarruflu bir ekrandır. Bu eğitim, bir Arduino ile 0.96" OLED ekran kurma ve kullanarak size rehberlik edecektir.
Ne İhtiyacınız Olacak
- Arduino Kurulu (örneğin, UNO, Mega, Nano)
- 0.96 "OLED ekran modülü (I2C veya SPI arayüzü ile)
- Breadboard ve jumper telleri
- Arduino IDE kurulu bir bilgisayar
- Kütüphaneler: Adafruit SSD1306 ve Adafruit GFX Kütüphanesi
1. Adım: OLED ekranını anlamak
0.96 "OLED ekranı tipik olarak SSD1306 sürücüsünü kullanır ve I2C veya SPI iletişimini destekler. En yaygın olarak, I2C protokolü aracılığıyla çalışır, sadece iki veri pimi (SDA ve SCL) gerektirir.
I2C Pinout
OLED PIN | İşlev | Arduino uno pin |
---|---|---|
VCC | Güç kaynağı (3.3V veya 5V) | 5V |
Gnd | Zemin | Gnd |
SDA | Veri hattı | A4 |
Scl | Saat çizgisi | A5 |
Not: Pinout'u onaylamak için OLED modülünüzün veri sayfasını kontrol edin.
2. Adım: Gerekli kütüphaneleri yükleme
OLED ekranla çalışmak için aşağıdaki kütüphanelere ihtiyacınız var:
- Adafruit SSD1306 Kütüphanesi
- Adafruit GFX Kütüphanesi
Kütüphaneler yüklemek için adımlar
- Arduino IDE'yi açın.
- Gidip gelmek Eskiz > Kütüphane ekleyin > Kütüphaneleri Yönetin.
- "Adafruit SSD1306" adını arayın ve tıklayın Düzenlemek.
- "Adafruit GFX Kütüphanesi" ni arayın ve tıklayın Düzenlemek.
Adım 3: OLED ekranının kablolanması
OLED'i Arduino'ya aşağıdaki gibi bağlayın:
OLED PIN | Arduino pimi |
---|---|
VCC | 5V |
Gnd | Gnd |
SDA | A4 |
Scl | A5 |
4. Adım: Kodu Yükleme
İşte OLED ekranda metin ve grafikleri görüntülemek için örnek bir taslak:
Örnek Kodu: Temel OLED kurulumu
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
#define OLED_RESET -1 // Reset pin not used
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup() {
// Initialize the display
if (!display.begin(SSD1306_I2C_ADDRESS, 0x3C)) { // Address 0x3C for most modules
Serial.println(F("SSD1306 allocation failed"));
for (;;);
}
display.clearDisplay(); // Clear the buffer
// Display Welcome Message
display.setTextSize(1); // Set text size (1 = small)
display.setTextColor(SSD1306_WHITE); // Set text color
display.setCursor(0, 10); // Set cursor position (x, y)
display.println(F("Hello, OLED!"));
display.display(); // Display the message
delay(2000);
// Draw a rectangle
display.clearDisplay();
display.drawRect(10, 10, 50, 30, SSD1306_WHITE); // x, y, width, height, color
display.display();
delay(2000);
}
void loop() {
// Update screen with dynamic content if needed
}
Adım 5: Ek işlevleri keşfetmek
Adafruit GFX kütüphanesi, grafik ve metin için çok çeşitli işlevler sunar. İşte birkaç örnek:
1. Metin görüntüleme
display.setTextSize(2); // Larger text size
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0);
display.println("Arduino");
display.display();
2. Çizim şekilleri
-
Dikdörtgen:
display.drawRect(x, y, width, height, color);
-
Daire:
display.drawCircle(x, y, radius, color);
-
Astar:
display.drawLine(x1, y1, x2, y2, color);
3. Ters renkler
display.invertDisplay(true); // Invert colors
delay(1000);
display.invertDisplay(false); // Revert colors
Yaygın sorunlar ve sorun giderme
-
OLED görüntülemiyor:
- Kodda doğru I2C adresinin (0x3c veya 0x3d) kullanıldığından emin olun.
- Kablo ve bağlantıları kontrol edin.
-
Kütüphane Hataları:
- Adafruit SSD1306 ve GFX kütüphanelerinin kurulduğundan emin olun.
-
Titreyen Ekran:
- Kullanmak
display.clearDisplay()
Sadece titremeyi en aza indirmek için gerektiğinde.
- Kullanmak
-
Yanlış Pinout:
- Doğru SDA ve SCL PIN bağlantıları için modülün veri sayfasını doğrulayın.
OLED ekranlarının uygulamaları
- Sensör verilerinin görüntülenmesi (ör. Sıcaklık, nem)
- Gömülü sistemler için kullanıcı arayüzleri
- IoT cihazları için görsel geri bildirim
- Taşınabilir elektronikler için grafik ekranlar
Çözüm
0.96 "OLED ekranı, Arduino projelerine çok yönlü ve görsel olarak çekici bir ektir. Bu kılavuzu takip ederek, OLED ekranınızda metin, grafik ve gerçek zamanlı verileri görüntüleyebilirsiniz. Dinamik ve etkileşimli ekranlar oluşturmak için farklı işlevler ve kütüphanelerle deney yapabilirsiniz. Projeleriniz için!