// Servo Sweep example for the ESP32
// https://wokwi.com/arduino/projects/323706614646309460
#include <ESP32Servo.h>
#include <WiFi.h>
#include "ThingSpeak.h"
unsigned long myChannelNumber = 1905341;
const char * myWriteAPIKey = "NWSU403KKXEP8LAG";
const char * myReadAPIKey = "Y792AOSQCACRP3O7";
const int servoPin = 18;
unsigned long lastTime=30000;
int pos = 0;
float T=0, H=0;
Servo servo;
WiFiClient client;
void setup() {
Serial.begin(115200);
servo.attach(servoPin);
ThingSpeak.begin(client); // Initialize ThingSpeak
WiFi.begin("Wokwi-GUEST", "", 6);
while (WiFi.status() != WL_CONNECTED) {
delay(250);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
void loop() {
if ((millis() - lastTime) > 30000){
T=ThingSpeak.readFloatField(myChannelNumber, 1, myReadAPIKey);
H=ThingSpeak.readFloatField(myChannelNumber, 2, myReadAPIKey);
Serial.println("Temp: " + String(T, 2) + "°C");
Serial.println("Humidity: " + String(H, 1) + "%");
if ((T>14)&&(H>40)){
pos = map(H, 40, 100, 0, 180);
} else {
pos=0;
}
Serial.print("<: ");
Serial.println(pos);
servo.write(pos);
lastTime=millis();
}
delay(1000);
}