Robótica Livre
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Ir para baixo
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5039
Data de inscrição : 11/02/2019
Idade : 52
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

Criando um Caractere Empty Criando um Caractere

Sáb Out 05, 2019 5:13 pm
Aprendemos também como criar um caractere no display. Para isso precisamos saber as seguintes caracterísiticas:

1 - Cada caractere do display é formado por uma matriz de 5 x 8 pontos, e com esses pontos que os símbolos são formados.
2 - Não é possível nesse modelo criar caracteres com mais pontos de resolução que esse acima informado
3 - Existem displays de maior resolução que vamos aprender quando estiverem no nível práticos.
4 - O display usado possui 16 colunas e 2 linhas 16x2, existem outros formatos como 8x1, 20x4 entre outros menos comuns.

Vamos ao desenho personalizado:
Código:

//DEFINICOES INICIAIS
#include <LiquidCrystal.h> //Carrega a biblioteca com as funções do display

//DECLARAcAO DE VARIAVEIS GLOBAIS
LiquidCrystal lcd(7,6,5,4,3,2);//Setup conforme as ligações RS-EN-D4-D5-D6-D7
unsigned char pa[8]={ //aqui começa o desenho do caractere customizado, pode ser criado quantos quiser. Essa é uma variável tipo matriz que vamos aprender no capítulo 4
  0b00001111,  //como o caractere tem 5 pontos por linha os 3 primeiros bits são ignorados
  0b00001001,  //como o caractere possui 8 linhas serão criados 8 bytes, cada um representando uma linha
  0b00001111,  //quando colocar 0 o ponto fica apagado e quando colocar 1 o ponto fica visivel
  0b00001000,
  0b00001000,
  0b00111111,
  0b00010001,
  0b00001111,
};  //fim da matriz

//INICIALIZAÇÃO DO HARDWARE
void setup() {
lcd.begin(16, 2); //Inicializa o display configurado como 16 colunas e 2 linhas
lcd.createChar(1, pa); //Aqui cria o caractere, coloca um numero para ele e associa a variável matriz, como a variável criada tinha nome pa, então ficou assim

}
void loop(){
lcd.clear(); //apaga o display e posiciona o cursor na posição 0,0
lcd.setCursor(7,0); //posiciona o cursor na coluna 8 da linha 1
lcd.write(1);  //imprime o caractere criado nessa posição
delay(1000);
}
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos