#include <LiquidCrystal_I2C.h>
#include <WiFi.h> // Library untuk WiFiClient
#include <UniversalTelegramBot.h>
LiquidCrystal_I2C lcd(0x27,16,2);
const int PIN_moisture = 34;
const int PIN_pH = 35;
const char* ssid = "Redmi 9T";
const char* password = "dzakiyah25";
// Inisialisasi Telegram bot dengan token Anda
const char* BOT_TOKEN = "7240794137:AAGD9idJ5nA3b_DMNUZ1efFpLSSK0rpeTMI";
WiFiClient client;
UniversalTelegramBot bot(BOT_TOKEN, client);
void setup() {
lcd.init();
lcd.backlight();
Serial.begin(115200);
lcd.setCursor(0,0);
lcd.print("Sistem Monitoring");
lcd.setCursor(0,1);
lcd.print("Kelembapan & Ph Tanah");
delay(2000);
lcd.clear();
// Mulai koneksi WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi..");
}
Serial.println("Connected to WiFi");
}
void loop() {
int kelembapanTanah = analogRead(PIN_moisture); // Baca nilai sensor kelembapan tanah
kelembapanTanah = map(kelembapanTanah, 0, 4095, 0, 100); // nilai 0-100%
int pH = analogRead(PIN_pH); // Baca nilai sensor pH tanah
pH = map(pH, 0, 4095, 0, 14); // Mengubah nilai analog menjadi range pH 0-14
Serial.print("Nilai Kel. Tanah: ");
Serial.println(kelembapanTanah);
Serial.print("Nilai pH Tanah: ");
Serial.println(pH);
lcd.setCursor(0,0);
lcd.print("Moisture: ");
lcd.setCursor(9,0);
lcd.print(kelembapanTanah);
lcd.setCursor(12,0);
lcd.print("%");
lcd.setCursor(0,1);
lcd.print("pH: ");
lcd.setCursor(4,1);
lcd.print(pH);
// Kirim nilai ke bot Telegram
String message = "Moisture: " + String(kelembapanTanah) + "%\n";
message += "pH: " + String(pH);
bot.sendMessage("5767232369", message); // Ganti "chat_id_anda" dengan ID chat atau channel yang sesuai
delay(2000);
lcd.clear();
}