TRƯỜNG ĐẠI HỌC FPT TP.HỒ CHÍ MINHKHOA: Công Nghệ Thông TinMÔN HỌC: Internet of Things – IOT102ĐỀ TÀI 3: Thiết kế hệ thống báo động chống trộm bằng cảm biến PIR sử dụngboard Arduino... Gi
Trang 1TRƯỜNG ĐẠI HỌC FPT TP.HỒ CHÍ MINH
KHOA: Công Nghệ Thông Tin
MÔN HỌC: Internet of Things – IOT102
ĐỀ TÀI 3: Thiết kế hệ thống báo động chống trộm bằng cảm biến PIR sử dụng
board Arduino
Trang 2Mục Lục
Thành viên nhóm 3 2
I Công nghệ IOT trong việc ứng dụng vào xe tự hành 1 Board Arduino là gì? 4
2 Minh họa xe tự hành sử dụng board Arduino 4
Ví dụ về xe tự hành A Xe tự hành điều khiển từ xa bằng điện thoại thông minh 4
B Xe tự hành theo dõi vạch kẻ đường 5
C Xe tự hành tránh chướng ngại vật 5
D Xe tự hành đi theo động vật 5
II Adruino Project 1 Giới thiệu chủ đề: Hệ thống Báo động chống trộm bằng cảm biến PIR sử dụng board Arduino 5
2 Ý tưởng thực hiện 6
3 Yêu cầu phần cứng và công dụng từng thiết bị 6
4 Mạch kết nối (Circuit) 7
5 Mạch nguyên lý (Schematic) 8
6 Thuật toán 9
7 Code 10
8 Kết quả đạt được 11
9 Video Project 12
Trang 3Thành viên nhóm 3
sản phẩm
mạch
mạch PIR
lời câu hỏi chuyên đề
video demo sản phẩm
Trang 4I Công nghệ IOT trong việc ứng dụng vào xe tự hành
1 Board Arduino là gì?
Arduino là một loại board mạch vi điều khiển nguồn mở, thiết kế để xây dựng
các ứng dụng điện tử tương tác với nhau hoặc với môi trường được thuận lợi hơn Nó được sử dụng rộng rãi trong các dự án điện tử và tự động hóa
Có một số loại board Arduino phổ biến, chẳng hạn như Arduino Uno, Arduino Micro, Arduino Nano, Arduino Pro, Arduino Mega, Arduino Leonardo, và Arduino LilyPad Arduino Uno là loại board đơn giản nhất và rất phù hợp cho người mới bắt đầu học điện tử
Arduino được sử dụng với các phần mềm IDE để lập trình như Arduino IDE, Programino IDE, Visual Studio Code, và có tất cả 6 phiên bản khác nhau, trong đó Arduino Uno và Arduino Mega là phiên bản thường được sử dụng nhiều nhất
2 Minh họa xe tự hành sử dụng board Arduino
Internet vạn vật (IoT) là mạng lưới kết nối các thiết bị thông minh có khả năng
thu thập, chia sẻ dữ liệu qua internet Nhờ tích hợp cảm biến và phần mềm, các thiết bị này có thể giao tiếp và tương tác lẫn nhau, tạo nên nền tảng cho nhiều ứng dụng đột phá trong lĩnh vực xe tự hành
Xe tự hành là một loại phương tiện di động mà không cần sự can thiệp trực tiếp
từ người lái để điều khiển và thực hiện các chuyến đi Thay vào đó, nó sử dụng các hệ thống tự động hoặc tự lái để nhận diện môi trường xung quanh, phân tích thông tin, và
ra quyết định để điều hướng và vận hành phương tiện một cách an toàn và hiệu quả
Xe tự hành đang là một lĩnh vực nghiên cứu và phát triển nhanh chóng, hứa hẹn mang lại nhiều tiện ích trong việc tăng cường an toàn giao thông, giảm thiểu tai nạn và tạo ra những trải nghiệm đi lại mới mẻ
Ví dụ về ứng dụng xe tự hành bằng bo mạch Arduino
Trang 5A Xe tự hành điều khiển từ xa bằng điện thoại thông minh.
- Dự án này sử dụng board Arduino để điều khiển hướng di chuyển của xe tự lái thông qua kết nối Bluetooth với điện thoại thông minh
Linh kiện được sử dụng trong ví dụ
nó cho phép điều khiển xe từ xa
Hướng dẫn chi tiết minh họa: Arduino Bluetooth Car : 12 Steps (with Pictures)
-Instructables
B Xe tự hành sử dụng Sensor.
Trang 6- Sử dụng board Arduino, camera và cảm biến màu để theo dõi vạch kẻ đường và điều khiển xe di chuyển theo đúng làn đường
- Có thể lập trình để xe tự động điều chỉnh hướng di chuyển khi gặp vạch kẻ đường cong hoặc ngã rẽ
Linh kiện được sử dụng trong ví dụ
SR04
Cảm biến siêu âm, dùng để phát hiện chướng ngại vật
Hướng dẫn chi tiết minh họa: How to Build: Arduino Self-Driving Car : 7 Steps
(with Pictures) - Instructables
Trang 7C Xe tự hành tránh chướng ngại vật.
- Dự án này sử dụng board Arduino kết hợp với cảm biến siêu âm để phát hiện chướng ngại vật và điều khiển xe tự lái tự động tránh va chạm
Linh kiện được sử dụng trong ví dụ
Cảm biến siêu âm là thiết bị điện tử đo khoảng cách của mục tiêu bằng cách phát sóng âm siêu
âm và chuyển đổi những sóng âm này thành tín hiệu điện
Video Minh Họa: How To Make A DIY Arduino Obstacle Avoiding Car At Home - YouTube
Trang 8D Xe tự hành đi theo.
- Dự án này sử dụng board Arduino cùng với Ultrasonic Sensor và Infrared Sensor
để đi theo con người hoặc động vật
Video Minh Họa: How To Make Arduino Human Following Robot - YouTube
II Adruino Project
1 Giới thiệu chủ đề: Hệ thống Báo động chống trộm bằng cảm biến PIR sử dụng board Arduino.
- Trong xã hội hiện đại, vấn đề an ninh luôn là mối quan tâm hàng đầu của mỗi
gia đình và doanh nghiệp Trộm cắp, xâm nhập trái phép là những nguy cơ tiềm ẩn có thể xảy ra bất cứ lúc nào Để bảo vệ tài sản và con người, việc sử dụng các hệ thống báo động chống trộm là vô cùng cần thiết
Trang 9- Là một giải pháp an ninh thế hệ mới, hệ thống Báo động chống trộm bằng cảm biến PIR sử dụng board Arduino mang đến nhiều ưu điểm vượt trội so với các giải pháp truyền thống do:
Hiệu quả cao
Tiết kiệm chi phí
Dễ dàng sử dụng
Linh hoạt
Hệ thống thông minh
2 Ý tưởng thực hiện
- Nhóm dự định sử dụng bộ kit Arduino, cùng với cảm biến PIR và cảm biến thu tín hiệu hồng ngoại, để có thể kích hoạt trạng thái bật tắt hệ thống thông qua remote Khi hệ thống được bật, 1 đèn tín hiệu sẽ sáng lên để thông báo rằng hệ thống đã được kích hoạt Nếu PIR phát hiện chuyển động trong vùng phát hiện của nó, lập tức còi báo động sẽ hú lên cùng với 2 đèn tín hiệu sẽ sáng lên Khi hệ thống tắt, tất cả mọi hoạt động của linh kiện cũng sẽ được tắt theo
3 Yêu cầu phần cứng và công dụng từng thiết bị
STT Tên Linh
Kiện
Số lượng (Cái)
1 Mạch Arduino
Bộ vi điều khiển trung tâm của hệ thống Xử
lý tín hiệu từ cảm biến
2
Cảm biến
chuyển động
PIR
1
Phát hiện sự chuyển động bằng cách đo sự thay đổi của ánh sáng hồng ngoại trong môi trường
3 Cảm biến thu
Nhận tín hiệu từ điều khiển từ xa IR
Trang 104 Điều khiển từ
Gửi tín hiệu hồng ngoại đến cảm biến thu hồng ngoại, được
sử dụng để bật và tắt
hệ thống
5 Đèn LED màu
Thông báo rằng hệ thống đang được kích hoạt
6 Đèn LED màu
Thông báo rằng hệ thống đang được kích hoạt
7 Điện trở 330 Ω 3
Giới hạn dòng điện qua đèn LED, giúp bảo vệ chúng không
bị quá tải và đảm bảo chúng sáng ổn định
Phát ra âm thanh khi cảm biến chuyển động PIR phát hiện sự chuyển động
Kết nối các linh kiện khác nhau trong hệ thống
10 Dây cắm
đực-đực vs đực-đực cái Nhiều
Kết nối các thiết bị với Arduino
Trang 114 Mạch kết nối (Circuit)
Mạch mô phỏng:
Trang 125 Mạch nguyên lý (Schematic)
6 Thuật toán
- Khởi tạo:
+ Thiết lập kết nối serial để giao tiếp với máy tính
+ Khởi tạo đối tượng IR receiver (irrecv) và cấu hình chân nhận tín hiệu IR
+ Đặt chế độ chân LED, cảm biến PIR và buzzer là INPUT hoặc OUTPUT
- Vòng lặp chính (loop):
+ Kiểm tra nếu có tín hiệu IR nhận được:
Nếu mã IR là 0xFF38C7 (ON), bật LED1 và in ra "PIR: ON" Nếu mã IR là 0xFF18E7 (OFF), tắt LED1 và in ra "PIR: OFF" + Đọc trạng thái của cảm biến PIR
+ Nếu LED1 đang bật (hệ thống đang được kích hoạt) và cảm biến PIR phát hiện chuyển động:
Trang 13+ Bật LED2 và LED3.
+ In ra "Motion Detected Please check"
+ Gọi hàm playAlertSound() để phát âm thanh cảnh báo bằng buzzer + Đợi 500ms
+ Tắt LED2 và LED3
- Hàm playNote(int note, int duration):
+ Hàm này được sử dụng để phát một nốt nhạc với tần số (note) và thời lượng (duration) nhất định trên buzzer
+ Tính toán khoảng thời gian trì hoãn (delayPeriod) dựa trên tần số nốt nhạc
+ Tính toán số chu kỳ cần phát dựa trên thời lượng nốt nhạc
+ Trong vòng lặp, đảo trạng thái của buzzer (HIGH và LOW) với khoảng thời gian trì hoãn delayPeriod để tạo ra âm thanh
- Hàm playAlertSound():
+ Hàm này gọi hàm playNote() để phát một chuỗi ba nốt nhạc (A4, B4, C5) với thời lượng 1000ms (1 giây) để tạo ra âm thanh cảnh báo trên buzzer
7 Code
#include <IRremote.h>
#include "pitch.h"
int RECV_PIN 2 = ;
IRrecv irrecv( RECV_PIN );
decode_results results;
void setup() {
, Serial.begin( 9600 );
, irrecv.enableIRIn();
, pinMode(led1, OUTPUT );
, pinMode(led2, OUTPUT );
, pinMode(led3, OUTPUT );
, pinMode(sensor, INPUT );
, pinMode(buzzerPin, OUTPUT );
}
Trang 14void playNote( note, duration) { int int
, delayPeriod = int 1000000 note ; / / 2
, numCycles = note duration int * / 1000 ;
, for ( i = ; i numCycles; i int 0 < ++ ) {
, , digitalWrite(buzzerPin, HIGH );
, , delayMicroseconds(delayPeriod);
, , digitalWrite(buzzerPin, LOW );
, , delayMicroseconds(delayPeriod);
, }
}
void playAlertSound() {
, SửB // dụng hàm playNote đểB phát âm thanh ca Bnh báo
, playNote( NOTE_A4 1000 , ); NốJ // t A4, thời lửợng 200ms
, delay( 50 );
, playNote( NOTE_B4 1000 , );
, delay( 50 );
, playNote( NOTE_C5 1000 , );
}
void loop() {
, (irrecv.decode( results)) { if &
, , irrecv.resume();
, , (results.value if == 0x FF38C7 ) {
, , , digitalWrite(led1, HIGH );
, , , Serial.println( " PIR: ON " );
, , } else if (results.value == 0x FF18E7 ) {
, , , digitalWrite(led1, LOW );
, , , Serial.println( " PIR: OFF " );
, , }
, }
, val = digitalRead(sensor);
, (digitalRead(led1) if == HIGH && val == HIGH ) {
, , digitalWrite(led2, HIGH );
, , digitalWrite(led3, HIGH );
, , Serial.println( " Motion Detected Please check " );
, , playAlertSound(); Hú còi buzzer khi phát hiện chuyểB // n động
, , delay( 500 ); Chờ // 500ms
, , digitalWrite(led2, LOW );
, , digitalWrite(led3, LOW );
, }
}
8 Kết quả đạt được
Khả năng phát hiện xâm nhập: Phát hiện chuyển động chính xác, giảm thiểu báo động giả
Trang 15Hệ thống báo động hiệu quả: Kích hoạt báo động bằng âm thanh, đèn LED Kết nối với còi hú, chuông báo động và âm thanh báo động lớn, thu hút sự chú ý
Dễ dàng sử dụng và quản lý: Cài đặt và sử dụng đơn giản (Điều khiển qua board Arduino)
Tiết kiệm chi phí: Lắp đặt và vận hành thấp hơn so với giải pháp truyền thống
và sử dụng nguồn điện hiệu quả
9 Video Project
Group 3 - IOT102 SE1862 - Hệ thống báo động chống trộm sử dụng cảm biến PIR