Conheça o Display Nokia 5110

Conheça o Display Nokia 5110 Deixe um comentário

Neste post veremos utilizar o Display Nokia 5110. Esse display é extremamente simples de programar e versátil, além de possuir um custo bastante acessível.

Display Nokia 5110

Materiais Necessários

Os materiais necessários para esse tutorial são:

Montagem do Circuito

Esquema de ligação do projeto com Arduino Nano e Display Nokia 5110

As seguintes conexões devem ser feitas entre o Arduino e os pinos do Display Nokia 5110:

ArduinoDisplay
D12 RST
D11CE
D10DC
D9Din
D8Clk
5VVcc
D2BL
GNDGnd

É importante verificar a tensão de trabalho do seu Display Nokia 5110. Geralmente, os displays com PCB de cor Azul aceitam tanto 3,3V quanto 5V enquanto os de PCB Vermelha trabalham apenas com 3,3V e, portanto, não são apropriados para utilização com o Arduino.

Bibliotecas e Funções

Para esse tutorial serão necessárias as seguintes bibliotecas, que podem ser instaladas através do gerenciador de bibliotecas da IDE do Arduino ou dos links abaixo:

As principais funções utilizadas para interagir com o Display Nokia 5110, suas atribuições e parâmetros são:

Função AtribuiçãoParâmetros
beginInicializa o display
setContrastDefine o contrastecontraste (valor de 0 a 100)
clearDisplayLimpa a tela
drawBitmapExibe uma imagem na telaposição x, posição y, array com a imagem, largura, altura
displayExibe as informações na tela
setTextSizeDefine a fonteTamanho da fonte
setTextColorDefine a cor do textoBLACK – texto preto

ou

WHITE, BLACK – fundo preto texto branco

setCursorPosiciona o cursorposição x, posição y
printImprime um texto na telatexto

É importante lembrar que sempre que desejar que as informações que aparecem na tela sejam atualizadas para as definidas no código é necessário chamar a função display().

Bitmap

Para exibição de imagens, utilizaremos o programa Image2Code para transformar a imagem em um vetor com os códigos hexadecimais que descrevem a imagem. Para isso é necessário que a imagem seja um bitmap preto e branco, com tamanho máximo de 84X84. O programa pode ser baixado nesse link e a imagem pode ser editada com o Paint para atender as especificações de formato e tamanho.

Primeiro abrimos o programa e clicamos em Browse para selecionar o arquivo da imagem.

Escolher o arquivo de imagem no Image2Code

Depois selecionamos a terceira opção da esquerda para direita – que diz MSB LSB. Então clicamos em Convert e esperamos que o arquivo com o vetor seja aberto no Bloco de Notas.

Padrão MSB-LSB

Depois, utilizamos a ferramenta de substituição para retirar as chaves { }.

Substituição das chaves no arquivo bitmap

PROGMEM const unsigned char img[] = {texto_do_bloco_de_notas};

Código 

O código abaixo é uma breve demonstração das capacidades do Display e das funções usadas para operá-lo.

/*
#-------------------------#
|         DISPLAY         |
|          NOKIA          |
|      Ítalo  Coelho      |
#-------------------------#
*/

#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>

#define BLpin 2   //Pino que controla a luz de fundo

// CLK, DIN, DC, CE, RST
Adafruit_PCD8544 display = Adafruit_PCD8544(8,9,10,11,12);

PROGMEM const unsigned char img[] = 
{
 0x00,0x03,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
 0x00,0x0F,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
 0x00,0x1F,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
 0x00,0x1F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
 0x00,0x1E,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
 0x00,0x1E,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
 0x00,0x1E,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
 0x00,0x1E,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
 0x00,0x1E,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
 0x00,0x1E,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,
 0x1F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00 ,
 0x3F,0xFF,0xFF,0x3E,0xCE,0x19,0xE7,0xC7,0xF0,0xF3,0xE0 ,
 0x3F,0xFF,0xFF,0x3E,0xCE,0x19,0xEF,0xC7,0xF0,0xF3,0xE0 ,
 0x7F,0xFF,0xFF,0x30,0xCE,0x19,0xEE,0x04,0x30,0xF3,0x60 ,
 0x78,0x1E,0x00,0x30,0xCE,0x19,0xEC,0x04,0x30,0xF3,0x20 ,
 0x70,0x1E,0x00,0x30,0xCE,0x19,0xEC,0x04,0x30,0xF3,0x20 ,
 0x70,0x1E,0x00,0x30,0xCE,0x19,0xEC,0x04,0x30,0xF3,0x60 ,
 0x70,0x1E,0x00,0x3C,0xCE,0x19,0xEF,0x87,0x30,0xF3,0xE0 ,
 0x70,0x1E,0x00,0x3C,0xCE,0x19,0xCF,0x87,0x30,0xF3,0xE0 ,
 0x70,0x1E,0x00,0x30,0xCE,0x19,0x8C,0x04,0x30,0xF3,0x00 ,
 0x70,0x1E,0x00,0x30,0xCE,0x19,0x8C,0x04,0x30,0xF3,0x00 ,
 0x70,0x3E,0x00,0x30,0xCE,0x19,0x8C,0x04,0x30,0xF3,0x00 ,
 0x7F,0xFE,0x00,0x30,0xCE,0x19,0x8C,0x04,0x30,0xF3,0x00 ,
 0x7F,0xFE,0x00,0x30,0xCF,0x99,0x8F,0xC4,0x3E,0xF3,0x00 ,
 0x7F,0xF0,0x00,0x30,0xC3,0x99,0x83,0xC4,0x0E,0x63,0x00 
 };
 
void setup() 
{
  pinMode(BLpin, OUTPUT);
  digitalWrite(BLpin, HIGH);
  
  display.begin();          //Inicializa o Display
  
  display.setContrast(56);  //Define o contraste
}

void loop() 
{
  display.clearDisplay();                 //Limpa a tela

  display.drawBitmap( 0, 0, img, 84, 25, BLACK);    //Exibe imagem Bitmap
  
  display.display();                      //Exibe no display
  
  delay(5000);
  
  display.clearDisplay();

  display.setTextSize(1);                 //Tamanho da fonte
  display.setTextColor(BLACK);            //Texto Preto
  display.setTextColor(WHITE, BLACK);     //Texto Branco com fundo Preto

  display.setCursor(0,0);                 //Posição do Cursor

  display.print("ITALO");                 //Escreve o Texto

  display.setCursor(0,20);
  display.setTextSize(1);
  display.print("Display Nokia 5110");

  display.display();

  //Pisca a luz de fundo
  static bool backLight = LOW;
  backLight = !backLight;
  digitalWrite(BLpin, backLight);
  
  delay(5000);
}

Conclusão

Agora que você já sabe como usar o Display Nokia 5110 com o Arduino, que tal fazer um dos projetos aqui do nosso blog? Acesse os post abaixo e escolha o que mais gostar:

Circuito montado com Arduino Nano e Display Nokia 5110

Gostou de aprender como utilizar o Display Nokia 5110? Não se esqueça de deixar um comentário nos contando o que achou! 

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *