A 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:
- Açık Arduino IDE.
- Gidip gelmek Eskiz → Kütüphane Ekle → Kütüphaneleri Yönetin.
- Araştırmak Adafruit SSD1306 ve kurun.
- 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.