#include <ThingSpeak.h> // Menambahkan Library ThingSpeak
#include <WiFi.h> // Menambahkan Library WiFi
const char * SSID = "Wokwi-GUEST"; // Nama WiFI
const char * PASS = ""; // Password WiFi
WiFiClient client;
int LampuMerah = 14; // Lampu1 dihubungkan ke D14
int LampuKuning = 4; // Lampu2 dihubungkan ke D4
unsigned long ChannelNumber = 115572; // Nomor Channel ThingSpeak
const char * ReadAPIKey = "ABDGAU7ISTG3F56D"; // Nomor Read API key
const char* WriteAPIKey = "0E0ETMYY2LEIIWJD";
const int FieldNumber3 = 3; // Nomor field 3
const int FieldNumber4 = 4; // Nomor field 4
//=================================================================
#include "DHTesp.h"
const int DHT_PIN = 15;
DHTesp dhtSensor;
float Temp, Humidity;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(LampuMerah, OUTPUT);
pinMode(LampuKuning, OUTPUT);
Serial.begin(115200);
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);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
}
void loop() {
// put your main code here, to run repeatedly:
int A = ThingSpeak.readLongField(ChannelNumber, FieldNumber3, ReadAPIKey);
int B = ThingSpeak.readLongField(ChannelNumber, FieldNumber4, ReadAPIKey);
if (A==1){
Serial.println("Lampu Merah ON");
digitalWrite(LampuMerah, HIGH);
}
else if (A == 0){
Serial.println("Lampu Merah OFF");
digitalWrite(LampuMerah, LOW);
}
//-------------------------------------------------------------
delay(10); // this speeds up the simulation
//================================================
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Temp = data.temperature;
Humidity = data.humidity;
Serial.println("Temp: " + String(Temp, 2) + "°C");
Serial.println("Humidity: " + String(Humidity, 1) + "%");
Serial.println("---");
/*
//========== Send Data to Thingspeak.com =========
//==== mengtirim data ke thingspeak
int Status= ThingSpeak.writeField(ChannelNumber, 1, Temp, WriteAPIKey);
if (Status == 200)
{
Serial.println("Channel Update Succesful");
}
else{
Serial.println("Problem Updating Channel. HTP error " + String(Status));
}
delay(30000);
*/
}