Tam kılavuz: Arduino ile 0.96″ OLED ekranlar

oled

OLED ekran, kompakt olması, düşük güç tüketimine sahip olması ve parlak ortamlarda bile olağanüstü görünürlük sağlaması nedeniyle Arduino projelerine entegrasyon için popüler bir seçim haline geldi. Üstelik kolay bağlantısı sayesinde tecrübesi ne olursa olsun her elektronik tutkunu için kullanımı kolay. Bu yazımızda 0.96 inçlik bir OLED ekranın Arduino ile nasıl bağlanıp programlanacağına derinlemesine bir göz atacağız, hem teknik yönleri detaylandıracağız hem de pratik kod örnekleri sunacağız.

Daha önce OLED ekranla çalışmadıysanız projenize başlamadan önce bilmeniz gereken birkaç önemli nokta var. OLED'lerin (Organik Işık Yayan Diyot), LCD'ler gibi diğer ekran türlerinden temel farklılıkları vardır. Örneğin OLED arkadan aydınlatma gerektirmez, bu da güç tüketimini önemli ölçüde azaltır. Proje pille çalışıyorsa, 0.96 inç kadar küçük ekranlarda bu önemli olabilir. Şimdi özelliklerine bakalım.

OLED ekran nedir?

OLED ekran, elektrik akımı uygulandığında ışık yayan organik bir bileşik kullanan bir ekran türüdür. Bu, onları birçok elektronik proje için ideal kılar; çünkü teknolojileri her pikselin kendi başına aydınlanmasına olanak tanır ve bu da dış mekan görünürlüğünü artırır. Arduino için pazarlanan çoğu OLED ekranın, ekrana sinyal gönderilmesini yönetmeye olanak tanıyan bir SSD1306 denetleyicisi vardır. Aslında SSD1306 Arduino projelerinde en yaygın kullanılanlardan biri ve bunu daha sonraki örneklerde göreceğiz.

OLED ekranların ana avantajlarından biri düşük tüketimleridir. Ortalama olarak, 0.96 inçlik küçük bir ekran yaklaşık 20 mA tüketebilir. Bu neden önemli? Arduino projenize güç sağlamak için pil kullanıyorsanız güç tüketimini azaltmak her zaman önemli bir artıdır. Ayrıca 128x64 piksel çözünürlüğü, boyutuna bakıldığında oldukça iyi netlikte görüntüler sunabiliyor.

Öte yandan bu tür ekranlarda ortaya çıkabilecek sorunlardan biri de boyutunun oldukça küçük olmasıdır. Her ne kadar iyi bir görünürlük sunsalar da, çok fazla bilginin görüntülenmesi gereken bazı projelerde bu boyut yetersiz kalabilmektedir.

OLED ekranı Arduino'ya bağlama

OLED ekran, modele bağlı olarak bir I2C veya SPI veri yolu kullanarak Arduino kartına kolayca bağlanır. Bu eğitimde, en yaygın ve en basit bağlantılardan biri olduğundan I2C kullanarak bağlantıya odaklanacağız.

OLED ekranın pinlerini Arduino'nuzun ilgili pinlerine aşağıdaki şekilde bağlamanız gerekir:

  • Arduino GND pimi ile GND (Toprak)
  • Arduino'nun 5V veya 3.3V pinli VCC
  • SDA'dan Arduino pin A4'e
  • Arduino'nun A5'ini pinlemek için SCL

Gördüğünüz gibi bağlantı oldukça basit: yalnızca dört kabloya ihtiyacınız var. Daha sonra ister SPI ister I2C veriyolunu kullanın, bağlantı işlemi benzerdir, ancak pinler seçtiğiniz iletişim türüne göre değişir.

OLED ekran için kod örneği

OLED ekranın Arduino ile çalışmasını sağlamak için en iyi seçeneklerden biri Adafruit'in geliştirdiği kütüphaneleri kullanmaktır. SSD1306 denetleyicisi daha önce de belirttiğimiz gibi kütüphaneyle uyumludur. Adafruit SSD1306Bu da ekranda grafik ve metin oluştururken hayatımızı kolaylaştırıyor.

Aşağıda size I2C bağlantısıyla OLED ekranda metin görüntülemenizi sağlayacak temel bir kod bırakıyorum:

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup() {
Serial.begin(9600);
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;);
}
display.display();
delay(2000);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 10);
display.println(F("Hola, Mundo!"));
display.display();
}
void loop() {}

Bu kod ekranı başlatır, ekranı temizler ve ardından "Merhaba Dünya!" yazar. OLED ekranda. Grafikler oluşturmak, çizgiler, daireler çizmek ve hatta görüntüleri ekranda görüntülemek için Adafruit GFX kütüphanesinin farklı fonksiyonlarını kullanabilirsiniz.

OLED ekranı için diğer faydalı örnekler

Yukarıdaki örnek yalnızca temel bir giriş niteliğindedir ancak OLED ekranlarla çok daha fazlasını yapabilirsiniz. Örneğin farklı geometrik şekiller çizebilir, animasyonlar yapabilir, hatta küçük grafikler bile oluşturabilirsiniz.

Adafruit kütüphanelerinin sunduğu en ilginç özelliklerden biri birden fazla piksel çizebilme yeteneğidir, bu da kayan animasyonlar oluşturabileceğiniz anlamına gelir. Ek bir örnek, dinamik olarak değişen mesajları görüntülemeyi planlıyorsanız çok yararlı olan kayan metin olabilir.

Bu ekranlara verebileceğiniz bir diğer kullanım, sıcaklık veya nem sensörü gibi etkileşimli projelerde gerçek zamanlı verileri göstermektir. Yeni sensör okumaları elde edildikçe ekran güncellenebilir, bu da her türlü projeyi çok daha görsel hale getirir.

OLED ekranları kullanırken sık karşılaşılan sorunlar

OLED ekranları Arduino ile kullanırken en sık karşılaşılan sorunlardan biri hafıza eksikliğidir. Adafruit kütüphaneleri çok eksiksiz olmasına rağmen, özellikle aşağıdaki gibi sürümlerde, Arduino işlemcisinde önemli miktarda bellek tüketebilir. Arduino Uno. Yer sorununuz varsa kodunuzu optimize etmeyi, ihtiyacınız olmayan işlevleri kaldırmayı ve hatta Arduino Mega gibi daha fazla kapasiteli bir kart kullanmayı deneyebilirsiniz.

Diğer bir yaygın sorun, I2C bağlantısının ilk kurulumudur. Doğru SDA ve SCL pinlerini kullanmıyorsanız ekran çalışmayabilir veya bağlantı hataları gösterebilir. Arduino modelinize göre doğru pinleri kullandığınızdan emin olun.

Son olarak, bazı kullanıcılar boş bir ekran veya herhangi bir komuta yanıt vermeyen bir ekran da bildirmektedir. Bu durum, besleme voltajının doğru olduğundan (ekran modeline bağlı olarak 3.3V veya 5V) ve kabloların doğru bağlandığından emin olunarak çözülebilir.