//memasukkan library
#include <WiFi.h>
#include <ThingSpeak.h>
#include "DHTesp.h"
#include <ESP32Servo.h>
#include <Adafruit_Sensor.h>
//untuk dht
const char* ssid = "Wokwi-GUEST";
const char* pass = "";
const int DHT_PIN = 15;
WiFiClient client;
unsigned long myChannelNumber = 2005348;
const char* myReadAPIKey = "9FN5XTVHHR2FYENQ";
const char* myWriteAPIKey = "VCJ28P7ASC0LDPQB";
const char* server = "api.thingspeak.com";
const int FieldNumber1 = 1;
const int FieldNumber2 = 2;
const int FieldNumber3 = 3;
const int FieldNumber4 = 4;
int led = 2;
int pos;
Servo servo;
DHTesp dhtSensor;
int t;
int h;
void setup(){
Serial.begin(115200);
pinMode(2, OUTPUT);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
dhtSensor.getPin();
servo.attach(4);
WiFi.begin(ssid, pass);
while(WiFi.status() != WL_CONNECTED){
delay(100);
Serial.println("");
}
Serial.println("WiFi Connected");
Serial.println(WiFi.localIP());
WiFi.mode(WIFI_STA);
ThingSpeak.begin(client);
}
void loop(){
h = dhtSensor.getHumidity();
Serial.print("Temperature : ");
Serial.print(t);
Serial.print("°C");
t = dhtSensor.getTemperature();
Serial.print(" Humidity : ");
Serial.print(h);
Serial.println("%");
ThingSpeak.writeField(myChannelNumber, FieldNumber1, t, myWriteAPIKey);
ThingSpeak.writeField(myChannelNumber, FieldNumber2, h, myWriteAPIKey);
if(t < 24){
digitalWrite(led, HIGH);
servo.write(0);
}
else if(t > 24){
digitalWrite(led, LOW);
for(pos = 00; pos < 180; pos += 1)
{
servo.write(pos);
delay(15);
}
for(pos = 180; pos>=1; pos-=1)
{
servo.write(pos);
delay(15);
}
}
int x = ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);
if (x == 200){
Serial.println("Ch Update");
}
else {
Serial.println("");
}
}