//Deklarasi Library
#include "CTBot.h"
#include <WiFi.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27, 16, 2);
//Deklarasi Koneksi Internet
CTBot myBot;
String ssid = "Wokwi-GUEST";
String pass = "";
//Deklarasi Token dan ID Bot Telegram
String token = "5970725611:AAFLASpf7Tq5m2Y2bQVh38xU_Qxq2fYTP4Q";
const int id = -803164540;
//deklarasi PIN
const int trigPin = 2;
const int echoPin = 4;
const int ledred = 13;
const int buzzer = 12;
long waktu;
int jarak;
void setup() {
myBot.wifiConnect(ssid, pass);
//Panggil fungsi library LCD
LCD.init();
LCD.backlight();
//Setting tataletak teks
LCD.setCursor(0, 0);
LCD.print("Connecting to ");
LCD.setCursor(0, 1);
LCD.print("WiFi ");
delay(2000);
LCD.clear();
//Cek Koneksi Internet dan Tampilkan IP Address
Serial.println("");
Serial.println("WiFi connected");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
//Setting tataletak teks
LCD.setCursor(0, 0);
LCD.println("Online");
LCD.setCursor(0, 1);
LCD.println("Updating data...");
delay(2000);
LCD.clear();
//Setting tataletak teks
LCD.setCursor(0, 0);
LCD.print("Welcome to");
LCD.setCursor(0, 1);
LCD.print("Smart Monitoring");
delay(2000);
LCD.clear();
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
pinMode(ledred, OUTPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
waktu = pulseIn(echoPin, HIGH);
jarak = waktu * 0.034 / 2;
LCD.setCursor(0, 0);
LCD.print("SMART MONITORING");
LCD.setCursor(0, 1);
LCD.print("Tinggi Air:"+ String(jarak)+"CM");
if(jarak>100)
{
telegram_Waspada();
Serial.println("Status: Waspada");
Serial.println("Ketinggian :" + String(jarak) +"CM");
delay(1000);
digitalWrite(ledred, HIGH);
tone(buzzer,1000);
}
}
void telegram_Waspada(){
//TELEGRAM
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
waktu = pulseIn(echoPin, HIGH);
jarak = waktu * 0.034 / 2;
Serial.println("Starting TelegramBot...");
myBot.wifiConnect(ssid, pass);
myBot.setTelegramToken(token);
if (myBot.testConnection()) {
Serial.println("Koneksi Bagus");
} else {
Serial.println("Koneksi Jelek");
}
myBot.sendMessage(id," **Info Ketinggian air sungai perumahan griya satriya**""\n\n + Ketinggian Air : "+ String(jarak)+ "CM \n" + " + Status: Waspada \n");
Serial.println("Pesan Terkirim");
//TUTUP TELEGRAM
}