#include <DHT.h>
// Definições para o sensor DHT22
#define DHTPIN 15 // Pino de dados do DHT22
#define DHTTYPE DHT22 // Tipo do sensor DHT
// Definições para o sensor ultrassônico
#define TRIG_PIN 5 // Pino Trig do ultrassônico
#define ECHO_PIN 18 // Pino Echo do ultrassônico
// Instância do sensor DHT
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
dht.begin();
// Configuração dos pinos do ultrassônico
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
}
void loop() {
// Leitura do sensor DHT22
float temperature = dht.readTemperature(); // Lê a temperatura em Celsius
float humidity = dht.readHumidity(); // Lê a umidade em %
// Verificação de erro na leitura do DHT22
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Falha na leitura do sensor DHT22!");
} else {
Serial.print("Temperatura: ");
Serial.print(temperature);
Serial.println("°C");
Serial.print("Umidade: ");
Serial.print(humidity);
Serial.println("%");
}
// Leitura do sensor ultrassônico
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// Calcula a distância em centímetros
long duration = pulseIn(ECHO_PIN, HIGH);
float distance = (duration * 0.034) / 2;
Serial.print("Distância: ");
Serial.print(distance);
Serial.println(" cm");
// Intervalo entre leituras
delay(2000); // Delay de 2 segundos
}