LCD 1602'yi Arduino'ya Bağlama: açıklama, işlevler, talimatlar, özellikler, sorunlar ve çözümler

İçindekiler:

LCD 1602'yi Arduino'ya Bağlama: açıklama, işlevler, talimatlar, özellikler, sorunlar ve çözümler
LCD 1602'yi Arduino'ya Bağlama: açıklama, işlevler, talimatlar, özellikler, sorunlar ve çözümler
Anonim

Her radyo amatörü, basit bir kendin yap çalışmasından sonra, sensörler ve düğmeler kullanarak büyük bir şey inşa etme hedefine ulaşır. Sonuçta, verileri ekranda görüntülemek, bağlantı noktası monitöründen çok daha ilginç. Ama sonra soru ortaya çıkıyor: hangi ekranı seçmeli? Ve genel olarak, nasıl bağlanır, bağlanmak için ne gerekir? Bu soruların cevapları bu yazıda tartışılacak.

Arduino'ya bağlantı için LCD 1602 ekran
Arduino'ya bağlantı için LCD 1602 ekran

LCD 1602

Ekranlar arasındaki birçok seçenek arasında, HD4478 kontrol cihazına dayalı LCD1602 ekranı öne çıkarmak istiyorum. Bu gösterim iki renktedir: mavi zemin üzerine beyaz harfler, sarı zemin üzerine siyah harfler. LCD 1602'yi Arduino'ya bağlamak da yerleşik bir kütüphane olduğundan ve ekstra bir şey indirmenize gerek olmadığı için herhangi bir soruna neden olmaz. Ekranlar sadece fiyat açısından değil, aynı zamanda boyut olarak da farklılık gösterir. Genellikle radyo amatörleri 16 kullanırx 2, yani 2 satır 16 karakter. Ancak 20 karakterlik 4 satırın bulunduğu 20 x 4 de vardır. LCD 1602 ekranın Arduno'ya bağlanmasında boyutlar ve renk herhangi bir rol oynamaz, aynı şekilde bağlanırlar. Görüş açısı 35 derece, ekran tepki süresi 250 ms'dir. -20 ila 70 santigrat derece arasındaki sıcaklıklarda çalışabilir. Çalışırken ekran için 4 mA ve arka ışık için 120 mA kullanır.

LCD 1602 ekran pin çıkışı
LCD 1602 ekran pin çıkışı

Nerede kullanılır?

Bu ekranın popülaritesi yalnızca radyo amatörleri arasında değil, aynı zamanda büyük üreticiler arasında da var. Örneğin yazıcılar, kahve makineleri de LCD1602 kullanır. Bu, düşük fiyatı nedeniyle, Çin sitelerinde bu ekranın maliyeti 200-300 ruble. Mağazalarımızda bu teşhirin marjları çok yüksek olduğu için oradan satın almaya değer.

Arduino'ya bağlanın

LCD 1602'yi Arduino Nano ve Uno'ya bağlamak da farklı değil. Ekranla iki modda çalışabilirsiniz: 4 bit ve 8. 8 bitlik bir ekranla çalışırken, hem düşük hem de yüksek bitler kullanılır ve 4 bit ile yalnızca daha düşük bitler kullanılır. 8-bit ile çalışmanın özel bir anlamı yoktur, çünkü bağlanmak için 4 kontak daha ekleneceğinden, bu tavsiye edilmez, çünkü hız daha yüksek olmayacaktır, ekran güncelleme limiti saniyede 10 defadır. Genel olarak, lcd 1602'yi Arduino'ya bağlamak için çok sayıda kablo kullanılır, bu da bazı rahatsızlıklara neden olur, ancak özel kalkanlar vardır, ancak daha sonraları. Fotoğraf, ekranın Arduino Uno'ya bağlantısını gösterir:

Ekranı arduinoya bağlama
Ekranı arduinoya bağlama

Kod örneği:


dahil et //Gerekli LiquidCrystal lcd(7, 6, 5, 4, 3, 2) kitaplığını ekleyin; // (RS, E, DB4, DB5, DB6, DB7) void setup(){ lcd.begin(16, 2); // Ekran boyutunu ayarla lcd.setCursor(0, 0); // İmleci 1. satırın başına getirin lcd.print("Merhaba dünya!"); // Metin lcd'yi göster setCursor(0, 1); // İmleci 2. satırın başına getirin lcd.print("fb.ru"); // Çıktı metni } void loop(){ }

Kod ne işe yarar? Her şeyden önce, ekranla çalışmak için kitaplık bağlanır. Yukarıda bahsedildiği gibi, bu kütüphane zaten Arduino IDE'ye dahil edilmiştir ve ayrıca indirip kurmanıza gerek yoktur. Daha sonra pinlere bağlı olan kontaklar tanımlanır: sırasıyla RS, E, DB4, DB5, DB6, DB7. Ardından ekran boyutu ayarlanır. 16 karakter ve 2 satırlık bir versiyon ile çalıştığımız için bu tür değerleri yazıyoruz. İmleci ilk satırın başına getirip ilk metnimiz Hello World'ü görüntülüyoruz. Ardından, imleci ikinci satıra getirin ve sitenin adını görüntüleyin. Bu kadar! LCD 1602'yi Arduino Uno'ya bağlamak düşünüldü.

I2C nedir ve neden gereklidir?

Yukarıda bahsedildiği gibi, ekranı bağlamak çok fazla pin gerektirir. Örneğin, birden fazla sensör ve bir LCD ekran ile çalışırken 1602 kontaklar yeterli olmayabilir. Çoğu zaman, radyo amatörleri, çok fazla kişinin olmadığı Uno veya Nano sürümlerini kullanır. Sonra insanlar özel kalkanlarla geldi. Örneğin, I2C. Ekranı sadece 4 pin ile bağlamanızı sağlar. Bu iki kat daha az. I2C modülü, hem kendiniz lehimlemeniz gereken hem de zaten lehimlenmiş olan ayrı ayrı satılır. LCD ekran 1602.

LCD ekran 1602 için I2C modülü
LCD ekran 1602 için I2C modülü

I2C modülü ile bağlantı

LCD 1602'yi Arduino Nano'ya I2C ile bağlamak çok az yer kaplar, sadece 4 pin: toprak, güç ve 2 veri çıkışı. Arduino üzerinde sırasıyla 5V ve GND'ye güç ve toprak bağlantısı yapıyoruz. Kalan iki kontak: SCL ve SDA herhangi bir analog pime bağlanır. Fotoğrafta, lcd 1602'yi I2C modülü ile arduino'ya bağlamanın bir örneğini görebilirsiniz:

I2C modülünü kullanarak bağlantıları görüntüleyin
I2C modülünü kullanarak bağlantıları görüntüleyin

Program kodu

Modülsüz bir ekranla çalışmak için yalnızca bir kitaplık kullanılması gerekiyorsa, bir modülle çalışmak için iki kitaplık gerekir. Bunlardan biri zaten Arduino IDE - Wire'da. Başka bir kitaplık olan LiquidCrystal I2C'nin ayrıca indirilmesi ve kurulması gerekir. Kütüphaneyi Arduino'ya kurmak için indirilen arşivin içeriği Kütüphaneler kök klasörüne yüklenmelidir. I2C: kullanan kod örneği


include LiquidCrystal_I2C lcd(0x27, 16, 2); // Display void kurulumunu ayarla() { lcd.init(); lcd.backlight();// Ekran arka ışığını aç lcd.print("FB.ru"); lcd.setCursor(8, 1); lcd.print("LCD 1602"); } void loop() { // İmleci ikinci satıra ve boş karaktere ayarlayın. lcd.setCursor(0, 1); // Arduino'nun başlamasından bu yana geçen saniye sayısını yazdırın lcd.print(millis()/1000); }

Gördüğünüz gibi kod neredeyse aynı.

Kendi sembolümü nasıl eklerim?

Bu ekranlarla ilgili sorun şu ki,Kiril ve semboller için destek. Örneğin, yansıtabilmesi için ekrana bir karakter yüklemeniz gerekir. Bunu yapmak için, ekran en fazla 7 karakterinizi oluşturmanıza izin verir. Tabloyu sunun:

0 0 0 1 0
0 0 0 0 1
1 1 0 0 1
0 0 0 0 1
1 1 0 0 1
0 0 0 0 1
0 0 0 1 0
0 0 0 0 0

Eğer 0 - orada hiçbir şey yok, eğer 1 - gölgeli bir alandır. Yukarıdaki örnekte "gülen surat" karakterinin yaratılışını görebilirsiniz. Arduino'da örnek bir program kullanarak şöyle görünür:


include include // Gerekli kitaplığı dahil et // Gülümseme sembolü bit maskesi bayt gülümseme[8]={ B00010, B00001, B11001, B00001, B11001, B00001, B00010, }; LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup(){ lcd.begin(16, 2); // Ekran boyutunu ayarla lcd.createChar(1, gülümse); // 1 numaralı karakter oluştur lcd.setCursor(0, 0); // İmleci 1. satırın başına getirin lcd.print("\1"); // Gülen yüzü göster (karakter numarası 1) - "\1" } void loop(){ }

Gördüğünüz gibi oluşturuldubit maskesi tablo ile aynıdır. Oluşturulduktan sonra, ekrana bir değişken olarak çıkarılabilir. Hafızada sadece 7 karakterin saklanabileceğini unutmayın. Prensip olarak, bu yeterlidir. Örneğin, derece sembolünü göstermek istiyorsanız.

LCD 1602'ye özel karakterler ekleme
LCD 1602'ye özel karakterler ekleme

Görüntünün çalışmayabileceği sorunlar

Ekranın çalışmadığı zamanlar vardır. Örneğin, açılır, ancak karakterleri göstermez. Veya hiç açılmıyor. İlk önce, kişileri doğru şekilde bağlayıp bağlamadığınıza bakın. LCD 1202'yi Arduino'ya I2C olmadan bağladıysanız, kabloların dolaşması çok kolaydır ve bu da ekranın yanlış çalışmasına neden olabilir. Ayrıca, minimum kontrastta LCD 1602'nin açık olup olmadığı bile görülemeyeceğinden, ekran kontrastının artırıldığından da emin olmalısınız. Bu işe yaramazsa, sorun kontakların lehimlenmesinde olabilir, bu I2C modülünü kullanırken olur. Ayrıca, ekranın çalışmamasının yaygın bir nedeni, I2C adresinin yanlış ayarlanmasıdır. Gerçek şu ki birçok üretici var ve farklı bir adres belirleyebiliyorlar, burada düzeltmeniz gerekiyor:


LiquidCrystal_I2C lcd (0x27, 16, 2);

Parantez içinde iki değer görebilirsiniz, 0x27 ve 16, 2 (16, 2 görüntü boyutudur ve 0x27 yalnızca I2C adresidir). Bu değerler yerine 0x37 veya 0x3F koymayı deneyebilirsiniz. Bir başka sebep de LCD 1602'nin hatalı olmasıdır. Arduino için neredeyse her şeyin Çin'de yapıldığını düşünürsek, satın alınan ürünün %100 emin olamazsınız.ürün kusurlu değil.

LCD 1602 artıları ve eksileri

LCD 1602'nin artılarına ve eksilerine bakalım.

Pros

  • Fiyat. Bu modül Çin mağazalarında çok uygun fiyata satın alınabilir. Fiyat 200-300 ruble. Bazen bir I2C modülüyle bile satılır.
  • Bağlanması kolay. Muhtemelen bugünlerde kimse bir LCD 1602'yi I2C'siz bağlamıyor. Ve bu modül ile bağlantı sadece 4 pin alır, kablo "ağları" olmaz.
  • Programlama. Hazır kütüphaneler sayesinde bu modül ile çalışmak kolaydır, tüm fonksiyonlar zaten kayıtlıdır. Ve eğer karakterini eklemen gerekiyorsa, sadece birkaç dakika sürer.

Eksileri

Binlerce radyo amatörü tarafından kullanım süresi boyunca, hiçbir büyük eksi tespit edilmedi, sadece Çin ekran seçenekleri kullanıldığı için sadece evlilik satın alma vakaları var

Bu makale, LCD 1602 ekranın Arduino'ya nasıl bağlanacağını tartıştı ve ayrıca bu ekranla çalışmak için örnek programlar sundu. Gerçekten de kendi kategorisinde en iyilerden biri, sadece binlerce radyo amatörünün projeleri için seçmesi değil!

Önerilen: