OLED I2C ekranı ARDUINO'ya nasıl bağlanır

Pin
Send
Share
Send

Giriş: 128 * 64/128 * 32 OLED I2C Ekranına Giriş.

Selamlar! Bir amatör - elektronik tutkunu olarak, yaptığımız tek şeyin elektronik oyuncaklar - ev yapımı ürünler ya da meraktan ve tembellikten büyük projeler olduğundan eminim. Merak, bilinmeyen, orada nasıl çalıştığını, ne yaptığını, nasıl hareket ettiğini anlamak için çok büyük olanı anlamak ve anlamaktır. Ve tembellik, bununla başa çıkabilmek için, kalkmamak, oturmamak, kalkmamak, kirlenmemek veya başka önemli bir şey bulmak için icat eder.
Bilgi görmek, cihazımızda neler olacağını anlamaktan daha iyi, ya da zaten olmuş ya da gerçekleşmekte olduğundan, kesinlikle bu çok yararlı bilgiyi mikrodenetleyicilerimizden, sensörlerden ya da diğer cihazlardan almak isteyeceğiz. Ve ben, her durumda, sorular, uyarılar, hatırlatıcılar, ifadeler, yıldızlar, kalpler ve benzeri gibi mesajları almak istiyorum.
Benzer bir arzusu olanlar için, işte küçük ve ucuz OLED ekranlarını bağlamak ve kontrol etmek için hızlı bir kılavuz.
Daha sonra, SSD1306 yongası tarafından kontrol edilen OLED ekranların ham radyo modelleri için, 0,96 inç ekran boyutu ve 128 * 64 veya 128 * 32 piksel çözünürlüğünde yaygın olarak bulunabilecek. Bu ekranlar küçük amatör radyo tasarımları ve ev yapımı ürünler için idealdir.

1. Adım: Temel Kavramlar


Bunu, Arduino UNO / NANO'ya iyi bir şekilde bağlayacağız ve sırasıyla programlamaya, Arduino aracılığıyla da bağlayacağız.
  • OLED bir Organik Işık Yayan Diyot, yani bir organik akım geçerken ışık yaymaya başlayan, organik bileşiklerden yapılmış bir yarı iletken cihazdır.
  • ARDUINO eğitim ve bina otomasyonu ve robotik sistemleri için bir platformdur.
  • ArduinoIDE bir gelişim ortamıdır. Bu ücretsiz bir Arduino programlama aracıdır.
  • I2C - Bütünleşik Devreler, mikro devreler arası iletişim hattı.
  • Bir taslak, bu bir kod, bu bir program - Arduino terminolojisi.

Bir OLED ekranını Arduino'ya nasıl düzgün şekilde bağlayacağınızı ve yapılandıracağınızı ve ekranda kendi mesajınızı nasıl göstereceğinizi anlamak için talimatları izleyin.
Her şeyi adım adım yapıyoruz.

Adım 2: Aksesuarlar


Sadece dört şeye ihtiyacımız olacak:
  • 1. OLED ekranın kendisi 0.96 ”dır (Aliexpress veya Ebay'den satın alınabilir - uzun, ama ucuz!).
  • 2. Arduino UNO / Nano (ekranla aynı yerde).
  • 3. Kabloların bağlanması (agy).
  • 4. ArduinoIDE yüklü bir bilgisayar veya dizüstü bilgisayar.

Genel olarak, Aliexpress ve Ebay'de çeşitli projeler için parça satın almak çok güzel bir şey, bir proje yaparken bir başkasının parçaları zaten yolda. Önemli olan bir sipariş vermeyi unutmamaktır.

Adım 3: Ekranı bağlayın


Ekran, beş iletişim protokolünü destekleyen ve biri I2C olan SSD1306 yongası tarafından kontrol edilir. Bu protokoldeki veriler sadece iki kabloda iletilir ve bu durumda ne kadar az kablo olursa o kadar iyi, bu yüzden bize çok yakışıyor. Ama! SPI protokolü ve hatta protokol anahtarlaması olan modüller vardır, bu yüzden bu modülü alırken dikkatli olun.

Kullanılan sonuçlar:
OLED ekran - SCL / SCK (saat) ve SDA (veri), "Artı" güç (VCC) ve "Eksi" güç (GND).

Kullanılan sonuçlar:
Arduino UNO - A5'te SCL / SCK ve A4'te SSD, "Artı" güç (+ 5V) ve "Eksi" güç (GND).
Ekranı Arduino'ya bağlayın:
  • Vcc - 5V
  • GND - GND
  • SDA - A4
  • SCL - A5

Adım 4: I2C Tarayıcı


I2C veri yolu üzerindeki her aygıtın onaltılık bir adresi vardır, değiştiremezsiniz, sıkıca dikilir, sorumlu her üretici üreticinin kasanın üzerinde ya da talimatlarda bir yere bildirmesi gerekir. Adresi değiştirebileceğiniz anahtarlar ve anahtarlar bulunan modüller vardır, ancak ... aygıtlar ucuzsa, çirkinliğe göre üreticinin böyle bir önemsemeyle uğraşması zahmetinde bulunmayabilir, bu nedenle kendiniz belirlemek zorunda kalacaksınız.
Veri yolunda toplamda 127 adede kadar adres kullanılabilir - 119 cihazlar ve 8 servis adresi için. İletişim bu adreslerde yapılır. Bir usta var, o bir usta, ama bir köle var, o da bir köle - ustalar soruyor, takipçiler yanıt veriyor, her şey basit.
OLED ekranımız I2C iletişim protokolünü kullandığından ve adres gösterilmeyebileceğinden, bu adresi bulmaya çalışacağız.
Bu, OLED bağlıyken Arduino kartınıza kısa bir çizim indirerek yapılabilir. AMA!
Çizimi hemen Arduino'ya yüklemek için zaman ayırın! Önce "sürücüyü" indirelim, yani. kitaplıkları bağlayacağız ve bunun için doğrudan “Adım 5” e gideceğiz ve sonra geri dönüp devam edeceğiz.

4. Adım: Devam:


CODE Finder_I2C_Hex_Address.ino dosyasını indirin, Arduino'ya yükleyin.
"Port Monitor" u açın, hızı 9600 olarak ayarlayın ve her şey doğru şekilde bağlanırsa, program cihaz adresini gösterir, benim durumumda OLED adresi 0x3F.

Adım 5: Kütüphaneleri indirin ve bağlayın


Her şeyin düzgün çalışması için ve tekerleği yeniden icat etmeniz gerekmedi, ArduinoIDE ortamına birkaç kitaplık bağlamanız gerekiyor, yani: ADAFRUIT GFX ve ADAFRUIT SSD1306, Arduino'nun OLED ekranla bağımsız bir şekilde iletişim kurabilmeleri için gereklidir.
Bu kitaplıkları aşağıdaki adımları izleyerek bağlayabilirsiniz.
  • 1. ArduinoIDE'de Çizim menüsüne gidin.
  • 2. "Kütüphaneleri Dahil Et" / Kütüphaneleri Dahil Et'i seçin.
  • 3. "Kütüphaneleri Yönet" / Yönetilen Kütüphaneleri seçin.
  • 4. ADAFRUIT GFX'i bulun ve kurun.
  • 5. ADAFRUIT SSD1306'yı bulun ve yükleyin.

Kitaplıkların en son sürümleriyle ekran benim için dolandırıcı bir şekilde çalıştı, belki de elbette bu ellerin eğriliğinden kaynaklanıyor, ancak bu kitaplıkların ilk sürümlerini kurduktan sonra her şey sorunsuz ve güzel bir şekilde görünmeye başladı. Nedense Pushkin’in hatları hafızasında beliriyor:
... ve deneyim, zor hataların oğlu.
ve dahi, arkadaş paradoksları.

Kütüphaneleri kurmanın bir başka yolu bu kütüphaneleri kendiniz bulmak, indirmek ve kurmaktır.
Bir Github örneği için:
//github.com/adafruit/Adafruit-GFX-Library
//github.com/adafruit/Adafruit_SSD1306

Bunlar aynı Adafruit kütüphaneleridir, ancak OLED I2C'nin talebi üzerine, benzer kütüphaneler arama motorlarında kolayca aranır. Pek çok meraklı, kütüphaneleri "kendileri için" yazıyor ve ardından internete koyuyor. Hangi kütüphaneyi kullanmak size kalmış.
Ekranın Rusça harfleri görüntülemesi için özel kütüphanelere de ihtiyaç vardır, ancak bu ayrı bir makale için ayrı bir konudur.
Kitaplıklar yüklendikten sonra 4. adıma dönebilir ve sonunda ekranınızın onaltılık adresini bulabilirsiniz.

Adım 6: Ekranı Test Etme


Her şeyin beklendiği gibi çalışıp çalışmadığını kontrol etmek için, test örneğini ArduinoIDE'den çalıştırın.
Bunu yapmak için:
DOSYA Git> ÖRNEKLER> SSD 1306> 128x64 i2c Seç
Bir “Hata” alırsanız, SSD 1306> 128x32 i2c'yi seçmeyi deneyin.
Yine Hata olursa, demo kodunun 61. satırındaki I2C adresini değiştirmeyi deneyin ve 4. adımda belirlediğiniz ekranın adresi ile değiştirin.
Hata tekrar oluşursa, Adafruit_SSD1306.h dosyasını düzenlemeyi deneyebilirsiniz, Arduino kütüphanelerinin bulunduğu klasörde bulunur.

Adafruit_SSD1306.h dosyasını bir metin editöründe açın ve satırları bulun:
// # SSD1306_128_64 tanımlayın #define SSD1306_128_32 // # tanım SSD1306_96_16

Çizgiyi uncomment:
#define SSD1306_128_64.

Bu gibi olmalı:
#define SSD1306_128_64 // # tanımla SSD1306_128_32 // # tanım SSD1306_96_16

Hata tekrarlanırsa, doğru bağlantıları kontrol etmek gerekir.
İndirme işlemi tamamlandıktan sonra, ekranda bir test animasyonu göreceksiniz, bu da OLED ekranınızı başarıyla yapılandırdığınız anlamına gelir.

Bu animasyonun tadını çıkardığınızda bir sonraki adıma geçebilirsiniz.

Adım 7: Kendi Mesajınızı Yazma


Kendi mesajınızı yazmak için önce ArduinoIDE programlama ortamında yeni bir çizim oluşturun.
Başlıkta 4 kütüphaneyi bağlarız:
#include #include #include #include 

Sonra sıfırlama protokolünü yazıyoruz:
#define OLED_RESET 4 Adafruit_SSD1306 görüntüleme (OLED_RESET);

VOID SETUP'ta, "Adım No. 4" te bulduğumuz 0x3C ekranımızın onaltılık adresini belirtin.
Ardından ekranı başlatın ve silin:
display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay ();

Sonra, VOID LOOP'da ana kodu, yani ekranda görüntülemek istediğimiz mesajımızı yazıyoruz.
Bunu yapmak için, metin boyutunu, metin rengini, imleç pozisyonunu ve son olarak da println komutunu kullanarak bir mesaj gösterelim:
display.setTextSize (2); display.setTextColor (WHITE); display.setCursor (0,0); display.println ("Aferin!"); display.display ();

Sonunda yazmayı unutma display.displayBöylece görüntü ekranda belirir, aksi takdirde bir boşluk elde edersiniz.
Her şeyi doğru yaptıysanız, ekranlarda bir mesaj belirir.

İşte programımızın CODE Başlangıç_with_Arduino_OLED.ino:
code.zip 946 b (indirme: 1366)

Pin
Send
Share
Send