#include <ThingSpeak.h>
#include <DHTesp.h>
#include <Adafruit_Sensor.h>
#include <WiFi.h>
const char * SSID = "Wokwi-GUEST";
const char * PASS = "";
WiFiClient client;
const int DHT_PIN = 15;
int kipas = 14;
int lampu = 4;
// nama chanell dan api key
unsigned long ChannelNumber = 2002194;
const char * ReadAPIKey = "W5P5SU3BMUM7YJZ4";
const char * WriteAPIKey = "APXYLJ2BVVXDPVU6";
const int FieldNumber1 = 1;
const int FieldNumber2 = 2;
const int FieldNumber3 = 3;
const int FieldNumber4 = 4;
int temperatureC;
int humidity;
DHTesp dhtSensor;
void setup()
{
pinMode(kipas, OUTPUT);
pinMode(lampu, OUTPUT);
Serial.begin(115200);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
dhtSensor.getPin();
delay(10);
Serial.println();
WiFi.begin(SSID, PASS);
Serial.print("Connecting");
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println();
Serial.print("Connected, IP address: ");
Serial.println(WiFi.localIP());
ThingSpeak.begin(client);
}
//memasukan data ke setiap field yang berada di thingkspeak
void loop()
{
//temperature
temperatureC = dhtSensor.getTemperature();
Serial.print("Temperature (C): ");
Serial.println(temperatureC);
humidity = dhtSensor.getHumidity();
Serial.print("Humidity (%): ");
Serial.println(humidity);
ThingSpeak.writeField(ChannelNumber, FieldNumber1 ,temperatureC, WriteAPIKey);
ThingSpeak.writeField(ChannelNumber, FieldNumber2 , humidity, WriteAPIKey);
int A = ThingSpeak.readLongField(ChannelNumber, FieldNumber3,
ReadAPIKey);
int B = ThingSpeak.readLongField(ChannelNumber, FieldNumber4,
ReadAPIKey);
// Menghidupkan dan mematikan lampu1
if(A == 1){
Serial.println("kipas Nyala");
digitalWrite(kipas, HIGH);
} else if(A == 0) {
Serial.println("kipas Mati");
digitalWrite(kipas, LOW);
}
if(B == 1){
Serial.println("lampu Nyala");
digitalWrite(lampu, HIGH);
} else if(B == 0){
Serial.println("lampu Mati");
digitalWrite(lampu, LOW);
}
}