Makalede, bağlantının sadece iki veri kablosu ve iki güç kablosu kullanılarak gerçekleştirileceği için FC-113 I2C modülüne sahip bir 1602 sıvı kristal ekranı Arduino'ya bağlayacağız.
Bu gerekli
- -Arduino;
- - LCD 1602 ekran (16 karakter, 2 satır);
- - I2C adaptörü FC-113;
- - bağlantı kabloları.
Talimatlar
Aşama 1
FC-113 modülü, I2C seri veri yolu için 8 bitlik bir kaydırma yazmacı - G / Ç genişletici olan PCF8574T mikro devresine dayanmaktadır. Şekilde, mikro devre DD1 olarak belirlenmiştir.
R1, LCD'nin kontrastını ayarlamak için bir kırpma direncidir.
Jumper J1, ekran arka ışığını açmak için kullanılır.
1… 16 pinleri modülü LCD ekran pinlerine bağlamak için kullanılır.
I2C cihazının adresini değiştirmek için A1 … A3 kontak pedleri gereklidir. İlgili jumperları lehimleyerek cihaz adresini değiştirebilirsiniz. Tablo, adreslerin ve jumperların yazışmalarını gösterir: "0", açık devreye, "1" - kurulu jumper'a karşılık gelir. Varsayılan olarak, cihaz adresi 0x27'dir, yani. 3 jumper da açık.
Adım 2
Modül, I2C veri yolu için standart olarak Arduino'ya bağlanır: modülün SDA pimi, analog bağlantı noktası A4'e bağlanır, SCL pimi, Arduino'nun analog bağlantı noktası A5'e bağlanır. Modül, Arduino'dan + 5V ile güçlendirilmiştir. Modülün kendisi, 1 … 16 pinleri ile LCD ekranda karşılık gelen 1 … 16 pinleri ile bağlanır.
Aşama 3
Şimdi I2C arayüzü üzerinden LCD'lerle çalışmak için bir kütüphaneye ihtiyacımız var. Örneğin şunu kullanabilirsiniz: https://www.dfrobot.com/wiki/index.php?title=I2C/TWI_LCD1602_Module_(SKU:_DFR0063)#Sample_Code ("Örnek kodu ve kitaplığı indir" satırındaki bağlantı)).
İndirilen "LiquidCrystal_I2Cv1-1.rar" arşivi, Arduino IDE dizininde bulunan "\ library " klasörüne açılır.
Kitaplık, LCD ekranlar için bir dizi standart işlevi destekler:
LiquidCrystal () - LiquidCrystal türünde bir değişken oluşturur ve ekran bağlantı parametrelerini (pin numaraları) kabul eder, start () - LCD ekranın başlatılması, parametrelerin ayarlanması (satır ve sembol sayısı);
clear () - ekranı temizler ve imleci başlangıç konumuna döndürür;
home () - imleci başlangıç konumuna getirin;
setCursor () - imleci belirtilen konuma ayarlamak;
write () - LCD ekranda bir karakter görüntüler;
print () - metni LCD ekranda görüntüler;
imleç () - imleci gösterir, yani bir sonraki karakterin yerinin altını çizin;
noCursor () - imleci gizler;
yanıp sönme () - imleç yanıp sönüyor;
noBlink () - yanıp sönmeyi iptal et;
noDisplay () - görüntülenen tüm bilgileri kaydederken ekranı kapatın;
display () - görüntülenen tüm bilgileri kaydederken ekranı açın;
scrollDisplayLeft () - ekran içeriğini 1 konum sola kaydırın;
scrollDisplayRight () - ekran içeriğini 1 konum sağa kaydır;
otomatik kaydırma () - otomatik kaydırmayı etkinleştir;
noAutoscroll () - otomatik kaydırmayı kapat;
leftToRight () - metnin yönünü soldan sağa ayarlar;
rightToLeft () - sağdan sola metin yönü;
createChar () - LCD ekran için özel bir karakter oluşturur.
4. Adım
Örneği açalım: File -> Samples -> LiquidCrystal_I2C -> CustomChars ve biraz tekrar yapalım. Sonunda yanıp sönen bir sembol olacak bir mesaj gösterelim. Çizimin tüm nüansları, kodun yorumlarında yorumlanmıştır.
Adım 5
LCD ekranlar için kendi sembollerinizi oluşturma konusuna daha yakından bakalım. Ekrandaki her karakter 35 noktadan oluşur: 5 geniş ve 7 yüksek (+1 ayrılmış alt çizgi). Yukarıdaki çizimin 6. satırında 7 sayıdan oluşan bir dizi belirledik: {0x0, 0xa, 0x1f, 0x1f, 0xe, 0x4, 0x0}. Onaltılık sayıları ikiliye çevirelim: {00000, 01010, 11111, 11111, 01110, 00100, 00000}. Bu sayılar, karakterin 7 satırının her biri için bit maskelerinden başka bir şey değildir; burada "0" açık noktayı ve "1" karanlık noktayı belirtir. Örneğin bit maskesi olarak belirlenmiş bir kalp sembolü şekildeki gibi ekranda belirecektir.
6. Adım
Krokiyi Arduino'ya yükleyin. Ekranın sonunda yanıp sönen bir imleç ile belirttiğimiz yazı görüntülenecektir.