#include <DHT.h>
#include <WiFi.h>
#include <ThingSpeak.h>
#include <ESP32Servo.h>
const char* ssid = "Wokwi-GUEST";
const char* password = "";
WiFiClient client;
Servo servo1;
unsigned long myChannelNumber =2526637;
const char* WriteAPIKey = "W0BEIT7K6PCRF4DX";
DHT dht(2, DHT22);
const int ledPin = 4;
void setup() {
Serial.begin(9600);
servo1.attach(5);
dht.begin();
pinMode(ledPin, OUTPUT);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("WiFi connected");
ThingSpeak.begin(client);
}
void loop() {
delay(2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
if (t > 30) {
digitalWrite(ledPin, HIGH);
servo1.write(180);
} else {
digitalWrite(ledPin, LOW);
servo1.write(90);
}
ThingSpeak.setField(1, t);
ThingSpeak.setField(2, h);
int x = ThingSpeak.writeFields(myChannelNumber, WriteAPIKey);
if (x == 200) {
Serial.println("Channel update successful.");
} else {
Serial.println("Problem updating channel. HTTP error code " + String(x));
}
delay(1500);
}