#include "thingProperties.h"
#include "DHT.h"
int dhtPin = 17;
DHT dht22(dhtPin, DHT22);
int releVentiladorPin = 12;
int releLampadaPin = 13;
int ldrPin = 34;
void setup() {
Serial.begin(9600);
dht22.begin();
pinMode(releVentiladorPin, OUTPUT);
pinMode(releLampadaPin, OUTPUT);
pinMode(ldrPin, INPUT);
digitalWrite(releVentiladorPin, LOW);
digitalWrite(releLampadaPin, LOW);
initProperties();
ArduinoCloud.begin(ArduinoIoTPreferredConnection);
setDebugMessageLevel(2);
ArduinoCloud.printDebugInfo();
}
void loop() {
ArduinoCloud.update();
temperatura = dht22.readTemperature();
umidade = dht22.readHumidity();
luminosidade = analogRead(ldrPin);
luminosidade = map(luminosidade, 4063, 32, 0, 100);
onStatusLampadaChange();
onStatusVentiladorChange();
delay(5000);
}
void onStatusLampadaChange() {
Serial.println();
Serial.print("Luminosidade: ");
Serial.print(luminosidade);
Serial.print("%");
Serial.println();
if (luminosidade < 30) {
digitalWrite(releLampadaPin, HIGH);
Serial.println("Lâmpada ligada.");
} else {
digitalWrite(releLampadaPin, LOW);
Serial.println("Lâmpada desligada.");
}
}
void onStatusVentiladorChange() {
Serial.println();
Serial.print("Temperatura: ");
Serial.print(temperatura);
Serial.print("°C");
Serial.println();
Serial.print("Umidade: ");
Serial.print(umidade);
Serial.print("%");
Serial.println();
if ((temperatura > 25 && umidade > 60) || (temperatura > 35 && umidade >= 50)) {
digitalWrite(releVentiladorPin, HIGH);
Serial.println("Ventilador ligado.");
} else if (temperatura <= 25 && umidade <= 50) {
digitalWrite(releVentiladorPin, LOW);
Serial.println("Ventilador desligado.");
} else {
digitalWrite(releVentiladorPin, LOW);
Serial.println("Ventilador desligado.");
}
}