kategoriler: Mikrodenetleyici devreleri
Görüntülenme sayısı: 24878
Makaleye Yorumlar: 0
Arduino için ekranlar nedir ve nasıl bağlanır
Mikrodenetleyiciler herhangi bir otomasyon ve izleme sistemi yapmanıza izin verir. Ancak teknoloji ve insan etkileşimi için, hem giriş cihazlarına - çeşitli düğmeler, kollar, potansiyometreler ve çıkış cihazları - ışık göstergeleri (ampuller), çeşitli ses sinyalleme cihazları (tweeter'lar) ve son olarak ekranlara ihtiyacımız var. Bu yazıda, Arduino için karakter ekranlarına, nasıl bağlanacağına ve çalıştıracağına bakacağız.

Ekran türleri
Ekranlar aşağıdakilere ayrılabilir:
-
Segment (dijital bir saat gibi);
-
alfanümerik;
-
Grafik.
Segmentler, basit miktarları belirtmek için kullanılır, örneğin: sıcaklık, zaman, devir sayısı. Bunlar, bugüne kadar hesap makinelerinde ve bütçe ev aletlerinde kullanılmaktadır. Bilgiler, belirli karakterler vurgulanarak görüntülenir.
Hem sıvı kristal hem de LED olabilirler. Alfanümerik ekranlar eski ev aletlerinde, oyuncaklarda, endüstriyel ekipmanlarda ve daha fazlasında bulunabilir. Bunlara ayrıca işaret sentezleme, metinsel, sembolik denir. Bir dizi büyük pikselden oluşur. LCD, TFT ve OLED teknolojisinde gerçekleştirilebilir.
Grafik ekranlar bir monitör veya bir akıllı telefon ekranı bile içerebilir, bence özel bir açıklama gerekli değildir. Makale özellikle işaret sentezleme veya sembolik ekranlar ve Arduino'nun işbirliğine odaklanacak.
İşaret Sentezleme Ekranları
Bu tür ekranlar aynı anda geometrik boyutlarla sınırlı sayıda karakter görüntüleyebilir. Bu desene göre işaretlenirler:
-
1602;
-
2002.
İlk iki basamak satırdaki karakter sayısı ve ikinci çift satır sayısıdır. Böylece, 1602 adı verilen bir ekran bir seferde 16 karakterlik 2 satır görüntüleyebilir.
Ekranlar veri girişi türüyle ayırt edilir:
-
Paralel veri girişi ile;
-
I2C protokolü üzerinden veri girişi ile.
Paralel veri girişi, sırasıyla 10 veya 6 pim üzerinde 8 veya 4 bitlik kelimelerin aktarılmasını içerir (Şekil Aşağıda - 4 biti kontrol etmek için bağlantı şeması). Verilere ek olarak, ekrana güç verilir. Tasarlarken bunu göz önünde bulundurun, aksi takdirde yeterli piminiz olmayabilir Arduino panoları.

I2C kullanarak ekrana veri aktarımı, Arduino'nuzun 2'si güç ve 2'si veri olmak üzere 4 pimini alacaktır. Ancak bu soruyu aşağıda daha ayrıntılı olarak ele alalım.
Yerli üreticiler arasında şirketi MELT ayırt edebilir. Bir dizi farklı ekrana sahip ürünler arasında. Örneğin, aşağıda bir öncekine benzer şekilde 20S4 etiketli bir ekran var, bize 20 karakterlik 4 satır görüntülediğini söylüyor.

HITACHI'den HD44780 ve SAMSUNG'dan KS0066'ya benzer JSC ANGSTREM'den KB1013VG6 kontrolörü üzerine inşa edilmiştir. Üzerinde Çin ekranlarının büyük çoğunluğu inşa edildi. Bu arada, bu çiplerdeki ekranlar gibi standart paralel kontrol Arduino IDE kütüphanesini destekliyor, ancak daha sonra.

İşaret sentezleme ekranları arka aydınlatma ile birlikte veya arkadan aydınlatma olmadan gelir ve görüntülenen karakterlerin renginde de farklılık gösterebilir. Arka ışık parlaklığı ve görüntü kontrastı genellikle ayarlanabilir. Aşağıda, bir veri sayfasından yukarıda belirtilen MELT'e ait bir şema örneği verilmiştir.

Değişken direnç R ve parlaklığı ayarlamaya yarar.
bağlantı
Bağlantıyı 1602 tipi bir ekranda ele alacağız. Her şeyden önce, sonuçların imzasına dikkat edin. Numaralandırma olmak üzere iki seçenek vardır. Aşağıdaki iki şekilde, her şey yolunda - çıktının 1 ila 16'sı.


VSS'nin arazi olarak anlaşıldığına dikkat edin. Aksi takdirde, pin atamaları aynıdır. Ancak genellikle standart olmayan numaralandırma bulabilirsiniz:

Ne görüyorsun? Kişiler yalnızca 1, 14 ve 15. imzalanır. Ayrıca yanlış sırada. Aksi takdirde, 15. ve 16. temaslar arka ışığın anotu ve katodu olarak kaldı ve 1 ve 2 ortak temas ve artı güçtür.Dikkatli olun ve bağlanırken bu gerçeğe dikkat edin!
Daha ayrıntılı analiz edelim.
-
1 - (Vss) toprak veya “-” güç.
-
2 - (Vcc) "+" güç. Çoğu zaman 5 volttur.
-
3 - karakterlerin kontrastını ayarlar. "+" Güç ile bu kontak arasına kurulmuş bir potansiyometre ile gerçekleştirilir. Voltaj ne kadar yüksek olursa, parlaklık ve güç tüketimi o kadar düşük olur.
-
4 - (RS) Adres sinyali. Bu girişte arduino'dan bir sinyal bulunmasıyla, ekran denetleyicisi komut sinyalinin (örneğin imleci hareket ettirme) veya veri satırında görüntülenecek karakter kodunu anlar.
-
5 - (E) verilere erişim izinleri. Mantıksal bir “1” olduğunda, ekran bir komut yürütür veya bir sembol görüntüler.
-
6-14 - Bu pimler aracılığıyla paralel veri girişi sağlanır.
-
15 - (BLA) arka ışık anotu. Böylece tam parlaklıkta yanar - burada + 5V sağlanır.
-
16 - (BLC) arka ışık katodu. Toprağa bağlayın.
Arduino'ya 4 bit modunda bağlanma örneklerinden biri yukarıda tartışıldı. Şimdi 8 bit kontrol modunda kablo şemasına bakın. Bu arada, değişken bir direnç fark edebilirsiniz. Daha önce de belirtildiği gibi, arka ışığın parlaklığını ayarlamak gerekir.

Bu şekilde girişlerin yarısını doldurmuş olursunuz Arduino UNO Kurulları. Tabii ki, MEGA kullanırsanız, bu çok önemli bir sorun olmayacaktır, ancak yine de rasyonel değildir, özellikle de bir grup sensör ve kontrol anahtarı bağlayacaksanız.
Girişleri boşaltmak için, LCD ekran için I2C dönüştürücüyü kullanın (buna denir ve bu adın altındaki mağazalarda bulabilirsiniz).

Uyarı:
Bu modülü ekrandan ayrı olarak satın alacaksanız, daha önce incelediğimiz terminallerin yerini ve numaralarını unutmayın.
Altta gösterilen tarak ekrana lehimlenir ve tahtanın ucundaki dört pim Arduino pimlerine bağlanır, ayrıca arka ışığı açan iki pim (arkada resimde) üçüncü bir grup vardır, modeller bir jumper takılı olarak gelir.
Böyle bir modülün şeması aşağıdaki gibidir:
Ve böylece doğrudan ekran pinlerine lehimlenmiş görünüyor. Çoğu model zaten lehimlenmiş olarak satılmaktadır.

Bununla birlikte, onu kullanmak için, ağdaki LiquidCrystal_I2C kütüphanesini bulmanız gerekecektir, yazma sırasında mevcut Arduino IDE'nin standart setinde değildir.
Pin numarasına göre, Arduino UNO kartlarının pinoutunu hatırlayın, temelde Nano ve diğerleriyle çakışır (büyütmek için resmin üzerine tıklayın).
I2C üzerinde çalışmak için 2 bilgi sinyali oluşturmanız gerekir - SDA ve SCL, şeklin sağ alt köşesine dikkat edin. Bu Arduino pinleri A4 ve A5 analog girişlerle birleştirilir.
Bu önemlidir:
Bunları başka sonuçlara atayamazsınız.
Sonra bağlantı şeması şöyle görünecektir:

Katılıyorum, çok daha az kablo var! Arduino'dan ekrana sadece 4 kablo vardır. Sinyal pimi sadece iki tane kullandı!
Ancak sadece bağlantı kurmak başarılı olmaz, cihazın adresini bilmeniz gerekir, çünkü bu adresin atlama telleri kullanılarak ayarlandığı başka bir kişi grubu vardır. Bu, ilgili kütüphanenin başlatma komutunda, daha fazlası aşağıda belirtilmiştir.

Program
Doğal olarak, görüntüyü karakter ekranında gösterebilen bir tür taslağa ihtiyacımız var. Doğrudan ekranla çalışmak istiyorsanız, her bir ürün için veri sayfalarını ve sembol tablolarını incelemeniz gerekir. Ancak Arduino, elektronik cihazların basit ve hızlı prototiplenmesi için oluşturuldu. Bu nedenle, başka yöne gideceğiz ve medeniyetin faydalarından yararlanacağız. Arduino IDE'deki standart kütüphane setinin LCD ekranlarla çalışmak için hazır bir çözüme sahip olduğunu söylemiştik. Burada bulabilirsiniz:

Bu arada, çizgiyi tıkladıktan sonra kütüphanenin bağlanmasıyla ilgili duyuru otomatik olarak görünür.

Ayrıca Arduino IDE'de ekranla çalışmak için birkaç örnek var. Temel işlemleri ve işlevleri yansıtırlar.

En basit "Merhaba Kelime" yi düşünün. Örnek tamamen standart IDE setindeki ile çakışıyor, ben sadece yorum metnini Rusça'ya çevirdim.Bunun 4 bit modunda çalışma örneği olduğunu lütfen unutmayın.

I2C ile çalışmak neredeyse aynı:

ÖNEMLİ:
Bu kod örneğinde, ilk komutun birkaç ekran boyutunu, satır ve karakter sayısını ve aynı zamanda I2C adresini gösterdiğini lütfen unutmayın. Yani - eksik jumper'lara karşılık gelen 0x27. Genel olarak, bu iki sinyal kablosuna birkaç ekran (8 adet) bağlamak için gereklidir.
Konuyla ilgili video eğitimlerinin bir seçimi
Ekranla çalışma becerisine hakim olmanız zor olmayacak şekilde, bu konuda bir dizi video dersi yaptık.
Sonuç
Arduino yönetim kurulu arkadaşlarını ve ekranını yapmak hiç de zor değil. I2C veri yolu üzerinden hem paralel veri aktarımı hem de seri yapma olanağına sahipsiniz, ne seçeceksiniz - hem kolaylık hem de bir bütün olarak sistemin hız gereksinimleri açısından karar veriyorsunuz. Yorumlara hangi soruları daha ayrıntılı olarak ele almanız gerektiğini ve mikrodenetleyiciler konusunda tam olarak ne görmek istediğinizi yazın!
Arduino ve çeşitli şemalarda kullanım özellikleri hakkında daha fazla bilgi için e-kitaba bakınız - Aptallar için Arduino. Resimli pratik rehber.
En son olarak Maxim Selivanov'un "Programlama Nextion Displays" adlı yeni bir kursu yayınlandı. Bu dokunmatik ekran dünya "arduino" dir. Ancak, bu konuda bilgi çok azdır.

Nextion Ekranlar nedir? Kısacası, bu ekranlar, ekranda çeşitli arabirimler oluşturmak için bir dokunmatik ekran ve UART ile programlanabilir ekranlardır. Programlama için, sadece birkaç akşamları çeşitli elektronikler için çok karmaşık arayüzler oluşturmanıza izin veren çok kullanışlı ve basit bir geliştirme ortamı kullanılır! Ve tüm komutlar UART arayüzü üzerinden mikro denetleyiciye veya bilgisayara iletilir.
Nextion ekranlarla çalışmaya yeni bir seviyede başlamak için her şey var: NEXTION
Ayrıca bkz. electro-tr.tomathouse.com
: