Conheça o Display Nokia 5110

Conheça o Display Nokia 5110 2

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 *

2 Comentários

  1. bom dia Italo pode me dar uma força , sou novo com arduino então…. qdo usei o seu código…. deu a seguinte mensagem de erro ( o que devo fazer.?) peço sua ajuda:

    Arduino: 1.8.13 (Windows 7), Placa:”Arduino Nano, ATmega328P”

    Foram encontradas múltiplas bibliotecas para “Adafruit_GFX.h”

    In file included from C:\Users\FERNANDO\Documents\Arduino\libraries\Adafruit_GFX_Library\Adafruit_GrayOLED.cpp:20:0:

    C:\Users\FERNANDO\Documents\Arduino\libraries\Adafruit_GFX_Library\Adafruit_GrayOLED.h:30:10: fatal error: Adafruit_I2CDevice.h: No such file or directory

    #include

    ^~~~~~~~~~~~~~~~~~~~~~

    compilation terminated.

    Usado: C:\Users\FERNANDO\Documents\Arduino\libraries\Adafruit_GFX_Library

    Não usado: C:\Users\FERNANDO\Documents\Arduino\libraries\Adafruit-GFX-Library-master

    Foram encontradas múltiplas bibliotecas para “Adafruit_PCD8544.h”

    Usado: C:\Users\FERNANDO\Documents\Arduino\libraries\Adafruit_PCD8544_Nokia_5110_LCD_library

    Não usado: C:\Users\FERNANDO\Documents\Arduino\libraries\Adafruit-PCD8544-Nokia-5110-LCD-library-master

    exit status 1

    Erro compilando para a placa Arduino Nano

    Fernando Curvelo Volpato
    1. Olá Fernando,

      Vá na pasta libraries do Arduino e veja se as bibliotecas não foram instaladas mais de uma vez.

      Abraço!
      Rosana – Equipe FilipeFlop