ESEN, müşterilerin uygulamaları için çok çeşitli standart karakterli LCD modülleri sunar.
Piyasadaki yaygın karakter LCD modülleri, LCM kalınlığının artmasına yol açan, I2C arayüzünü desteklemek için transfer kartı ekleyecek.daha fazla işlem üretimi ve daha düşük verim oranı.
| Şekil 1:I2C'yi desteklemek için transfer kartı ekleyen piyasadaki en yaygın karakter LCD modülü. | Şekil 2: 1602 character liquid crystal module of ESEN. It supports I2C and SPI interfaces and does not require an additional transmission board. I2C ve SPI arayüzlerini destekler ve ek bir iletim kartı gerektirmez. |
Sadece Arduino Uno geliştirme tahtasını bağlayın ve farklı iletişim arayüzlerini kullanarak karakter LCD modülünü doğrudan kontrol edebilirsiniz.
LCM'nin pinini tanımla
Tablo 1:LCM pin tanımlar
| Pin No. | Simge | Açıklama |
|---|---|---|
| - Hayır, hayır.1 | Vss | Toprak |
| - Hayır, hayır.2 | Vdd | Mantık için güç kaynağı |
| - Hayır, hayır.3 | V0 | Kontrast Düzenleme |
| - Hayır, hayır.4 | RS | Komut/veri seçimi |
| - Hayır, hayır.5 | RW | Read/Write select signal for interface 6800 Sadece 8/4bit |
| - Hayır, hayır.6 | E | Enable signal for interface 6800 sadece 8/4bit |
| - Hayır, hayır.7 | DB0/SA0 | 6800 için veri otobüsü line 0 8bit interface only SA0 address setting line for I2C interface (İ2C arayüzü için SA0 adres ayar hattı) |
| - Hayır, hayır.8 | DB1/SA1 | Veritabanı hattı 1 for 6800 8bit interface only SA1 address setting line for I2C interface (İ2C arayüzü için SA1 adres ayar çizgisi) |
| - Hayır, hayır.9 | DB2 | 6800 8bit arayüzü için veri otobüsü line 2 |
| - Hayır, hayır.10 | DB3 | 6800 8bit interface için veri otobüsü line 3 |
| - Hayır, hayır.11 | DB4 | 6800 için veri otobüsü line 4 8/4bit interface only |
| - Hayır, hayır.12 | DB5/CSB/CSB | 6800 için veri otobüsü line 5 8/4bit interface only CSB enable selection lines for I2C & SPI interface (I2C ve SPI arayüzleri için seçim hatlarını etkinleştir) |
| - Hayır, hayır.13 | DB6/SDA/SCLK | 6800 için veri otobüsü line 6 8/4bit interface only I2C arayüzü için SDA veri hattı SCLK timing for SP Interface |
| - Hayır, hayır.14 | DB7/SCL/SID | 6800 8/4bit interface için veri otobüsü line 7 SCL timing line for I2C interface SPI arayüzü için SID veri hattı |
| - Hayır, hayır.15 | A+ | B/L + için güç kaynağı |
| - Hayır, hayır.16 | K- | B/L için güç kaynağı - |
Yukarıdaki tablodaki V0 ile ilgili olarak, karakterlerin kontrastını ayarlamak için 20k Ohm değişken bir direnç kullanılır.Lütfen bu değişken direnci kontrastı ayarlamak için çevirin..
The connection method of V0 variable resistor as shown in Figure 3: V0 değişken direncin bağlantı yöntemi:
| Şekil 3:V0 değişken direnç bağlantı yöntemi |
How to connect LCM and development board Arduino Bir
The connection methods of four LCM communication interfaces (I2C, SPI, 6800 8bit/4bit) to Arduino Uno as shown in Figure 4.The users can observe that the I2C and SPI interfaces only need a small number of GPIO pins to control the Character LCD modules. Kullanıcılar, I2C ve SPI arabirimlerinin sadece küçük sayıda GPIO pinine ihtiyaç duyduğunu görebilirler..
I2C arayüzü için, Arduino Uno I2C pinlerinin içindeki çekme dirençlerini sağladığından, SDA ve SCL pinlerine bağlı ek çekme dirençleri yoktur.If the internal pull-up resistor is disabled in the program Eğer iç çekme direnişi programda engellenmişse, bir dış çekme direnci bağlanmalıdır.
| (a)I2C arayüz bağlantısı | (b)SPI arayüz bağlantısı |
| (c)6800-4bit arayüz bağlantısı | (d)6800-8bit arayüz bağlantısı |
| Şekil 4:Arduino Uno'ya 4 LCM iletişim arayüzünün bağlantı yöntemleri. | |
LCM Commands
Not every communication interface can use the full command set of LCM; with SPI interface, there is no RW control line and MISO pins, therefore, the read command is not supported.through RS control line to determine whether to write command data or display data İpuçları yazmak veya görüntülemek için.
I2C arayüzünde, RW kontrol hattı da yok, bu yüzden okuma komutları için de destek yok.the command control code (A0=0) or data control code (A0=1) has to be sent to determine whether the next byte to be sent is command data or display data (A0=0) the command control code (A0=0) or data control code (A0=1) has to be sent to determine whether the next byte to be sent is command data or display data (A0=0) or data control code (A0=1) has to be sent to determine whether the next byte to be sent is command data or display data.
SPI ve I2C Arayüz Zamanlaması
Two timing diagrams are shown in Figure 5 and Figure 6. It is the timing diagram of controlling the LCM through the SPI interface. İki zamanlama diyagramı, Şekil 5 ve Şekil 6'da gösterilmiştir.Kullanıcılar, LCM'nin tipik bir MCU tarafından sağlanan tipik SPI arayüzü olmayan bir SPI kullandığını görebilirler., it requires an additional RS signal line to determine whether the current byte being sent is a command? or data? gönderilen mevcut baytın bir komut veya veri olup olmadığını belirlemek için.Veri hattının (SID) bit verisi (BIT7~BIT0) saat hattı (SCLK) düşük seviyede olduğunda değişir. The bit (BIT7~BIT0) data is captured when the clock line (SCLK) is high level (BIT7~BIT0).
| Şekil 5:SPI yazma komutunun zamanlaması |
| Şekil 6:SPI yazma verisinin zamanlaması |
Şekil 7 ve 8 LCM'yi I2C arayüzü üzerinden kontrol etmenin zamanlama şemasını gösterir.readers can observe that the I2C interface control is to send three bytes each time to write a command data or display data (Okuyucular I2C arayüz kontrolünün her seferinde üç bayt gönderdiğini görebilir). Bunlardan biri, ikinci baytın A0 bit'i, üçüncü baytın komut verisi veya görüntü verisi olup olmadığını belirleyecektir.
| Şekil 7:I2C Timing of writing commands (Yazma komutlarının zamanlaması) |
| Şekil 8:I2C Timing of writing data yazma verisi |
Kod
The LCM can be compiled and used directly by modifying the program settings. LCM program ayarlarını değiştirerek doğrudan derlenebilir ve kullanılabilir.
Step1: set the maximum number of characters in a single line of LCM. LCM'nin tek bir satırındaki en fazla karakteri belirle.
Örneğin, the following sets a single line to have a maximum of 16 characters. Örneğin, the following sets a single line to have a maximum of 16 characters.
![]()
Step2: set the maximum number of lines in the LCM. LCM'deki en fazla satır sayısını belirle.
Örneğin, the following sets the LCM to have 2 lines. Örneğin, the following sets the LCM to have 2 lines.
![]()
Adım 3: LCM arayüzünü ayarlayın.
Örneğin, aşağıdaki I2C arayüzü seti.
![]()
Step4: programı Arduino Uno geliştirme tahtasına derleyip yükleyin.
Şekil 9, üç LCM'nin ekranlarının şematik diagramını gösterir.
When the display contrast is light or dark, the variable resistor at the V0 pin can be adjusted to an appropriate contrast, as shown in Figure 10. Gösteriş 10'da gösterildiği gibi, ekran kontrastı açık veya karanlık olduğunda, V0 pinindeki değişken direnç uygun bir kontrasta ayarlanabilir.
| (a) Light contrast Only light characters can be seen. (a) Sadece hafif karakterler görülebilir. | (b) Uygun kontrast | (c) Dark contrast Her karakterin açık bir gölgesi vardır. |
|---|---|---|
| Şekil 9:a schematic diagram of the screens of three LCMs (Üç LCM'nin ekranlarının şema şekli) | ||
![]()
Şekil 10:V0 pin ayarlanabilir
Eğer tam demo kod talebiniz varsa, lütfen bizimle iletişime geçin.
İlgili kişi: Mr. james
Tel: 13924613564
Faks: 86-0755-3693-4482