#define BLYNK_TEMPLATE_ID "TMPL6xNeNW6IX"
#define BLYNK_TEMPLATE_NAME "buzzer"
#define BLYNK_AUTH_TOKEN "4j9YLt8o5GmPxJ8PuHRvynk0vErm0Nns"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <ArduinoJson.h>
#include <BlynkSimpleEsp32.h>
#include "CTBot.h";
#define Echo 15
#define Trig 2
#define Merah 14
#define Kuning 12
#define Hijau 13
#define buzzer 26
String token="5995634931:AAFD93YkGRenIXGwDpHBeV1nJ27Rjkeiwds";
const int bot_id = 6061312392;
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 > 400){
Serial.println("Aman");
digitalWrite(Hijau, HIGH);
}
else if(jarak > 200 && jarak < 400){
Serial.println("Hama mendekat!");
digitalWrite(Kuning, HIGH);
}
else if(jarak < 200){
Serial.println("Ada hama");
digitalWrite(Merah, HIGH);
}
}
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(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);
ukur_jarak();
output_jarak();
pesan();
Blynk.run();
timer.run();
delay(1000); // this speeds up the simulation
}
esp:VIN
esp:GND.2
esp:D13
esp:D12
esp:D14
esp:D27
esp:D26
esp:D25
esp:D33
esp:D32
esp:D35
esp:D34
esp:VN
esp:VP
esp:EN
esp:3V3
esp:GND.1
esp:D15
esp:D2
esp:D4
esp:RX2
esp:TX2
esp:D5
esp:D18
esp:D19
esp:D21
esp:RX0
esp:TX0
esp:D22
esp:D23
bz1:1
bz1:2
ultrasonic1:VCC
ultrasonic1:TRIG
ultrasonic1:ECHO
ultrasonic1:GND
led1:A
led1:C
led2:A
led2:C
led3:A
led3:C
r1:1
r1:2
r2:1
r2:2
r3:1
r3:2