// #define BLYNK_TEMPLATE_ID "TMPLloOZZdtJ"
// #define BLYNK_TEMPLATE_NAME "Pertemuan5"
// #define BLYNK_AUTH_TOKEN "tPeIfs8xDE4vpcF54cfh2AH0qZG2F6Rz"
// #define BLYNK_PRINT Serial
// #include "CTBot.h";
#include <WiFi.h>
#include <WiFiClient.h>
#include <ArduinoJson.h>
// #include <BlynkSimpleEsp32.h>
#define Echo 15
#define Trig 2
#define Merah 14
#define Kuning 12
#define Hijau 13
#define Biru 27
#define buzzer 26
// String token = "6289261198:AAFloAQQhLD7LImV9KzZ_G2QNsPno0eQhN8";
// const int bot_id = 1787262086;
// char auth[] = BLYNK_AUTH_TOKEN;
// char ssid[] = "Wokwi-GUEST";
// char pass[] = "";
// CTBot mybot;
// BlynkTimer timer;
float jarak = 0;
int nada;
void ukur_jarak(){
digitalWrite(Trig, LOW);
delay(10);
digitalWrite(Trig, HIGH);
delay(10);
digitalWrite(Trig, LOW);
int duration = pulseIn(Echo, HIGH);
jarak = duration * 0.034 / 2 + 1;
Serial.print("Jarak: ");
Serial.print(jarak);
Serial.println(" cm");
}
void output_jarak(){
if(jarak <= 40) {
Serial.println("100% - FULL");
digitalWrite(Biru, HIGH);
tone(buzzer, 500);
}
else if(jarak >= 150) {
Serial.println("25% - EMPTY");
digitalWrite(Merah, HIGH);
tone(buzzer, 100);
}
else if(jarak >= 100) {
Serial.println("50% - MID");
digitalWrite(Kuning, HIGH);
tone(buzzer, 0);
}
else {
Serial.println("75%");
digitalWrite(Hijau, HIGH);
tone(buzzer, 0);
}
}
// void pesan(){
// TBMessage msg;
// if(jarak < 200) {
// tone(buzzer, nada);
// mybot.sendMessage(bot_id, "Ada Hama Kurang dari 2 meter!");
// if(mybot.getNewMessage(msg)) {
// Serial.println("Pesan masuk: " + msg.text);
// String pesan = msg.text;
// if(pesan == "on") {
// mybot.sendMessage(bot_id, "Alarm Dinyalakan");
// }
// if(pesan == "off") {
// noTone(buzzer);
// mybot.sendMessage(bot_id, "Alarm Dimatikan");
// }
// }
// }
// else {
// noTone(buzzer);
// }
// }
// BLYNK_WRITE(V4) {
// nada = param.asInt();
// }
// void kirim_blynk(){
// Blynk.virtualWrite(V0, jarak);
// if(jarak > 400) {
// Blynk.virtualWrite(V1, 1);
// Blynk.virtualWrite(V2, 0);
// Blynk.virtualWrite(V3, 0);
// }
// else if(jarak >= 200 && jarak <= 400) {
// Blynk.virtualWrite(V1, 0);
// Blynk.virtualWrite(V2, 1);
// Blynk.virtualWrite(V3, 0);
// }
// else if(jarak < 200) {
// Blynk.virtualWrite(V1, 0);
// Blynk.virtualWrite(V2, 0);
// Blynk.virtualWrite(V3, 1);
// }
// Blynk.virtualWrite(V4, nada);
// }
void setup() {
Serial.begin(115200);
// Blynk.begin(auth, ssid, pass);
pinMode(Trig, OUTPUT);
pinMode(Echo, INPUT);
pinMode(Merah, OUTPUT);
pinMode(Hijau, OUTPUT);
pinMode(Kuning, OUTPUT);
pinMode(Biru, OUTPUT);
pinMode(buzzer, OUTPUT);
// timer.setInterval(2000L, kirim_blynk);
Serial.println("Memulai Telegram Bot");
// mybot.wifiConnect(ssid, pass);
// mybot.setTelegramToken(token);
// if(mybot.testConnection()) {
// Serial.println("Koneksi Berhasil");
// }
// else {
// Serial.println("Koneksi Gagal");
// }
}
void loop() {
digitalWrite(Merah, LOW);
digitalWrite(Kuning, LOW);
digitalWrite(Hijau, LOW);
digitalWrite(Biru, LOW);
ukur_jarak();
output_jarak();
delay(1000);
}