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
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
//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