Monitorando Luminosidade e Temperatura com LCD

Com este exemplo você irá monitorar ao mesmo tempo a luminosidade e a temperatura do sistema, visualizando os dois parâmetros pelo Display LCD 16x2.

Dificuldade:

Montagem:

Programação:


Material Utilizado:

Arduino Uno

Cabo USB A para B

Protoboard 830

Display LCD 16x2

Resistor 10kΩ

Potenciômetro 10kΩ

LDR

Termistor NTC 10kΩ

Alguns Jumpers

A Montagem

O Sketch

Não esqueça de importar a biblioteca para o Arduino: Biblioteca_Termistor

#include <LiquidCrystal.h> //Inclui a biblioteca do LCD
#include <Thermistor.h> //Inclui a biblioteca do Thermistor

LiquidCrystal
lcd(12, 11, 5, 4, 3, 2); //Configura os pinos do Arduino para se comunicar com o LCD

Thermistor temp(0); //Configura o pino A0 para a leitura do Thermistor (0 = A0 / 1 = A1 / ...)

#define LDR A1 //Define LDR como A1

float
luminosidade; //Variável para armazenar o valor da luminosidade
int amostra; //Variável para se guardar os valores das amostras da luminosidade
int temperatura; //Variavel para armazenar o valor da temperatura  

void setup()
{

lcd.begin(16, 2); //Inicia o LCD com dimensões 16x2(Colunas x Linhas)

}  

void
loop()
{      

temperatura = temp.getTemp(); //Pega a temperatura do Thermistor e armazena na variável temperatura em ºC      

amostra = 0; //Zera a variável amostra      

//Pega 1000 amostras
  
for
(int i=0; i < 100 ; i++)   
{   
luminosidade = analogRead(LDR); //Armazena o valor lido pelo LDR   
luminosidade = (luminosidade / 1024) * 100; //Transforma o valor lido em porcentagem   
amostra = amostra + luminosidade; //Armazena na variável amostra   
}   
//=================      

amostra = amostra/100; //Tira a média das amostras   

lcd.setCursor(0,0); //Posiciona o cursor na primeira coluna(0) e na primeira linha(0) do LCD   
lcd.print("Temperatura: "); //Imprime no LCD "Temperatura: "   
lcd.print(temperatura); //Imprime o valor da temperatura   
lcd.print("C"); //Imprime "C" indicando que está na escala Celsius      

lcd.setCursor(0,1); //Posiciona o cursor na primeira coluna(0) e na segunda linha(1) do LCD   
lcd.print("Luminosida.: "); //Imprime no LCD "Luminosida.: "   
lcd.print(amostra); //Imprime o valor da luminosidade   
lcd.print("%"); //Imprime "%" indicando que a luminosidade está em porcentagem

}