0.91″ 128×32 I2C OLED Ekran, Mete Hoca PandaShield R1‘in kullanımı için hazırlanmış örnek kodlardan biridir.
0.91″ 128×32 I2C OLED Ekran üzerinde çeşitli fonksiyonları görüntüler.
PandaShield üzerinde 2 farklı I2C bağlantısı bulunur ve bu bağlantılar 0.91″ 128×32 ve 0.96″ 128×64 I2C OLED ekranları bağlamak için kullanılabilir.
I2C OLED ekranları SSD1306 adlı Arduino kütüphanesi ile kullanıyoruz. Kütüphaneyi Arduino IDE’nin ana menüsünden Araçlar > Kütüphaneleri Yönet… bölümüne girip SSD1306 kelimesini aratarak Adafruit tarafından hazırlanmış versiyonu kurarak ekleyebiliriz. Kütüphane kurulumu esnasında Adafruit GFX gibi bazı ek kütüphanelerin de kurulumu istenebilir. Hepsini kuralım.
Sketch kodu 0.91″ 128×32 OLED ekrana yazı yazıyor (yaziyaz), çizgiler ile çerçeve yapıyor (drawLine), ekranın renklerini tersine çeviriyor (invertDisplay), kolay yoldan dikdörtgen çiziyor (drawRect), köşeleri yuvarlatılmış yakışıklı dikdörtgen çiziyor (drawRoundRect), çember çiziyor (drawCircle) ve son olarak ekrana yazılan yazıyı sağa, sola, çapraz sağa ve çapraz sola kaydırıyor.
Bu sketch kodunun da dahil olduğu tüm örnek kodları toplu olarak indirmek için buraya tıklayın.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
/* 0.91" 128×32 I2C OLED Ekran | Mete Hoca PandaShield R1 0.91" 128×32 I2C OLED Ekran üzerinde çeşitli fonksiyonları görüntüler. BAŞLANGIÇ: - UART/LED Jumper'ını UART konumuna getirin. - Adafruit'in "Adafruit SSD1306" kütüphanesini Arduino IDE'ye yükleyin. - Bu sketch kodunu Arduino'ya yükleyin. SONUÇ: - I2C OLED ekran üzerinde yazı yazma, çizgi ve daire çizme örneklerini görebiliriz. Mete Hoca, Şubat 2023, https://www.metehoca.com/ EK: Arduino'ya Güçlü Başlangıç Eğitim ve Proje Seti'ni keşfet! */ #include "SPI.h" // SPI kütüphanesini ekliyoruz #include "Wire.h" // Wire kütüphanesini ekliyoruz #include "Adafruit_SSD1306.h" // Adafruit'in SSD1306 kütüphanesini ekliyoruz int genislik = 128; // OLED ekran genişliği (piksel olarak) int yukseklik = 32; // OLED ekran yüksekliği (piksel olarak) int adres = 0x3C; // 128x32 için 0x3C Adafruit_SSD1306 ekran(genislik, yukseklik, &Wire); // Kütüphaneyi tanımlıyoruz 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("METE HOCA", 10, 10); // 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, 31, SSD1306_WHITE); ekran.display(); delay(500); ekran.drawLine(127, 31, 0, 31, SSD1306_WHITE); ekran.display(); delay(500); ekran.drawLine(0, 31, 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); ekran.drawRect(0, 0, 128, 32, 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, 32, 8, SSD1306_WHITE); ekran.display(); delay(500); // Çember çizimi (çember merkezi x, y, çember yarıçapı) ekran.clearDisplay(); ekran.display(); delay(500); ekran.drawCircle(15, 15, 6, SSD1306_WHITE); ekran.drawCircle(47, 15, 9, SSD1306_WHITE); ekran.drawCircle(79, 15, 12, SSD1306_WHITE); ekran.drawCircle(111, 15, 15, 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, 10); ekran.println("METE HOCA"); 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); } |
Arduino’da iyi olmak için öncelikle elektronikte iyi olmak gerekir. Türkiye’nin en iyi temel elektronik eğitim seti ARDUINO ÖNCESİ TEMEL ELEKTRONİK EĞİTİM VE DENEY SETİ‘ni keşfedin. Gereksiz bilgilerden arındırılmış basit ve eğlenceli anlatımla ELEKTRONİK öğrenin ve Arduino’ya METE HOCA farkıyla güçlü başlayın!
ÖZGÜN ve KULLANIŞLI projeler yapabilmek için ARDUINO’yu doğru öğrenmek gerekir. Arduino’ya güçlü başlamanın en iyi yolu ARDUINO’YA GÜÇLÜ BAŞLANGIÇ EĞİTİM VE PROJE SETİ‘dir. Arduino Uno üzerine kurulu olan set ile bu müthiş geliştirme platformunu tüm detaylarıyla anlayacak, başka hiçbir yerde bulamayacağınız inceliklerini öğrenecek ve en sık kullanılan Arduino sensör ve modüllerine aşina olacaksınız.