Site icon Teknikerler

Arduino OLED Ekran – 128×64 – 128×32 – 0,91 – 0,96 inc ekranlar

oled_ekranlar

oled_ekranlar

Arduino OLED Ekran – 128×64 – 128×32 – 0,91 – 0,96 inc ekranların kullanımı kavrayacağız.

OLED ekran, organik ışık yayan diyotlar anlamına gelir. LCD ve LED gibi bir ekran teknolojisi olan OLED, ışık kaynağı ile birlikte renk dizilimini de kontrol eder. Böylece her piksele uygun parlaklık ve tonda ışık aktarımı sağlanır. OLED ekrana sahip cihazlar daha az enerji tüketir.

En çok kullanılan Oled ekran çeşitleri;

  • 0.96 inch I2C OLED Ekran 128×64-Mavi/Sarı
  • 0.96 inch I2C OLED Ekran 128×64-Beyaz
  • 0.91 inch I2C OLED Ekran 128×32-Beyaz
096_oled
091oled

 

Arduino ile birlikte en çok kullanılan oled ekranlar, 128×64 ve 128×32 piksellik 0.96 ve 0.91 diye bilinen ekranlardır. Bu ekranlar için daha önceden yazılmış kütüphaneler bulunmaktadır. Kullanacağınız OLED ekranın türü ve üretici farklı olsa bile aynı kütüphane ile neredeyse bütün ekranlar çalışabilmektedir. Sizlerle birlikte OLED Ekran – 128×64 – 128×32 – 0,91 – 0,96 inc ekranları çalıştırabileceğimiz kütüphanenin nasıl kullanılacağı video içinde yer almaktadır.

OLED ekranlar i2c haberleşme protokolü kullanmaktadırlar. Bu sayede sadece 2 tane SCL ve SDA pinleri ile kullanılmaktadır.

OLED ekranları bir çok projenizde rahatlıkla kullanabilirsiniz.

 

KÜTÜPHANELERİ İNDİRMEK İÇİN TIKLAYINIZ

 

 

oled_sema
oled_sema_2

 

 



//Görsel İşitsel Teknoloji Kanalı
//wwww.teknikerler.com
//Kerim Arı Youtube kanalı OLED 128x64 ve 128x32 0,96 Kodları - kullanımı örnek Kodları



#include <Wire.h>
#include <SPI.h>
#include <Adafruit_SSD1306.h>
int genislik = 128; 
int yukseklik = 64; 
int adres = 0x3C;   // 128x64 için 0x3C (bazı modüllerde 0x3D)
 
Adafruit_SSD1306 ekran(genislik, yukseklik, &Wire); 
 
void setup() {
  ekran.begin(SSD1306_SWITCHCAPVCC, adres);         // Kütüphaneyi başlatıyoruz
}
 
void loop() {
  // Bu bölümde ekrana yazı yazıyoruz
  ekran.clearDisplay();        // Ekranı temizleyelim
  ekran.display();             // Ekranı görüntüleyelim
  delay(500);
  yaziyaz("GORSEL", 25, 4); // Kullanım: ("YAZI", x, y)
   yaziyaz("ISITSEL", 15, 24); // Kullanım: ("YAZI", x, y)
    yaziyaz("TEKNOLOJi", 10, 44); // Kullanım: ("YAZI", x, y)
  delay(500);
 
  // Ekranın çevresini 4 adet çizgi ile kaplayalım
  ekran.drawLine(0, 0, 127, 0, SSD1306_WHITE); // (başlangıç x, y, bitiş x, y)
  ekran.display(); // İçeriği değişen ekranı tazeleyelim
  delay(500);
  ekran.drawLine(127, 0, 127, 63, SSD1306_WHITE);
  ekran.display();
  delay(500);
  ekran.drawLine(127, 63, 0, 63, SSD1306_WHITE);
  ekran.display();
  delay(500);
  ekran.drawLine(0, 63, 0, 0, SSD1306_WHITE);
  ekran.display();
  delay(500);
 
  // Ekran renklerini tersine çevirelim
  ekran.invertDisplay(true);
  delay(500);
  ekran.invertDisplay(false);
  delay(500);
  ekran.invertDisplay(true);
  delay(500);
  ekran.invertDisplay(false);
  delay(500);
 
  // Dikdörtgen çizimi (başlangıç x, y, bitiş x, y)
  ekran.clearDisplay();
  ekran.display();
  delay(500);



 yaziyaz("OLED", 35, 4); // Kullanım: ("YAZI", x, y)
   yaziyaz("EKRAN", 25, 24); // Kullanım: ("YAZI", x, y)
    yaziyaz("KULLANIMI", 10, 44); // Kullanım: ("YAZI", x, y)
  delay(500);

ekran.invertDisplay(true);
  delay(500);
  ekran.invertDisplay(false);
  delay(500);
  ekran.invertDisplay(true);
  delay(500);
  ekran.invertDisplay(false);
  delay(500);




  
//  ekran.drawRect(0, 0, 128, 64, SSD1306_WHITE);
//  ekran.display();
//  delay(500);
// 
//  // Köşeleri yuvarlak dikdörtgen çizimi (başlangıç x, y, bitiş x, y)
//  ekran.clearDisplay();
//  ekran.display();
//  delay(500);
//  ekran.drawRoundRect(0, 0, 128, 64, 8, SSD1306_WHITE);
//  ekran.display();
//  delay(500);
// 
//  // Çember çizimi (çember merkezi x, y, çember yarıçapı)
//  ekran.clearDisplay();
//  ekran.display();
//  delay(500);
//  ekran.drawCircle(16, 30, 6, SSD1306_WHITE);
//  ekran.drawCircle(39, 30, 15, SSD1306_WHITE);
//  ekran.drawCircle(87, 30, 30, SSD1306_WHITE);
//  ekran.display();
//  delay(500);
 
  //yazikaydir();
}
 
void yaziyaz(String metin, int cx, int cy) {
  ekran.setTextSize(2); // Yazı boyutu
  ekran.setTextColor(SSD1306_WHITE);
  ekran.setCursor(cx, cy); // Başlangıç konumu
  ekran.println(metin);
  ekran.display();
}
 
void yazikaydir(void) {
  ekran.clearDisplay();
  delay(500);
  ekran.setTextSize(2);
  ekran.setTextColor(SSD1306_WHITE);
  ekran.setCursor(10, 24);
  ekran.println("GiT");
  ekran.display();
  delay(500);
 
  // Sağa, sola, çapraz sağa, çapraz sola kaydırma
  ekran.startscrollright(0x00, 0x0F);
  delay(2000);
  ekran.stopscroll(); // Kaydırmayı durdur
  delay(500);
  ekran.startscrollleft(0x00, 0x0F);
  delay(2000);
  ekran.stopscroll();
  delay(500);
  ekran.startscrolldiagright(0x00, 0x07);
  delay(2000);
  ekran.startscrolldiagleft(0x00, 0x07);
  delay(2000);
  ekran.stopscroll();
  delay(500);
}


Sayac örneği kodları



//Görsel İşitsel Teknoloji Kanalı
//wwww.teknikerler.com
//Kerim Arı Youtube kanalı OLED 128x64 ve 128x32 0,96 Kodları - kullanımı örnek Kodları



#include <Wire.h>
#include <SPI.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
int sayac = 0;
int cizgi = 0;
void setup()
{


  Serial.begin(9600);
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  display.clearDisplay();
  display.setTextColor(WHITE);
  display.setTextSize(3);
  display.setCursor(2, 20);
  display.println("Merhaba");
  display.display();
  delay(1000);
}
void loop()
{

  sayac++;
  
  display.clearDisplay();
  display.setTextColor(WHITE);
  display.setTextSize(3);
  display.setCursor(20, 0);
  display.println("SAYAC ");

  display.drawLine(0, 25, sayac, 25, WHITE);


  display.setTextSize(3);
  display.setCursor(40, 30);
  display.println(sayac);
  display.display();
  delay(10);




  if (sayac > 128)
  {
    sayac = 0;

  }


}


OLED EKRAN HAKKINDA DETAYLI BİLGİ İÇİN VİDEOYU İZLEYEBİLİRSİNİZ
Exit mobile version