| // เลือกซื้อสินค้าของเราได้ที่ |
| //www.ec-bot.com ขอบคุณที่อุดหนุนครับ ^^ |
|
|
| #include <TridentTD_LineNotify.h> // ดาวน์โหลด Library ได้ที่ https://github.com/TridentTD/TridentTD_LineNotify |
| #define SSID "xxx" // เปลี่ยนเป็นชื่อไวไฟของเรา |
| #define PASSWORD "xxx" เปลี่ยนรหัสไวไฟของเรา |
| #define LINE_TOKEN "xxx" ใส่ token line ของเรา |
| #define trigPin1 D3 |
| #define echoPin1 D4 |
| long duration, distance, SR1, SR2; |
| int state = 0; |
| void setup() { |
| Serial.begin(115200); |
| WiFi.begin(SSID, PASSWORD); // เชื่อมต่อ Wi-Fi |
| while (WiFi.status() != WL_CONNECTED) { |
| delay(1000); |
| Serial.print("."); |
| } |
| pinMode(trigPin1, OUTPUT); |
| pinMode(echoPin1, INPUT); |
| Serial.println(""); // เชื่อมต่อเสร็จหลุดออกจากลูป มาทำบรรทัดนี้ลงไป |
| Serial.println("WiFi connected"); |
| LINE.setToken(LINE_TOKEN); // เชื่อมต่อกับ Token Line |
| } |
|
|
| void loop() { |
| SonarSensor(trigPin1, echoPin1); |
| SR1 = distance; |
| Serial.println(SR1); |
| delay(50); |
| if (state == 0) { // เงื่อนไขถ้า state = 0 ให้ทำใน {} |
| if (SR1 <= 20 ) { // เงื่อนไข ถ้า Sensor ตรวจพบวัตถุระยะ 20cm ขึ้นไป ให้ทำใน {} |
| LINE.notify("แจ้งเตือน : ตรวจพบผู้บุกรุก !!"); // ส่งข้อความไปยัง Line "แจ้งเตือน : ตรวจพบผู้บุกรุก !!" |
| state = 1; // ให้ state = 1 |
| } else { // ถ้าเงื่อนไข sonar.ping_cm() มีค่าน้อยกว่า 20 ให้ state = 0 เพื่อวนลูปเช็คเรื่อย ๆ |
| state = 0; |
| } |
| } else if (state == 1) { // ถ้า state = 1 ให้ทำใน {} |
| delay(3000); //หน่วงเวลา 3 วินาที |
| state = 0; // state = 0 เพื่อกลับไปรับค่า Sensor |
| } |
| } |
|
|
| void SonarSensor(int trigPin, int echoPin) |
| { |
| digitalWrite(trigPin, LOW); |
| delayMicroseconds(2); |
| digitalWrite(trigPin, HIGH); |
| delayMicroseconds(10); |
| digitalWrite(trigPin, LOW); |
| duration = pulseIn(echoPin, HIGH); |
| distance = (duration / 2) / 29.1; |
| } |
ความคิดเห็น
แสดงความคิดเห็น