Como fazer a interface do display do celular com o Arduino

Experimente Nosso Instrumento Para Eliminar Problemas





Neste post, aprenderemos como fazer a interface do display Nokia 5110 com o microcontrolador arduino e como exibir algum texto, também estaremos construindo um relógio digital simples e, finalmente, exploraremos os recursos gráficos do display Nokia 5110.

De



A Nokia era a marca de celulares mais popular do mundo antes de entrar no mercado de smartphones. A Nokia era conhecida por fabricar telefones robustos e um dos icônicos e mais robustos de todos foi o Nokia 3310.

A marca Nokia fez muito barulho nas redes sociais e o meme começou a flutuar na internet e a maior parte do meme era do modelo 3310, devido à sua grande durabilidade com usuários hard-core. Algumas fontes legítimas afirmam que os telefones Nokia até salvaram a vida de algumas pessoas de balas.



Após a redução da demanda por esses modelos no mercado, muitos monitores ficaram sem uso. Agora eles são reformados e lançados no mercado para nossas necessidades customizadas.

Se quiser um para a prática, você não precisa criar uma mini-explosão nuclear ao redor de sua área para resgatar um do seu antigo telefone Nokia. Ele está comumente disponível em sites de comércio eletrônico.

Ilustração da tela do Nokia 5110:

Curiosidade: a tela do Nokia 5110 também foi usada no modelo 3310 e em alguns outros modelos de telefone Nokia.

Agora vamos ver como conectar a tela ao arduino.

Conecte a tela ao Arduino

Como fazer a interface do display do celular com o Arduino

A tela é monocromática e tem 84x48 pixels que podem exibir texto e até gráficos.
O display consiste em 8 pinos: Vcc, GND, reset, seleção de chip (CS), seleção de comando, saída de dados seriais, relógio serial e luz de fundo.

O visor foi projetado para funcionar a 3,3 V e a aplicação de 5 V danificará o visor, portanto, deve-se tomar cuidado ao manuseá-lo.

A tela possui funcionalidade de luz de fundo, geralmente na cor branca ou azul. 5 V é dado à luz de fundo com resistor limitador de corrente de 330 ohms.

Os pinos 7, 6, 5, 4 e 3 são conectados aos pinos digitais do display. Não é obrigatório saber como o arduino se comunica com o display para usá-lo, nós adicionaremos arquivos de biblioteca apropriados ao software arduino que cuidará da comunicação entre o arduino e o display.

Agora vamos mostrar algum texto.

Exibindo Texto

Tela de celular exibindo texto com Arduino

Antes de fazer o upload do código, você deve fazer o download dos arquivos da biblioteca e adicioná-los ao seu IDE arduino.

• github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library
• github.com/adafruit/Adafruit-GFX-Library

Programa para Hello world:

//------------Program Developed by R.Girish--------//
#include
#include
#include
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3)
void setup()
{
display.begin()
display.setContrast(50)
display.clearDisplay()
}
void loop()
{
display.setTextSize(1)
display.setTextColor(BLACK)
display.print('Hello world !')
display.display()
delay(10)
display.clearDisplay()
}
//------------Program Developed by R.Girish--------//

Se você quiser explorar mais sobre a parte de codificação, você pode dar uma olhada no programa de exemplo, que mostrou sobre gráficos, cor do texto (preto / branco), tamanho do teste, rotação do texto e muito mais.

Agora vamos construir um relógio digital.

Diagrama de circuito para relógio digital:

O esquema é o mesmo que o anterior, apenas a diferença é que os dois resistores pull-down de 10K ohm para definir o tempo são conectados ao pino 8 e o pino 9 do restante do circuito é autoexplicativo.

Programa para relógio digital:

//----------------Program developed by R.Girish-------//
#include
#include
#include
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3)
int h=12
int m
int s
int flag
int TIME
const int hs=8
const int ms=9
int state1
int state2
void setup()
{
display.begin()
display.setContrast(50)
display.clearDisplay()
}
void loop()
{
s=s+1
display.clearDisplay()
display.setTextSize(2)
display.print(h)
display.print(':')
display.print(m)
display.setTextSize(1)
display.print(':')
display.print(s)
display.setTextSize(2)
display.setCursor(0,16)
if(flag<12) display.println('AM')
if(flag==12) display.println('PM')
if(flag>12) display.println('PM')
if(flag==24) flag=0
display.setTextSize(1)
display.setCursor(0,32)
display.print('Have a nice day')
display.display()
delay(1000)
if(s==60)
{
s=0
m=m+1
}
if(m==60)
{
m=0
h=h+1
flag=flag+1
}
if(h==13)
{
h=1
}
//-----------Time setting----------//
state1=digitalRead(hs)
if(state1==1)
{
h=h+1
flag=flag+1
if(flag<12) display.print(' AM')
if(flag==12) display.print(' PM')
if(flag>12) display.print(' PM')
if(flag==24) flag=0
if(h==13) h=1
}
state2=digitalRead(ms)
if(state2==1)
{
s=0
m=m+1
}
}
//-------- Program developed by R.GIRISH-------//

Agora, vamos discutir os recursos gráficos da tela. A tela do Nokia 5110 tem 84x48 pixels, o que pode mostrar gráficos muito limitados que também em monocromático. Pode não ter telas coloridas tão capazes em smartphones, mas é muito útil se precisarmos exibir logotipos ou símbolos em seu projeto.

Ilustração de gráficos usando o visor Nokia 5110:

Cara popular de troll:

Dr. A.P.J Abdul Kalam:

Como podemos ver isso usando um display monocromático, ainda somos capazes de exibir algumas fotos ou logotipos diretamente do arduino. Não precisamos de nenhum tipo de memória externa, como cartão SD.

O processo de conversão de uma foto em código “C” é assunto de outro artigo, onde ilustraremos o processo passo a passo.

Se você tiver alguma dúvida, por favor, expresse através da seção de comentários.




Anterior: Emissor-Seguidor BJT - Funcionando, Circuitos de Aplicação Próximo: Circuito de supressor de surto com instalação de medição