#define BLYNK_PRINT Serial
#define BLYNK_TEMPLATE_ID "TMPL6ty9WXX3w"
#define BLYNK_TEMPLATE_NAME "Project LawnMower"
#define BLYNK_AUTH_TOKEN "b0FJwG8VDShICJ8VzJjNDsVAS4iS4_bR"
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#include <TridentTD_LineNotify.h> // เพิ่มไลบรารีสำหรับ Line Notify
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
const int pingPin = 5;
const int inPin = 18;
void setup() {
Serial.begin(9600);
Serial.println(LINE.getVersion());
Blynk.begin(auth, ssid, pass);
pinMode(pingPin, OUTPUT);
}
void loop() {
Blynk.run();
long duration, cm;
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(5);
digitalWrite(pingPin, LOW);
pinMode(inPin, INPUT);
duration = pulseIn(inPin, HIGH);
cm = microsecondsToCentimeters(duration);
if(cm <= 50){
LINE.setToken("dJz6GgyijlI8NoqUIYB4hi8nJaBKN4kCFU3GWfchiE2"); // กำหนด Token ของ Line Notify
LINE.notify("อันตราย! มีสิ่งกีดขวางห่างไม่เกิน 50 cm");
delay(2000);
}
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(100);
Blynk.virtualWrite(V2, cm);
}
long microsecondsToCentimeters(long microseconds) {
return microseconds / 29 / 2;
}