Caracteres especiais no LCD
Nesse tutorial, vamos demonstrar como criar caracteres especiais para aplicação em projetos com microcontroladores.
Os conceitos aplicados podem ser adotados em qualquer modelo de placa que o usuário tiver mais afinidade em usar, levando sempre, em consideração as diferenças e particularidades entre elas.
No caso estarei demonstrando com o módulo Node MCU.
A aplicação de caracteres especiais podem ser necessários em aplicações onde, muitas vezes precisa-se inserir na tela do LCD uma aplicação exclusiva.
No tutorial também estarei usando um módulo I2C para display. Esse módulo tem a praticidade de utilizar somente 4 fios de ligação, 2 para alimentação e 2 para dados.
Componentes
Módulo NodeMCU
Módulo I2C
Display LCD 16x2
Fonte de protoboard 5 Vcc/ 3.3 Vcc
Protoboard e cabos jumpers
Para melhor entendimento do funcionamento do display LCD deve-se ter o conhecimento de que o display é dividido da seguinte maneira: quando em sua especificação denomina-se 16x2 quer dizer que a tela está dividida em 16 colunas e 2 linhas.
fonte: blog baú da eletrônica
Em cada divisão das colunas com as linhas existem segmentos que numa visão ampliada divide-se em outro segmentos de 5 colunas e 8 linhas.
fonte: próprio autor
Para formar a figura que atenda a necessidade do programador, o caractere pode ser feito na divisão dos segmentos ou em vários segmentos e serem agrupados no display.
O programa (LCDv1.0) pode auxiliar na organização dos seguimentos para formar caracteres mais complexos.
fonte: próprio autor
O programa facilita, cabendo ao usuário inserir os bits conforme os caracteres necessários.
Código fonte
O código exibido abaixo é um exemplo utilizado, que pode ser visto melhor no vídeo, ao final desse tutorial.
//Caracteres Display LCD 16 x 2
//Autor: Tony Emerson Marim
//===http://www.mecatronizando.com.br===
#include <Wire.h> //INCLUSÃO DE BIBLIOTECA
#include <LiquidCrystal_I2C.h> //INCLUSÃO DE BIBLIOTECA
LiquidCrystal_I2C lcd(0x3F, 16, 2); //FUNÇÃO DO TIPO "LiquidCrystal_I2C"
// copiar para aqui o codigo fornecido pela aplicação de criar caracteres
// caracter 1
byte punho[8] = {
B00000,
B00000,
B11111,
B11111,
B11111,
B11111,
B11111,
B00000
};
// caracter 2
byte mao[8] = {
B10000,
B11000,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111
};
// caractere 3
byte youtube[8] = {
B11111,
B11111,
B01111,
B00111,
B00111,
B01111,
B11111,
B11111
};
byte youtube2[8] = {
B11111,
B11110,
B11110,
B11110,
B11110,
B11110,
B11110,
B11111
};
void setup()
{
lcd.init(); // INICIALIZA O DISPLAY LCD
lcd.backlight(); // HABILITA O BACKLIGHT (LUZ DE FUNDO)
lcd.createChar(1, punho);
lcd.createChar(2, mao);
lcd.createChar(3, youtube);
lcd.createChar(4, youtube2);
lcd.begin(16, 2); //inicializa o LCD 16x2
lcd.setCursor(0, 0); //aponta para coluna 0, linha 2
lcd.write(1); //escreve o caracter
lcd.setCursor(1, 0); //aponta para coluna 0, linha 2
lcd.write(2); //escreve o caracter
lcd.setCursor(2, 0);
lcd.print(" ****CURTA****");
lcd.setCursor(1, 1); //aponta para coluna 0, linha 2
lcd.write(3); //escreve o caracter
lcd.setCursor(0, 1); //aponta para coluna 0, linha 2
lcd.write(4); //escreve o caracter
lcd.setCursor(2,1);
lcd.print(" -INSCREVA-SE- ");
}
void loop()
{
}
fonte: próprio autor
Para elaborar os mais diferentes caracteres que atenda a função do usuário é só deixar a imaginação fluir.
Gostou? Curta e Compartilhe a FanPage!
Assine o canal!
Adquira seus componentes!
Caso seja necessário, os arquivos apresentados podem ser baixados por esse LINK!
Bons estudos!