#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <dht.h>
#define dataPin 2
LiquidCrystal_I2C lcd(0x27, 16, 2);
unsigned long millisAnteriorLCD = 0;
unsigned long millisAnteriorScroll = 0;
int LCD = 0;
int scroll = 0;
dht DHT;
void setup() {
lcd.init();
lcd.setBacklight(HIGH);
Serial.begin(9600);
}
void loop() {
unsigned long millisAtual = millis();
int readData = DHT.read11(dataPin);
float t = DHT.temperature;
float h = DHT.humidity;
if ((millisAtual - millisAnteriorLCD) >= 2000) {
millisAnteriorLCD = millisAtual;
if (LCD == 0) {
lcd.clear();
lcd.setCursor(5, 0);
lcd.print("ETECAF");
lcd.setCursor(5, 1);
lcd.print("SEM II");
Serial.println("ETECAF");
Serial.println("SEM II");
Serial.println("");
LCD = 1;
}
else if (LCD == 1) {
lcd.clear();
lcd.setCursor(16, 0);
lcd.print("BRENO CORREIA LOCIKS");
lcd.setCursor(16, 1);
lcd.print("BRUNO MARTINS SGAI");
Serial.println("BRENO CORREIA LOCIKS");
Serial.println("BRUNO MARTINS SGAI");
Serial.println("");
LCD = 2;
}
else if (LCD == 3) {
lcd.print("Tmp. : ");
lcd.print(t);
lcd.print(" ");
lcd.print((char)223);
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("Umd. : ");
lcd.print(h);
lcd.print((char)37);
Serial.print("Temperatura = ");
Serial.print(t);
Serial.print(" ");
Serial.print("C | ");
Serial.print("Umidade = ");
Serial.print(h);
Serial.println("% ");
Serial.println("");
LCD = 0;
}
}
if (LCD == 2 && (millisAtual - millisAnteriorScroll) >= 500) {
millisAnteriorScroll = millisAtual;
lcd.scrollDisplayLeft();
scroll++;
if (scroll == 36) {
LCD = 3;
scroll = 0;
lcd.clear();
}
}
}