#define BLYNK_TEMPLATE_ID "TMPL6MpU7U_W0"
#define BLYNK_TEMPLATE_NAME "POTENSIO"
#define BLYNK_AUTH_TOKEN "j8jxmsvw9L27TAkO1qDrrPS8gvlThqyT"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <DHT.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST"; //nama hotspot yang digunakan
char pass[] = ""; //password hotspot yang digunakan
const int dhtPin = 14;
const int potPin = 33;
const int LED1 = 12;
const int LED2 = 13;
int tombol;
#define DHTTYPE DHT22
DHT dht(dhtPin, DHTTYPE);
BlynkTimer timer;
void setup() {
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
dht.begin();
timer.setInterval(2500L, sendSensor);
}
void loop() {
// Membaca nilai suhu dan kelembaban dari sensor DHT
Blynk.run();
timer.run();
}
BLYNK_WRITE(V3){
tombol = param.asInt();
if(tombol == 1){
digitalWrite(LED1, HIGH);
}else
digitalWrite(LED1, LOW);
}
BLYNK_WRITE(V4){
tombol = param.asInt();
if(tombol == 1){
digitalWrite(LED2, HIGH);
}else
digitalWrite(LED2, LOW);
}
void sendSensor() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
// Membaca nilai dari potensiometer
int potValue = analogRead(potPin);
Blynk.virtualWrite(V0, temperature);
Blynk.virtualWrite(V1, humidity);
Blynk.virtualWrite(V2, potValue);
Serial.print("Suhu: ");
Serial.print(temperature);
Serial.print(" °C, Kelembaban: ");
Serial.print(humidity);
Serial.println(" %");
Serial.print("Nilai Potensiometer: ");
Serial.println(potValue);
if(temperature>50){
digitalWrite(LED2, HIGH);
} else if
(temperature<50){
digitalWrite(LED2, LOW);
}
if(humidity>65){
digitalWrite(LED1, HIGH);
} else if
(humidity<65) {
digitalWrite(LED1, LOW);
}
if(humidity<40){
digitalWrite(LED1, HIGH);
} else if(humidity>40) {
digitalWrite(LED1, LOW);
}
if(potValue>1000){
digitalWrite(LED1, HIGH), digitalWrite(LED2, HIGH);
} else if
(potValue<1000){
digitalWrite(LED1, LOW), digitalWrite(LED2, LOW);
}
}