A ESEN oferece uma ampla gama de módulos LCD de caracteres padrão para aplicações dos clientes.
Os módulos LCD de caracteres comuns no mercado adicionarão uma placa de transferência para suportar a interface I2C, como mostra a figura 1, o que leva ao aumento da espessura do LCM,mais processos na fabricação e menor taxa de rendimento.
| Figura 1:O módulo LCD caracter comum no mercado que adiciona uma placa de transferência para suportar I2C. | Figura 2Modulo de cristal líquido de 1602 caracteres do ESEN. Suporta interfaces I2C e SPI e não requer uma placa de transmissão adicional. |
Você não precisa adicionar uma placa de relé. Basta conectar a placa de desenvolvimento Arduino Uno, e você pode controlar diretamente o módulo LCD de personagens usando diferentes interfaces de comunicação.
Identificar a definição do pin do LCM
Quadro 1:Definição do pin LCM
| Número do PIN. | Símbolo | Descrição |
|---|---|---|
| - Não, não.1 | Vss | Terra |
| - Não, não.2 | VDD | Fornecimento de energia para a lógica |
| - Não, não.3 | V0 | Ajuste de contraste |
| - Não, não.4 | RS | Seleção de comando/dados |
| - Não, não.5 | RW | Somente sinal de seleção de leitura/escrita para interface 6800 8/4 bits |
| - Não, não.6 | E | Ativar sinal para interface 6800 8/4bit apenas |
| - Não, não.7 | DB0/SA0 | Linha de autocarro de dados 0 apenas para a interface de 8 bits 6800 Linha de definição de endereço SA0 para a interface I2C |
| - Não, não.8 | DB1/SA1 | Linha de autocarro de dados 1 apenas para interface de 8 bits 6800 Linha de definição de endereço SA1 para interface I2C |
| - Não, não.9 | DB2 | Linha de autocarro de dados 2 apenas para interface de 8 bits 6800 |
| - Não, não.10 | DB3 | Linha de autocarro de dados 3 apenas para interface de 8 bits 6800 |
| - Não, não.11 | DB4 | Linha de autocarro de dados 4 apenas para a interface de 8/4 bits 6800 |
| - Não, não.12 | DB5/CSB/CSB | Linha de autocarro de dados 5 apenas para a interface de 8/4 bits 6800 CSB habilitar linhas de seleção para interface I2C & SPI |
| - Não, não.13 | DB6/SDA/SCLK | Linha de autocarro de dados 6 apenas para interface de 8/4 bits 6800 Linha de dados SDA para interface I2C Temporização SCLK para SP Interface |
| - Não, não.14 | DB7/SCL/SID | Linha de autocarro de dados 7 apenas para interface de 8/4 bits 6800 Linha de tempo SCL para interface I2C Linha de dados SID para interface SPI |
| - Não, não.15 | A+ | Fornecimento de energia para B/L + |
| - Não, não.16 | - O quê? | Fornecimento de energia para B/L |
Se o texto for invisível ou se continuar a exibir a imagem de fundo durante o ensaio, a resistência de contraste deve ser alterada.Por favor, vire esta resistência variável para ajustar o contraste.
O método de ligação da resistência variável V0 conforme mostrado na figura 3:
| Figura 3:Método de ligação da resistência variável V0 |
Como conectar LCM e placa de desenvolvimento Arduino Uno
Os métodos de ligação de quatro interfaces de comunicação LCM (I2C, SPI, 6800 8bit/4bit) ao Arduino Uno, conforme mostrado na figura 4.Os utilizadores podem observar que as interfaces I2C e SPI só precisam de um pequeno número de pinos GPIO para controlar os módulos LCD Character.
Para a interface I2C, uma vez que o Arduino Uno fornece as resistências pull-up dentro dos pinos I2C, não há resistores pull-up adicionais conectados aos pinos SDA e SCL.Se a resistência de puxa interna estiver desativada no programa, deve estar ligada uma resistência de arranque externa.
| (a)Conexão de interface I2C | (b)Conexão de interface SPI |
| (c)Conexão de interface de 6800-4 bits | (d)Conexão de interface de 6800-8 bits |
| Figura 4:Métodos de ligação de 4 interfaces de comunicação LCM ao Arduino Uno. | |
Comandos LCM
Nem todas as interfaces de comunicação podem usar o conjunto completo de comandos do LCM; com a interface SPI, não há linha de controle RW e pinos MISO, portanto, o comando de leitura não é suportado.através da linha de controlo RS para determinar se escrever dados de comando ou dados de exibição.
Na interface I2C, também não há linha de controle RW, por isso não há suporte para comandos de leitura também.O código de comando de controlo (A0=0) ou o código de controlo de dados (A0=1) devem ser enviados para determinar se o próximo byte a ser enviado são dados de comando ou dados de exibição.
Temporização das interfaces SPI e I2C
Dois diagramas de cronometragem são mostrados na Figura 5 e na Figura 6. É o diagrama de cronometragem do controle do LCM através da interface SPI.Os utilizadores podem observar que o LCM utiliza um SPI que não é a interface SPI típica fornecida por uma MCU típica, é necessária uma linha de sinal RS adicional para determinar se o byte atual que está sendo enviado é um comando ou dados?Os dados de bits (BIT7~BIT0) da linha de dados (SID) mudam quando a linha de relógio (SCLK) está em nível baixo. Os dados de bit (BIT7~BIT0) são capturados quando a linha do relógio (SCLK) está em alto nível (BIT7~BIT0).
| Figura 5:Temporização do comando de gravação SPI |
| Figura 6:Temporização dos dados de gravação SPI |
As figuras 7 e 8 mostram o diagrama de tempo de controlo do LCM através da interface I2C.Os leitores podem observar que o controle da interface I2C é enviar três bytes cada vez que escrever um comando de dados ou exibir dadosEntre eles, o bit A0 do segundo byte determinará se o terceiro byte é dados de comando ou dados de exibição.
| Figura 7:I2C Temporização dos comandos de gravação |
| Figura 8:I2C Tempo de gravação dos dados |
Código
O LCM pode ser compilado e usado diretamente modificando as configurações do programa.
Passo 1: definir o número máximo de caracteres numa única linha de LCM.
Por exemplo, o seguinte define uma única linha para ter um máximo de 16 caracteres.
![]()
Passo 2: definir o número máximo de linhas no LCM.
Por exemplo, o seguinte define o LCM para ter 2 linhas.
![]()
Passo 3: definir a interface LCM.
Por exemplo, os seguintes conjuntos de interface I2C.
![]()
Passo 4: compilar e carregar o programa para o quadro de desenvolvimento do Arduino Uno.
A figura 9 mostra um diagrama esquemático das telas de três LCM.
Quando o contraste do ecrã for claro ou escuro, a resistência variável no pin V0 pode ser ajustada a um contraste adequado, tal como mostrado na figura 10.
| (a) Contraste de luz Apenas caracteres claros podem ser vistos. | b) Contraste adequado | (c) Contraste escuro Cada personagem tem uma sombra óbvia. |
|---|---|---|
| Figura 9:um diagrama esquemático das telas de três LCM | ||
![]()
Figura 10:O pin V0 é ajustável
Se você tem demanda de código demo completo, por favor, entre em contato conosco.
Pessoa de Contato: Mr. james
Telefone: 13924613564
Fax: 86-0755-3693-4482