// O POTENTIOMETER SERVE PARA AUMENTAR E DIMINUIR O BRILHO DO LCD
// no lcd a porta VSS vai no ground, VDD no 5v, V0 liga com SIG do
// potentiometer, RS no 12, RW no 11 e E no 10
// D4 no 5, D5 no 4, D6 no 3 e D7 no 2
// A no 5v e K no ground
#include <DHT.h>
#include <LiquidCrystal.h>
#define pinDHT 6
#define model DHT22
DHT dht(pinDHT, model);
LiquidCrystal lcd(12,11,10,5,4,3,2);
float temperatura;
float umidade;
long tempo;
long atual;
bool mostrarTemperatura = true;
bool mostrarUmidade = true; //criamos essas var para que o lcd nao fique apagando o tempo todo
void setup() {
// put your setup code here, to run once:
dht.begin();
lcd.begin(16,2); //16 colunas por duas linhas
lcd.clear();
Serial.begin(9600);
tempo = millis();
lcd.print("Ola estranho!");
while(millis() < 2000){} //prende por dois segundos
}
void loop() {
// put your main code here, to run repeatedly:
temperatura = dht.readTemperature();
umidade = dht.readHumidity();
atual = millis();
if (atual - tempo < 3000) {
if(mostrarTemperatura == true){
lcd.clear();
lcd.print ("Temperatura:");
lcd.setCursor(8, 1); // define coluna 8 e linha 1 (de baixo, a de cima é 0)
lcd.print(temperatura);
mostrarTemperatura == false; //faz com que se entrou a primeira vez
//no if não entra mais (pois mudou o valor)e assim nao fica
//piscando e fazendo o loop toda vez
}
}
else{
if(mostrarUmidade == true){
lcd.clear();
lcd.print ("Umidade:");
lcd.setCursor(8, 1); // define coluna 8 e linha 1 (de baixo, a de cima é 0)
lcd.print(umidade);
mostrarUmidade = false;
}
}
if(atual - tempo > 6000){
tempo = millis(); // reinicia cronometro
mostrarUmidade = true; //no fim do loop, volta a ser verdadeiro para poder
//fazer o loop de novo mas sem ficar piscando
mostrarTemperatura = true;
}
}