//ETECAF
//SISTEMAS EMBARCADOS 2
//SEM2 – 2024
//DHT22 com monitor serial
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <dht.h>
#define dataPin 2 // Define o numero do pino onde o sensor esta conectado
unsigned long tempo = millis();
//unsigned long millisTarefa2 = millis();
//unsigned long millisTarefa3 = millis();
dht DHT; // Criando o objeto DHT
LiquidCrystal_I2C lcd(0x27,16,2);
unsigned long tempoPassado = 0;
unsigned long tempoAtual = 0;
const unsigned long intervaloEtapas = 3000;
int etapa = 0;
void setup() {
Serial.begin(9600);
lcd.init();
}
void loop() {
tempoAtual = millis();
lcd.setBacklight(HIGH);
int readData = DHT.read22(dataPin); // DHT22/AM2302
float t = DHT.temperature; // Lendo o valor da temperatura
float h = DHT.humidity; // Lendo o valo da umidade
if (tempoAtual - tempoPassado > intervaloEtapas) {
tempoPassado = tempoAtual;
if (etapa == 0) {
lcd.clear();
Serial.println("ETECAF SEM 2");
lcd.setCursor(2,0);
lcd.print("ETECAF SEM 2");
etapa = 1; //inicia a etapa 1
}
else if (etapa == 1) {
lcd.clear();
Serial.println("Igor Miranda Xavier da Silva");
Serial.println("Felipe Vieira Conway Baccarat");
lcd.setCursor(2,0);
lcd.print("Igor Miranda Xavier da Silva");
lcd.setCursor(2,1);
lcd.print("Felipe Vieira Conway Baccarat");
for(int posi_LCD = 0; posi_LCD < 31; posi_LCD ++)
{
lcd.setCursor(16,0);
lcd.scrollDisplayLeft(); //Essa é a função que faz as letras se deslocarem
}
for(int posi_LCD = 0; posi_LCD < 31; posi_LCD ++)
{
lcd.setCursor(16,1);
lcd.scrollDisplayLeft(); //Essa é a função que faz as letras se deslocarem
}
etapa = 2; //inicia a etapa 2
} else if (etapa == 2) {
lcd.clear();
Serial.print("temp = ");
Serial.println(t);
Serial.print("humid = ");
Serial.println(h);
lcd.setCursor(2,0);
lcd.print ("temp = ");
lcd.print(t);
lcd.print(" C");
lcd.setCursor(2,1);
lcd.print("Humid = ");
lcd.print(h);
lcd.print("%");
etapa = 0; //volta pra etapa 0
}
}
}