#include <WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>
#include <DHT.h>
#include <ESP32Servo.h>
char ssid[] = "Wokwi-GUEST"; // Gantilah dengan SSID WiFi Anda
char pass[] = " "; // Gantilah dengan kata sandi WiFi Anda
#define BOTtoken "6669315474:AAGtDqs3vWNw8XIC8h7GzFb4CQUW85Qd_CQ" // Gantilah dengan token bot Telegram Anda
#define CHAT_ID "1711422258" // Gantilah dengan ID chat Anda
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
WiFiClientSecure secured_client;
UniversalTelegramBot bot(BOTtoken, secured_client);
Servo myServo;
int servoPin = 2; // Pin untuk servo motor
int servoOpenAngle = 90; // Sudut untuk atap terbuka
int servoClosedAngle = 0; // Sudut untuk atap tertutup
void setup() {
Serial.begin(115200);
// Inisialisasi servo
myServo.attach(servoPin);
myServo.write(servoClosedAngle);
// Inisialisasi Wi-Fi
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
// Inisialisasi sensor DHT
dht.begin();
}
void loop() {
// Membaca sensor DHT
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
if (!isnan(humidity) && !isnan(temperature)) {
// Mengirim pesan suhu dan kelembaban ke bot Telegram
String message = "Suhu: " + String(temperature) + " °C\nKelembaban: " + String(humidity) + " %";
bot.sendMessage(CHAT_ID, message); // Gantilah YOUR_CHAT_ID dengan ID chat Anda
}
// Membaca sensor LDR dan memberikan respons sesuai kondisi cahaya
int ldrValue = analogRead(A0); // A0 adalah pin analog yang digunakan untuk sensor LDR
if (ldrValue < 500) { // Sesuaikan ambang cahaya sesuai kebutuhan
myServo.write(servoOpenAngle);
} else {
myServo.write(servoClosedAngle);
}
delay(1000); // Delay antara pembacaan sensor
}