Cảnh báo trộm bằng cảm biến PIR (HC-SR501) thông qua App Blynk sử dụng ESP8266

Cảnh báo trộm bằng cảm biến PIR (HC-SR501) thông qua App Blynk sử dụng ESP8266

Nội dung bài viết hôm nay mình sẽ sử dụng cảm biến PIR (HC – SR501) để làm một hệ thống cảnh báo khi có trộm đột nhập.

Hệ thống sẽ gửi thông báo về điện thoại khi có vật thể chuyển động. Bằng cách sử dụng NodeMCU ESP8266 với App Blynk.

app-bylnk-server-nodemcu-esp8266-pir-sr501

Để hiểu hơn về cấu tạo và cách hoạt động của cảm biến PIR (HC – SR501) các bạn có thể tìm đọc bài viết về Arduino miễn phí dành cho người mới nhập môn.

Cấu hình thông số tin nhắn trên App Blynk

Để hiển thị Tin nhắn chúng ta vào Widget Box (+) > Click vào Notification 

Nếu bạn chưa biết cách làm sao để tải App và tạo một Project trên Blynk các bạn xem bài viết bên dưới nhé.

blynk-Notification

Cài đặt thông số PIR (HC – SR501)

  • Ở mục “NOTIFY WHEN HARDWARE GOES OFFLINE”: Chuyển nút OFF Thành nút ON
  • Mục “PRIORITY”: Chuyển HIGH thành LOW nhé.
blynk-pir

Như vậy là đã xong phần cài đặt, bước tiếp theo ta tiến hành upload chương trình và xem kết quả nhé.

upload-chuong-trinh-blynk

Sơ đồ đấu nối

NodeMCU ESP8266 PIR (HC – SR501) 
Vin VCC
D7 OUT
GND GND
nguyen-ly-pir-sr501-esp8266

Các linh kiện cần thiết cho dự án

Tên linh kiện Số lượng Shopee
NodeMCU ESP8266 1 Mua ngay
Dây cắm (Cái – Cái) 1 Mua ngay
Relay 5V/1 kênh 1 Mua ngay
Cảm biến PIR (HC-SR501) 1 Mua ngay
Còi 12V DC 1 Mua ngay

 Code:

#include <ESP8266WiFi.h>
#define BLYNK_PRINT Serial // Comment this out to disable prints and save space
#include <BlynkSimpleEsp8266.h>

char auth[] = "90e6fc3ed332435587af6799fb58de88";/* WiFi credentials */
char ssid[] = "Nha Tro 4";
char pass[] = "nguyennam";

/* HC-SR501 Motion Detector */
#define ledPin D0
#define pirPin D7 // Input for HC-S501
int pirValue; // Place to store read PIR Value

void setup()
{
digitalWrite(ledPin, LOW);
Serial.begin(115200);
delay(10);
Blynk.begin(auth, ssid, pass);
pinMode(ledPin, OUTPUT);
pinMode(pirPin, INPUT);
digitalWrite(ledPin, HIGH);
}

void loop()
{
getPirValue();
Blynk.run();
}

/***************************************************
* Get PIR data
**************************************************/
void getPirValue(void)
{
pirValue = digitalRead(pirPin);
if (pirValue)
{
Serial.println("==> co trom anh oi");
Blynk.notify("Anh hùng có trộm đột nhập phòng anh ơi hihi");
}
digitalWrite(ledPin, pirValue);
}

Thư viện

  • Download thư viện “BlynkSimpleEsp8266.h”: Tải ngay

Giải thích Code

Các bạn thêm mã Token (“Enter you Auth Token”) và điền các thông tin tài khoản (“wifi router name “) và mật khẩu Wifi (“wifi router pass”) vào nhé.

Lời kết

Thật thú vị phải không các bạn, một ứng dụng thật đơn giản nhưng qua đó các bạn có thể sáng tạo riêng cho mình một dự án hay ho hơn, ví dụ có thể dùng PIR (HC – SR501) làm một mạch chống trộm. 

Trong quá trình chế tạo mọi thắc mắc các bạn nhớ Comment bên dưới bài viết mình sẽ trả lời trong thời gian sớm nhất.

Tham gia cộng đồng Arduino KIT Để nhận được nhiều kiến thức bổ ích, các bạn Đăng ký để nhận thông báo khi có bài viết mới nhé. Tham gia Cộng đồng Arduino KIT để cùng nhau thảo luận và chia sẽ kiến thức về lập trình Arduino. Nếu các bạn thấy bài viết bổ ích nhớ LikeShare cho mọi người cùng học nhé.

Chúc các bạn thành công.

Trân trọng.

Bài viết liên quan

Subscribe
Notify of
guest

4 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Huan

Arduino: 1.8.13 (Windows 10), Board: “Generic ESP8266 Module, 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), dtr (aka nodemcu), 26 MHz, 40MHz, DOUT (compatible), 1MB (FS:64KB OTA:~470KB), 2, nonos-sdk 2.2.1+100 (190703), v2 Lower Memory, Disabled, None, Only Sketch, 115200”

tesst:4:32: fatal error: BlynkSimpleEsp8266.h: No such file or directory

 #include <BlynkSimpleEsp8266.h>

                ^

compilation terminated.

exit status 1

BlynkSimpleEsp8266.h: No such file or directory

Specified folder/zip file does not contain a valid library

This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
Em chép thư viện mà nó báo lỗi như này là sao ạ

Dương Tử

cho code j ma xài không được v anh. mạch có relay ma trong code không có nap vô luc nào cung cũng trộm

Hoan

Cái này dùng nguồn 220v trực tiép hay sao vậy ad?