- Gerekli malzemeler:
- 16 × 2 Nokta vuruşlu LCD ekrana kısa Giriş:
- Devre Şeması ve Bağlantı:
- Energia kullanarak LCD için MSP430'u programlama:
- MSP430G2 ile 16x2 LCD:
Bu, MSP430G2 LaunchPad'i Energia IDE kullanarak programlamayı öğrendiğimiz eğitim dizisindeki üçüncü öğreticidir. Önceki eğitimimizde, MSP kartımızdaki Dijital Giriş ve Çıkış pinlerini nasıl kontrol edeceğimizi öğrendik. Bu eğitimde, yararlı bilgileri görüntüleyebilmemiz için bir LCD'yi pano ile nasıl arayüzlendireceğimizi öğreneceğiz.
Bu projede kullanmakta olduğumuz LCD, en çok kullanılan 16 × 2 Dot matrix LCD ekranlı akan Alfanümerik Ekranlardır. Çoğumuz bunu ya halka açık PCO'lar ya da diğer elektronik projeler aracılığıyla karşılayabilirdik. Bunun gibi bir ekran, gelecekteki eğitimlerimizde verileri ve diğer hata ayıklama bilgilerini görüntülemek için çok kullanışlı olacaktır. Mevcut kütüphane sayesinde bu LCD'nin MSP430 ile arayüzlenmesi çok kolaydır. Öyleyse içeri dalalım !!
Gerekli malzemeler:
- Texas Instruments'tan MSP430G2 LaunchPad
- 16 × 2 Dot matrix LCD ekran
- Bağlantı telleri
- Energia IDE
16 × 2 Nokta vuruşlu LCD ekrana kısa Giriş:
Daha önce de söylendiği gibi, Energia IDE arabirimi çocuk oyuncağı haline getiren güzel bir kitaplık sağlar ve bu nedenle ekran modülü hakkında herhangi bir şey bilmek zorunlu değildir. Ama ne kullandığımızı göstermek ilginç olmaz mıydı !!
16 × 2 adı, ekranın 16 Sütun ve 2 Satıra sahip olduğunu ve birlikte (16 * 2) 32 kutu oluşturduğunu belirtir. Aşağıdaki resimde tek bir kutu böyle bir şeye benzeyecektir.
Tek bir kutuda matris sırası 5 Satır ve 8 sütun olan 40 piksel (nokta) vardır ve bu 40 piksel birlikte bir karakter oluşturur. Benzer şekilde, tüm kutular kullanılarak 32 karakter görüntülenebilir. Şimdi pinout'lara bir göz atalım.
LCD, yukarıda gösterildiği gibi toplam 16 Pin'e sahiptir, aşağıdaki gibi dört gruba ayrılabilirler.
Kaynak Pimleri (1, 2 ve 3): Bu pimler, ekran için güç ve kontrast seviyesini sağlar
Kontrol Pimleri (4, 5 ve 6): Bu pinler, LCD arabirim IC'deki kayıtları ayarlar / kontrol eder (daha fazlası aşağıdaki bağlantıda bulunabilir)
Veri / Komut Pinleri (7 ila 14): Bu pinler, LCD'de hangi bilgilerin görüntülenmesi gerektiğine dair verileri sağlar.
LED pinler (15 ve 16): Bu pinler gerekirse LCD'nin arka ışığını yakmak için kullanılır (isteğe bağlı).
Tüm bu 16 pinden, LCD'nin düzgün çalışması için yalnızca 10 pinin kullanılması zorunludur, bu LCD ekran hakkında daha fazla bilgi edinmek istiyorsanız bu LCD makalesine atlayın.
Devre Şeması ve Bağlantı:
MSP430G2 ile 16 × 2 Nokta matrisli bir LCD ekranı arayüzlemek için eksiksiz devre şeması aşağıda gösterilmiştir.
Bu ikisini birbirine bağlarken önemli bir kısıtlama, çalışma gerilimleridir. LCD ekranın çalışma voltajı + 5V iken MSP yalnızca 3.6V ile çalışır. LCD arayüz IC'nin (HD44780U) veri pini, 2.7V ila 5.5V arasında geniş bir çalışma voltajına sahiptir. Bu nedenle, veri pinleri 3.6V ile bile çalışabilirken, sadece LCD'nin Vdd'si (pin 2) için endişelenmemiz gerekiyor.
MSP430G2 kartı varsayılan olarak size + 5V pin vermez, ancak USB portunu kullanarak MSP430'dan + 5V almak için küçük bir hack yapabiliriz. USB portunun yakınına yakından bakarsanız TP1 adında bir terminal bulabilirsiniz, bu terminal bize + 5v verecektir. Tek yapmamız gereken, aşağıda gösterildiği gibi küçük bir erkek başlık pinini lehimlemek, böylece onu LCD ekranımıza bağlayabiliriz.
Not: USB bağlantı noktanızı kızartabilecek bu 5V pinine 50mA'dan fazla tüketebilecek yükler bağlamayın.
Lehimleme ile ilgilenmiyorsanız, herhangi bir + 5V düzenlenmiş kaynağı kullanın ve LCD'ye güç verin, bu durumda, güç kaynağınızın topraklamasını MSP kartının topraklamasına bağladığınızdan emin olun.
+ 5V pin ile işiniz bittiğinde, diğer pinleri bağlamak oldukça basittir. Artık donanımımız hazır olduğuna göre, yazılım kısmına geçelim.
Energia kullanarak LCD için MSP430'u programlama:
Tam program LCD ekranlı bir MSP430G2553 arayüzü için bu sayfanın sonunda verilmiştir. Kod derlenebilir, yüklenebilir ve bu şekilde kullanılabilir. Aşağıdaki paragraflarda programın nasıl çalıştığını anlatacağım.
Açıklamaya geçmeden önce, kullandığımız pinleri not etmemiz gerekiyor. Yukarıdaki devre şemasına ve aşağıdaki MSP430 pin-out şemasına bir göz atarsanız
LCD'yi aşağıdaki tabloya göre bağladığımız sonucuna varabilirsiniz.
LCD pin adı |
Bağlı |
Vss |
Zemin |
Vdd |
+ 5V USB pimi |
Rs |
MSP'nin Pin 2'si |
R / W |
Zemin |
etkinleştirme |
MSP'nin Pin 3'ü |
D4 |
MSP'nin Pin 4'ü |
D5 |
MSP'nin Pin 5'i |
D6 |
MSP'nin Pin 6'sı |
D7 |
MSP'nin Pin 7'si |
Bunu akılda tutarak programımızda kullanılan LCD pinlerini tanımlamaya başlayalım. Daha sonra kolayca kullanabilmemiz için her bir pini daha anlamlı bir adla adlandıracağız.
#define RS 2 #define EN 3 #define D4 4 #define D5 5 #define D6 6 #define D7 7
Bu basitçe, pin 2'yi çağırmak yerine, bundan sonra tüm 6 pin için benzer şekilde RS olarak adlandırabileceğim anlamına gelir.
Bir sonraki adım , LCD kitaplığını dahil etmek olacaktır. Energia IDE'yi kurduğunuzda bu kitaplık otomatik olarak kurulurdu. Bu yüzden aşağıdaki satırı kullanarak ekleyin
#Dahil etmek
Bir sonraki adım, LCD'nin bağlı olduğu pinlerden bahsetmektir, çünkü daha önce #define kullanarak adlandırdığımız için artık LCD pinlerinin adlarından bahsedebiliriz. Aynı sıranın takip edildiğinden emin olun.
LiquidCrystal lcd (RS, EN, D4, D5, D6, D7);
Şimdi void setup () işlevine geçelim. Boyut ve yapı olarak değişen çok sayıda LCD ekran türü var, bizim kullandığımız 16 * 2'dir, bu yüzden programımızda belirtelim
lcd.begin (16, 2);
LCD'ye bir şey yazdırmak için programda iki şeyden bahsetmemiz gerekiyor. Biri lcd.setCursor () satırı kullanılarak bahsedilebilecek metnin konumu ve diğeri ise lcd.print () ile bahsedilebilecek yazdırılacak içeriktir. Bu satırda biz edilir 1 imleci ayarı st satır ve 1 st sütununda.
lcd.setCursor (0,0);
Benzer şekilde, biz de yapabiliriz
lcd.setCursor (0, 1); // imleci 1. sütun 2. satıra ayarlayın
Bir beyaz tahtayı üzerine yazdıktan sonra silmek gibi, üzerine bir şey yazıldıktan sonra bir LCD de silinmelidir. Bu, aşağıdaki satırı kullanarak yapılabilir
lcd.clear ();
Yani tam void setup () işlevi şuna benzer.
geçersiz kurulum () {lcd.begin (16, 2); // 16 * 2 LCD ekran kullanıyoruz lcd.setCursor (0,0); // İmleci 1. satırın 1. sütuna getirin lcd.print ("MSP430G2553"); // Bir giriş mesajı görüntüle lcd.setCursor (0, 1); // imleci 1. sütun 2. satıra ayarlayın lcd.print ("- CircuitDigest"); // Giriş mesajı gecikmesi göster (2000); // Ekranın bilgi göstermesini bekleyin lcd.clear (); // Sonra temizleyin}
Daha sonra, void loop () fonksiyonumuzun içinde, her 500 ms için bir sayı artırmaya devam edelim ve LCD'de numarayı görüntüleyelim. Bu sayı test edilir ve aşağıda gösterildiği gibi 1 olarak başlatılır.
int test = 1;
İçin bir gecikme oluşturmak biz dahili işlevini kullanabilirsiniz gecikme (). Gecikmenin gerçekleşmesi için ne kadar zamana ihtiyacımız olduğunu belirtmek zorundayız. Bizim durumumuzda, aşağıda gösterildiği gibi 500ms kullandım
gecikme (500);
Bir değişkeni artırmak test ++ ile yapılabilir, geri kalanı zaten açıklanmıştır. Tam kod içindeki boşluk döngü aşağıda gösterilmiştir
geçersiz döngü () {lcd.print ("MSP'li LCD"); // Bir giriş mesajı görüntüle lcd.setCursor (0, 1); // imleci sütun 0, satır 1'e ayarlayın lcd.print (test); // Giriş mesajı gecikmesini göster (500); lcd.clear (); // Sonra temizle test ++; }
MSP430G2 ile 16x2 LCD:
Donanımınız ve kodunuz hazır olduğunda, panonuzu bilgisayara bağlayın ve ilk öğreticide yaptığımız gibi kodu yükleyin. Kod yüklendikten sonra, aşağıdakileri gösteren ekranı görmelisiniz.
İki saniye sonra, görüntü ekranı kurulumdan döngüye geçecek ve değişkeni artırmaya başlayacak ve aşağıdaki resimde gösterildiği gibi ekranda görüntülenecektir.
Tüm çalışma videoda bulunabilir aşağıda. Devam edin ve LCD'de görüntülenenleri değiştirmeyi deneyin ve onunla oynayın. Umarım öğreticiyi anladınız ve bundan yararlı bir şeyler öğrendiniz. Herhangi bir şüpheniz varsa aşağıdaki yorum bölümüne bırakın veya forumları kullanın. Başka bir öğreticide buluşalım.