Projeto
25 – Gráfico de leitura de temperatura com um LCD Nokia 5110
Olá pessoal, com o Nokia 5110 podemos fazer variarias coisas,
como visualizar na tela imagens, textos e muito mais, irei mostrar como
visualizar um gráfico de temperatura com este maravilhoso LCD juntamente com um
sensor de temperatura LM35, deixando com uma visualização mais compreensível ao
usuários. Os códigos serão todos comentados para melhor entendimento, podendo
ser retirados após a compreensão de cada linha. Bom trabalho !!!
Componentes
necessários
1 Resistor de 220 Ω
1 Módulo Nokia
5110
1 Protobord
1 Sensor de temperatura LM35
Fios jumpers
Conectando
os componentes
Primeiro,
certifique-se de que seu Arduino esteja desligado, desconectando-o do cabo USB.
Agora, conecte o módulo Nokia 5110, o LM35 e o resistor assim como mostra a
figura abaixo:
Para
melhor entendimento segue a inserção dos jumpers:
Pinos
Arduino Pinos LCD Nokia 5110
11
RST
12
CE
10
DC
9 Din
8
Clk
5V
Vcc
GND
Gnd
Fazendo
o download e importando a biblioteca do LCD Nokia 5110:
2) Faça
o download do arquivo PCD8544;
3) Descompacte
o arquivo;
4) Agora
entre no diretório (C:) e na pasta Arquivos de Programas, Arduino, libraries,
copie o arquivo descompactado nesta pasta;
5)
Pronto para utilizar;
Agora vamos ao código
// Projeto 25 – Gráfico de leitura de
temperatura com um LCD Nokia 5110
#include <PCD8544.h> // Biblioteca utilizada para controle de
gráficos e/ou desenhos.
static const byte SensorTemp = 0; // Pino analógico onde está o LM35.
// Definindo as dimensões do LCD (em
pixels).
static const byte LCD_WIDTH = 84;
static const byte LCD_HEIGHT = 48;
// Define o número de linhas para
exibir o caracter de temperatura.
static const byte CHART_HEIGHT = 5;
// Define o símbolo gráfico para ser
exibido no LCD.
static const byte DEGREES_CHAR = 1;
static const byte degrees_glyph[] = { 0x00, 0x07, 0x05, 0x07, 0x00 };
// Uma imagem bitmap gráfica de 10X2
do termômetro.
static const byte THERMO_WIDTH = 10;
static const byte THERMO_HEIGHT = 2;
static const byte thermometer[] = { 0x00, 0x00, 0x48, 0xfe, 0x01, 0xfe,
0x00, 0x02, 0x05, 0x02,
0x00, 0x00, 0x62, 0xff, 0xfe, 0xff, 0x60, 0x00, 0x00, 0x00};
static PCD8544 lcd;
void setup() {
lcd.begin(LCD_WIDTH,
LCD_HEIGHT);
// Registra o símbolo personalizado do
termômetro.
lcd.createChar(DEGREES_CHAR, degrees_glyph);
/* A referência 1.1V interno prevê uma
melhor
Resolução do LM35, e também é mais estável
Quando alimentado a partir de uma entrada USB. */
analogReference(INTERNAL);
}
void loop() {
// Define a borda do LCD.
static byte xChart = LCD_WIDTH;
// Lê a temperatura em graus Celsius.
float SensorTemp = (1.1 * analogRead(SensorTemp) * 100.0) / 1024.0;
// Imprime a temperatura na tela do LCD.
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(SensorTemp, 1);
lcd.print(" \001C ");
// Desenhar o bitmap termômetro no canto inferior esquerdo ...
lcd.setCursor(0, LCD_HEIGHT/8 - THERMO_HEIGHT);
lcd.drawBitmap(thermometer,
THERMO_WIDTH, THERMO_HEIGHT);
// Define a posição do gráfico.
if (xChart >= LCD_WIDTH) {
xChart = THERMO_WIDTH + 2;
}
// Atualiza o gráfico de temperatura.
lcd.setCursor(xChart, 1);
lcd.drawColumn(CHART_HEIGHT,
map(SensorTemp, 0, 45, 0, CHART_HEIGHT*8));
// Define uma faixa entre 0 - 45°C
lcd.drawColumn(CHART_HEIGHT, 0); // Define uma posição correta do gráfico.
xChart++;
delay(500);
}
Para certificar se o código está
correto pressione o botão Verify/Compile.
Se
tudo estiver correto pressione o botão Upload para fazer o upload do código
para seu Arduino.
Se
tudo estiver OK você verá na tela a temperatura real, juntamente com um gráfico
que irá mudar de acordo com a temperatura.
Vídeo do projeto pronto:
- Se você gostou do post,
por favor comente! Nos dê um
feedback, isto nos incentiva a continuar! :)
- Inscreva-se na fan page !
- Curta nossa fan page !
- Baixe o APP Faça Com Arduino e carregue para onde você for os projetos. É simples. É fácil !!