Com este exemplo você fará a leitura do Termistor NTC e exibirá no display um bargraph representando a escala de tempetura de 0 a 100ºC.
Dificuldade:
Montagem:
Programação:
Material Utilizado:
A Montagem
O Sketch
Não esqueça de importar a biblioteca para o Arduino: Biblioteca_Termistor
#include <Thermistor.h> //Inclui a biblioteca Thermistor.h
#include <LiquidCrystal.h> //Inclui a biblioteca do LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Configura os pinos do Arduino para se comunicar com o LCD
Thermistor temp(0); //Instância a biblioteca Thermistor.h
byte full[8] = {
B11111,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111,
};
byte grau[8] = {
B00111,
B00101,
B00111,
B00000,
B00000,
B00000,
B00000,
};
int temperatura; //Variável para armazenar a temperatura
void setup()
{
lcd.createChar(0, full);
lcd.createChar(1, grau);
lcd.begin(16, 2); //Inicia o LCD com dimensões 16x2(Colunas x Linhas)
for(int i=2 ; i<= 10 ; i++)
{
pinMode(i, OUTPUT); //Configura os pinos de acionamento dos LED como saída
digitalWrite(i, LOW); //Desliga todos os LEDs
}
lcd.setCursor(0,0);
lcd.print("Temperatura: ");
}
void loop()
{
temperatura = temp.getTemp(); //Pega a temperatura através da função e armazena na variável temperatura
lcd.setCursor(12,0);
lcd.print(temperatura);
lcd.write(byte(1));
lcd.print("C");
bargraph(); //Vai para a função de preenchimento do Bargraph
delay(1000); //Aguarda 10 milissegundos
}
void bargraph()
{
if(temperatura >= 10)
{
lcd.setCursor(0,1);
lcd.write(byte(0)); //Se a temperatura for maior que 10ºC
}
else
{
lcd.setCursor(0,1);
lcd.print(" "); //Se a temperatura for menor que 10ºC
}
if(temperatura >= 20)
{
lcd.setCursor(1,1);
lcd.write(byte(0)); //Se a temperatura for maior que 20ºC
}
else
{
lcd.setCursor(1,1);
lcd.print(" "); //Se a temperatura for menor que 20ºC
}
if(temperatura >= 30)
{
lcd.setCursor(2,1);
lcd.write(byte(0)); //Se a temperatura for maior que 30ºC
}
else
{
lcd.setCursor(2,1);
lcd.print(" "); //Se a temperatura for menor que 30ºC
}
if(temperatura >= 40)
{
lcd.setCursor(3,1);
lcd.write(byte(0)); //Se a temperatura for maior que 40ºC
}
else
{
lcd.setCursor(3,1);
lcd.print(" "); //Se a temperatura for menor que 40ºC
}
if(temperatura >= 50)
{
lcd.setCursor(4,1);
lcd.write(byte(0)); //Se a temperatura for maior que 50ºC
}
else
{
lcd.setCursor(4,1);
lcd.print(" "); //Se a temperatura for menor que 50ºC
}
if(temperatura >= 60)
{
lcd.setCursor(5,1);
lcd.write(byte(0)); //Se a temperatura for maior que 60ºC
}
else
{
lcd.setCursor(5,1);
lcd.print(" "); //Se a temperatura for menor que 60ºC
}
if(temperatura >= 70)
{
lcd.setCursor(6,1);
lcd.write(byte(0)); //Se a temperatura for maior que 70ºC
}
else
{
lcd.setCursor(6,1);
lcd.print(" "); //Se a temperatura for menor que 70ºC
}
if(temperatura >= 80)
{
lcd.setCursor(7,1);
lcd.write(byte(0)); //Se a temperatura for maior que 80ºC
}
else
{
lcd.setCursor(7,1);
lcd.print(" "); //Se a temperatura for maior que 80ºC
}
if(temperatura >= 90)
{
lcd.setCursor(8,1);
lcd.write(byte(0)); //Se a temperatura for maior que 90ºC
}
else
{
lcd.setCursor(8,1);
lcd.print(" "); //Se a temperatura for menor que 90ºC
}
}