Termômetro Com Display de 7-Segmentos
Termômetro Com Display de 7-Segmentos
Termômetro Com Display de 7-Segmentos
S E P T E M B E R 7 , 2 0 1 7 B Y E TA C A R I N A E
Material adicional:
eletronicaparaartistas.com.br/alteracao-35-1-termometro-com-display-de-7-segmentos/ 1/4
27/04/2019 Alteração 35.1 – Termômetro com display de 7-segmentos – Eletrônica para artistas
Para simpli car o programa e facilitar o reuso, transferimos o mapeamento dos dígitos
e segmentos para uma biblioteca local (chamamos de seven_segment_display.h)
contendo o código abaixo:
eletronicaparaartistas.com.br/alteracao-35-1-termometro-com-display-de-7-segmentos/ 2/4
27/04/2019 Alteração 35.1 – Termômetro com display de 7-segmentos – Eletrônica para artistas
Para criar o arquivo, clique na seta que ca abaixo do ícone do monitor serial(canto
superior direito do IDE do Arduino) e selecione “New Tab”, depois escolha o nome
(seven_segment_display.h) e grave.
Para usar é preciso apenas incluir o arquivo no código-fonte principal usando #include,
e chamar a função showNumber() passando como argumento o display e o dígito a
exibir. No programa abaixo criamos uma função exibir que recebe o número e mostra
nos dois displays. Chamamos a função exibir assim que lemos a temperatura a cada 2
segundos:
#include "seven_segment_display.h"
#define TERMOMETRO A3
void setup() {
for(int i = 0; i < DISPLAY_LEDS; i++) {
pinMode(dezenas[i], OUTPUT);
pinMode(unidades[i], OUTPUT);
}
// Usando a referência interna de 1,1V para maior precisão
analogReference(INTERNAL);
}
void loop() {
int leitura = analogRead(TERMOMETRO);
float volts = (leitura / 1024.0) * 1.1;
float celsius = (volts) * 100.0;
delay(2000);
}
eletronicaparaartistas.com.br/alteracao-35-1-termometro-com-display-de-7-segmentos/ 3/4
27/04/2019 Alteração 35.1 – Termômetro com display de 7-segmentos – Eletrônica para artistas
analogReference(INTERNAL);
Isto signi ca que o valor 0 a 1024 não corresponde mais a 0 a 5V, mas a 0 a 1,1V. Isto
permite maior precisão na leitura. Assim, para obter a tensão entre o terminal central e
GND, dividimos o valor lido por 1024 e depois multiplicamos por 1,1V. Cada grau Celsius
corresponde a 0,01 V de diferença, então multiplicamos por 100 para obter a
temperatura.
eletronicaparaartistas.com.br/alteracao-35-1-termometro-com-display-de-7-segmentos/ 4/4