Vamos descobrir como conectar uma tela de cristal líquido de 84x48 pixels do Nokia 5110 ao Arduino.
Necessário
- - Arduino;
- - Display LCD para Nokia 5110/3310;
- - fios de conexão.
Instruções
Passo 1
Vamos conectar a tela LCD do Nokia 5110 ao Arduino de acordo com o diagrama abaixo.
Passo 2
Muitas bibliotecas foram escritas para funcionar com esta tela LCD. Sugiro usar este: https://www.rinkydinkelectronics.com/library.php?id=44 (baixe o arquivo LCD5110_Basic.zip).
Para instalar, descompacte o arquivo no diretório Arduino IDE / libraries /.
A biblioteca oferece suporte aos seguintes recursos.
LCD5110 (SCK, MOSI, DC, RST, CS); - anúncio da tela LCD indicando a correspondência com os pinos do Arduino;
InitLCD ([contraste]); - inicialização do display 5110 com indicação opcional de contraste (0-127), o default é 70;
setContrast (contraste); - define o contraste (0-127);
enableSleep (); - coloca a tela no modo de hibernação;
disableSleep (); - tira a tela do modo de hibernação;
clrScr (); - limpa a tela;
clrRow (linha, [início], [fim]); - limpar a linha do número da linha selecionada, do início ao fim da posição;
inverter (verdadeiro); e inverter (falso); - ligar e desligar a inversão do conteúdo da tela LCD;
imprimir (string, x, y); - exibe uma seqüência de caracteres com as coordenadas especificadas; em vez da coordenada x, você pode usar ESQUERDA, CENTRAL e DIREITA; a altura da fonte padrão é 8 pontos, portanto as linhas devem ser espaçadas em 8 pontos;
printNumI (num, x, y, [comprimento], [preenchimento]); - exibir um número inteiro na tela em uma determinada posição (x, y); comprimento - o comprimento desejado do número; filler - um caractere para preencher os "vazios" se o número for menor que o comprimento desejado; o padrão é um espaço vazio ";
printNumF (num, dec, x, y, [divisor], [comprimento], [preenchimento]); - exibir um número de ponto flutuante; dec - número de casas decimais; divisor - ponto decimal, ponto "." por padrão;
setFont (nome); - escolha uma fonte; as fontes internas são chamadas de SmallFont e TinyFont; você pode definir suas fontes no esboço;
invertText (true); e invertText (false); - liga / desliga a inversão de texto;
drawBitmap (x, y, dados, sx, sy); - exibir a imagem na tela nas coordenadas xey; data - um array contendo uma imagem; sx e sy são a largura e a altura da imagem.
etapa 3
Vamos escrever esse esboço. Primeiro, incluímos a biblioteca e, em seguida, declaramos uma instância da classe LCD5110 com atribuições de pinos.
No procedimento setup (), inicializamos a tela LCD.
No procedimento loop (), limpamos a tela e escrevemos o texto arbitrário em uma fonte pequena, abaixo dela, em uma fonte média, exibimos o contador de segundos.
Passo 4
Vamos mostrar uma foto. Para fazer isso, vamos preparar uma imagem monocromática que queremos exibir no Nokia 5110. Lembre-se de que a resolução da tela é de 48 por 84 pixels e a imagem não deve ser maior. Na página https://www.rinkydinkelectronics.com/t_imageconverter_mono.php, converta a imagem em um array de bits. Baixe o arquivo resultante com a extensão "*.c" e adicione-o ao projeto através do menu: Sketch -> Add File … ou simplesmente coloque o arquivo no diretório de sketch e recarregue o Arduino IDE.
Etapa 5
Agora você precisa declarar um array com dados de imagem no código do programa (no meu código esta é a linha extern uint8_t mysymb;) e então usar a função drawBitmap () para exibir a imagem no local desejado na tela.
Etapa 6
Faça upload do esboço para o Arduino. Agora o texto é substituído por uma imagem e o contador aumenta seu valor a cada vez.