Đang tải... (xem toàn văn)
LỜI CẢM ƠN 1 DANH MỤC HÌNH ẢNH 3 DANH MỤC BẢNG 4 LỜI NÓI ĐẦU 5 CHƯƠNG I: KHẢO SÁT VÀ XÂY DỰNG BÀI TOÁN 6 1.1.ĐẶT VẤN ĐỀ 6 1.2.ỨNG DỤNG FREERTOS VÀO ĐỀ TÀI 6 1.3.XÂY DỰNG BÀI TOÁN 7 CHƯƠNG II: XÂY DỰNG HỆ THỐNG 8 2.1.SƠ ĐỒ KHỐI 8 2.2.THIẾT KẾ PHẦN CỨNG 9 2.2.1. MODULE ARDUINO UNO R3 9 2.2.2.MODULE ESP32 13 2.2.3. MODULE I2C LCD 15 2.2.4. QUANG TRỞ LDR 17 2.2.5.ĐẦU LAZER 18 2.2.5.SƠ ĐỒ THIẾT KẾ 20 2.3.THIẾT KẾ PHẦN MỀM 21 2.3.1. GIỚI THIỆU VỀ BLYNK 21 2.3.1. PHẦN MỀM LẬP TRÌNH 22 2.3.2.LƯU ĐỒ THUẬT TOÁN 24 CHƯƠNG III: THỬ NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG 28 3.1.THỬ NGHIỆM HỆ THỐNG 28 3.2.ĐÁNH GIÁ HỆ THỐNG 29 CHƯƠNG IV: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 30 4.1.KẾT QUẢ ĐẠT ĐƯỢC 30 4.2.HƯỚNG PHÁT TRIỂN 30 TÀI LIỆU THAM KHẢO 32 PHỤ LỤC 33
Trang 1BÁO CÁO
MÔN HỌC: HỆ ĐIỀU HÀNH NHÚNG THỜI GIAN THỰC
ĐỀ TÀI: THIẾT BỊ CẢNH BÁO CHỐNG TRỘM VỚI LAZER SỬDỤNG HỆ ĐIỀU HÀNH FREERTOS
Hà Nội, 2024
Trang 2LỜI CẢM ƠN
Trong quá trình thực hiện đề tài “THIẾT BỊ CẢNH BÁO CHỐNGTRỘM VỚI LAZER SỬ DỤNG HỆ ĐIỀU HÀNH FREERTOS” nhóm
chúng em vinh dự nhận được sự dẫn dắt nhiệt tình của
Trong suốt quá trình đó, chúng em đã nhận được sự quan tâm giúp đỡ củacô không chỉ để hoàn thiện đề tài mà còn giúp chúng em phần nào củng cố đượckiến thức còn thiếu sót Cùng với đó chúng em cũng rất hạnh phúc khi nhậnđược sự hỗ trợ của các thầy cô trong khoa và các bạn cùng khóa.
Lời cuối cùng chúng em xin chân thành cảm ơn cô đã luôn đồng hànhcùng chúng em trong chặng đường vừa rồi, chúng em cũng mong muốn được côdẫn dắt cho các đồ án tiếp theo
Chúng em xin chân thành cảm ơn!
Trang 3MỤC LỤC
LỜI CẢM ƠN 1
DANH MỤC HÌNH ẢNH 3
DANH MỤC BẢNG 4
LỜI NÓI ĐẦU 5
CHƯƠNG I: KHẢO SÁT VÀ XÂY DỰNG BÀI TOÁN 6
1.1.ĐẶT VẤN ĐỀ 6
1.2.ỨNG DỤNG FREERTOS VÀO ĐỀ TÀI 6
1.3.XÂY DỰNG BÀI TOÁN 7
CHƯƠNG II: XÂY DỰNG HỆ THỐNG 8
2.3.2.LƯU ĐỒ THUẬT TOÁN 24
CHƯƠNG III: THỬ NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG 28
3.1.THỬ NGHIỆM HỆ THỐNG 28
3.2.ĐÁNH GIÁ HỆ THỐNG 29
Trang 4CHƯƠNG IV: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 30
4.1.KẾT QUẢ ĐẠT ĐƯỢC 30
4.2.HƯỚNG PHÁT TRIỂN 30
TÀI LIỆU THAM KHẢO 32
PHỤ LỤC 33
Trang 5DANH MỤC HÌNH Ả
Hình 1 1: Chống trộm bằng lazzer 6
YHình 2 1: Sơ đồ khối 9
Hình 2 2: Module Arduino UNO R3 10
Hình 2 3: Sơ đồ chân của Arduino UNO R3 11
Hình 2 16: Lưu đồ thuật toán 24
Hình 2 17: Lưu đồ thuật toán 25
Hình 2 18: lưu đồ thuật toán 26
Hình 2 19: Lưu đồ thuật toán 27
Hình 3 1: Sản phẩm hoàn thiện 28
Hình 3 2: Cảnh báo trên App điện thoại 29
Trang 6DANH MỤC BẢNG
Bảng 2 1: Thông số kỹ thuật của Arduino UNO R3 10
Bảng 2 2: Thông số kỹ thuật của ESP32 14
Bảng 2 3: Thông số kỹ thuật của LCD 15
Bảng 2 4 Thông số kỹ thuật của I2C 16
Bảng 2 5: Thông số kỹ thuật của quang trở LDR 18
Bảng 2 6: Thông số kỹ thuật của Lazer 18
Trang 7LỜI NÓI ĐẦU
Trong xã hội ngày nay, vấn đề an ninh và an toàn ngày càng trở nên quantrọng hơn bao giờ hết Trộm cắp và xâm nhập đã trở thành những nguy cơ đedọa đến sự yên bình và tài sản của chúng ta Để đối phó với những tình huốngnày, việc áp dụng công nghệ thông minh và hiệu quả là điều cần thiết.
Nhóm đã thực hiện đề tài "Thiết Bị Cảnh Báo Chống Trộm với Lazer SửDụng Hệ Điều Hành FreeRTOS" với mong muốn tạo ra một thiết bị cảnh báo
chống trộm phù hợp với nhu cầu đời sống hiện nay.
Hệ thống này không chỉ là một giải pháp cảnh báo tiên tiến, mà còn là sựkết hợp hài hòa giữa công nghệ laser và hệ điều hành nhúng FreeRTOS.FreeRTOS, với tính linh hoạt và độ tin cậy cao, là nền tảng lý tưởng để xâydựng các ứng dụng nhúng đòi hỏi sự chính xác và thời gian thực.
Hy vọng rằng đề tài này sẽ mang lại những giá trị thực tiễn và đóng góptích cực vào việc cải thiện hệ thống an ninh và an toàn trong cộng đồng.
Trong quá trình thực hiện, do kiến thức còn hạn chế nên không tránh khỏinhững sai sót, rất mong nhận được sự thông cảm và góp ý của các thầy cô và cácbạn để báo cáo được hoàn thiện hơn.
Đề tài bao gồm các nội dung sau:
CHƯƠNG I: KHẢO SÁT VÀ XÂY DỰNG BÀI TOÁN.CHƯƠNG II: XÂY DỰNG HỆ THỐNG.
CHƯƠNG III: THỬ NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG.CHƯƠNG IV: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.
Trang 8CHƯƠNG I: KHẢO SÁT VÀ XÂY DỰNG BÀI TOÁN1.1.ĐẶT VẤN ĐỀ
Thực tế hiện nay xã hội đang ngày càng phát triển, cùng với đó là sự giatăng các tệ nạn xã hội và sự tinh vi trong hình thức phạm tội Chúng ta hiện naykhông chỉ có mong muốn cải thiện chất lượng cuộc sống chúng ta cũng có nhucầu bảo vệ an toàn bản thân và tài sản cá nhân do đó các hệ thống chống trộm rađời là điều vô cùng cần thiết
Hình 1 1: Chống trộm bằng lazzer
Với ý tưởng và mong muốn tạo ra được 1 hệ thống có khả năng cảnh báochống trộm đơn giản và chi phí phù hợp với sinh viên chúng em đã chọn đề tài
“Thiết Bị Cảnh Báo Chống Trộm với Lazer Sử Dụng Hệ Điều Hành FreeRTOS”.
Đây là một đề tài có đóng góp thiết thực cho cuộc sống của chúng ta hiện nay.
1.2.ỨNG DỤNG FREERTOS VÀO ĐỀ TÀI
FreeRTOS là một hệ điều hành nhúng thời gian thực mã nguồn mở ra đờitừ năm 2003, đến nay nó được phát triển rất mạnh mẽ và nhận được nhiều sựủng hộ của các lập trình cho các hệ nhúng FreeRTOS có tính khả chuyển, có thểsử dụng miễn phí hoặc dùng cho mục đích thương mại Nó có nhiều ưu điểm nổi
Trang 9bật so với các hệ điều hành nhúng thời gian thực khác như có kích thứơc rất nhỏgọn nên rất phù hợp với các hệ nhúng thời gian thực nhỏ, được viết bằng ngônngữ C nên có độ phù hợp cao với các nền phần cứng khác nhau Ngoài ra,FreeRTOS còn hỗ trợ các cơ chế như cho phép tạo cả task và coroutie với sốlượng task là không giới hạn phụ thuộc vào tài nguyên của phần cứng, của chip,hỗ trợ cơ chế truyền thông đồng bộ giữa các task hoặc giữa task và ngắt bằngcách sử dụng hàng đợi hoặc semaphore nhị phân hoặc semaphore đếm và cácmutex, cho phép nhận biết khi ngăn xếp bị tràn Ngay cả trong các hệ thốngnhúng lớn người ta vẫn có thể sử dụng FreeRTOS để tiết kiệm được dung lượngbộ nhớ và làm cho hệ thống ít bị quá tải.
Để xây dựng và quản lý các thiết bị cảnh báo chống trộm một cách hiệuquả và tối ưu, việc sử dụng một hệ điều hành FreeRTOS là yếu tố đáng tin cậy.
1.3.XÂY DỰNG BÀI TOÁN
Việc bảo vệ người và tài sản là vô cùng quan trọng trong cuộc sống hiệnnay Phát triển những thiết bị điện tử có khả năng cảnh báo chống trộm là điềucần thiết để phục vụ nhu cầu đời sống con người về vấn đề an ninh trật tự Đề tài
“Thiết Bị Cảnh Báo Chống Trộm với Lazer Sử Dụng Hệ Điều HànhFreeRTOS” góp phần giải quyết được vấn đề đó và đồng thời đặt ra các tiêu chí:
dễ sử dụng, dễ lắp đặt, giá thành phải chăng Cụ thể yêu cầu đặt ra:
Phần cứng: Hệ thống hoạt động ổn định, có thể quan sát trạng tháicửa trên màn hình LCD, đồng thời gửi cảnh báo đến các thiết bịsmartphone có kết nối internet.
Phần mềm: đơn giản, thân thiện với người dùng Cho phép ngườidùng nhận cảnh báo tức thì trên thiết bị smartphone có kết nốiinternet.
Hệ thống chính sẽ bao gồm : Arduino UNO R3 ESP32
Quang trở LDR Đầu lazer
Trang 10Khối đầu vào: tia laze chiếu vào quang trở, ta sẽ đọc được điện áp ở mức
cao, khi mở cửa thì tia laze bị cản dẫn đến ánh sáng chiếu vào quang trở thấp thìđiện áp sẽ ở mức thấp
Khối xử lý trung tâm: Xử lý dữ liệu từ khối đầu vào và gửi dữ liệu đến
khối đầu ra.
Khối đầu ra: Còi báo động để cảnh báo có trộm, LCD hiện thị trạng thái
Cloud server: Nhận và lưu trữ dữ liệu từ khối xử lý trung tâm gửi lên
thông qua Internet chịu trách nhiệm về tất cả các giao tiếp giữa điện thoại thôngminh và phần cứng.
Trang 11App: Nơi giao tiếp với người dùng, hỗ trợ người dùng nhận cảnh báo từ
xa thông qua Internet.
Khối nguồn: Cấp nguồn cho toàn bộ hệ thống hoạt động2.2.THIẾT KẾ PHẦN CỨNG
2.2.1 MODULE ARDUINO UNO R3
Mạch Arduino Uno là dòng mạch Arduino phổ biến, khi mới bắt đầu làmquen, lập trình với Arduino thì mạch Arduino thường nói tới chính là dòngArduino UNO Hiện dòng mạch này đã phát triển tới thế hệ thứ 3 (MạchArduino Uno R3)
Arduino Uno R3 là dòng cơ bản, linh hoạt, thường được sử dụng chongười mới bắt đầu Bạn có thể sử dụng các dòng Arduino khác như: ArduinoMega, Arduino Nano, Arduino Micro… Nhưng với những ứng dụng cơ bản thìmạch Arduino Uno là lựa chọn phù hợp nhất.
Hình 2 2: Module Arduino UNO R3
Arduino UNO R3 là kit Arduino UNO thế hệ thứ 3, với khả năng lập trìnhcho các ứng dụng điều khiển phức tạp do được trang bị cấu hình mạnh cho cácloại bộ nhớ ROM, RAM và Flash, các ngõ vào ra digital I/O trong đó có nhiềungõ có khả năng xuất tín hiệu PWM, các ngõ đọc tín hiệu analog và các chuẩngiao tiếp đa dạng như UART, SPI, TWI (I2C).
Trang 12Thông số kỹ thuật của Arduino UNO R3:
Điện áp hoạt động 5V DC (chỉ được cấp qua cổngUSB)
Điện áp vào khuyên
Số chân Digital I/O 14 (6 chân hardware PWM)
Dòng tối đa trên mỗi
Bảng 2 1: Thông số kỹ thuật của Arduino UNO R3
Hình 2 3: Sơ đồ chân của Arduino UNO R3
Các chân năng lượng:
Trang 13 GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO.
Khi dùng các thiết bị sử dụng những nguồn điện riêng biệt thìnhững chân này phải được nối với nhau
5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là
500mA
3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa ở chân này là 50mA
Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, ta nối
cực dương của nguồn với chân này và cực âm với chân GND IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có
thể được đo ở chân này Và dĩ nhiên nó luôn là 5V Mặc dù vậykhông được lấy nguồn 5V từ chân này để sử dụng bởi chức năngcủa nó không phải là cấp nguồn.
RESET: việc nhấn nút Reset trên board để reset vi điều khiển
tương đương với việc chân RESET được nối với GND qua 1 điệntrở 10KΩ
Các chân Input/Output:
Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúngchỉ có 2 mức điện áp là 0V và 5V với dòng tối đa trên mỗi chân là 40mA
Một số chân digital có các chức năng đặc biệt như sau:
2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận
(receive – RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiếtbị khác thông qua 2 chân này Kết nối bluetooth thường thấy nói nôm nachính là kết nối Serial không dây Nếu không cần giao tiếp Serial, khôngnên sử dụng 2 chân này nếu không cần thiết.
Chân PWM (~) 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM
với độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằnghàm analogWrite() Nói một cách đơn giản, có thể điều chỉnh được điện
Trang 14áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5Vnhư những chân khác
Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài
các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệubằng giao thức SPI với các thiết bị khác
LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L) Khi
bấm nút Reset, ta sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối vớichân số 13 Khi chân này được người dùng sử dụng, LED sẽ sáng
Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tínhiệu 10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V Với chânAREF trên board, ta có thể để đưa vào điện áp tham chiếu khi sử dụng các chânanalog Tức là nếu cấp điện áp 2.5V vào chân này thì ta có thể dùng các chânanalog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit
Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giaotiếp I2C/TWI với các thiết bị khác.
2.2.2.MODULE ESP32
Hình 2 4: Module ESP32-WROOM-32D
ESP32 là một bộ vi điều khiển thuộc danh mục vi điều khiển trên chip công suất thấp và tiết kiệm chi phí Hầu hết tất cả các biến thể ESP32 đều tích hợp Bluetooth và Wi-Fi chế độ kép, làm cho nó có tính linh hoạt cao, mạnh mẽ và đáng tin cậy cho nhiều ứng dụng.
Nó là sự kế thừa của vi điều khiển NodeMCU ESP8266 phổ biến và cung cấp hiệu suất và tính năng tốt hơn Bộ vi điều khiển ESP32 được sản xuất bởi
Trang 15Espressif Systems và được sử dụng rộng rãi trong nhiều ứng dụng khác nhau như IoT, robot và tự động hóa.
ESP32 cũng được thiết kế để tiêu thụ điện năng thấp, lý tưởng cho các ứng dụng chạy bằng pin Nó có hệ thống quản lý năng lượng cho phép nó hoạt động ở chế độ ngủ và chỉ thức dậy khi cần thiết, điều này có thể kéo dài tuổi thọ pin rất nhiều.
Thông số kỹ thuật:
với tần số hoạt động lên đến 240 MHz
và các tính năng của lõi chip.
520 KBytes SRAM trên chipdùng cho dữ liệu và các lệnhinstruction.
8 KBytes SRAM trong RTC(gọi là RTC SLOW Memory) để truyxuất bởi các bộ co-processor.
8 KBytes SRAM trong RTC(gọi là RTC FAST Memory) dùngcho lữu dữ liệu, truy xuất bởi CPUkhi RTC đang boot từ chế độ Deep-sleep.
1 Kbit EFUSE, với 256 bit cho hệthống (địa chỉ MAC và cấu hình chip),768 còn lại cho ứng dụng người dùng,gồm cả mã hóa bộ nhớ Flash và định IDcho chip.
Bluetooth: BR/EDR phiên bảnv4.2 và BLE
kênh.
Trang 16Bộ chuyển đổi 8-bits DAC: 2kênh.
10 chân để giao tiếp với cảmbiến chạm (touch sensor).
Ngõ ra PWM cho điều khiểnMotor.
LED PWM: 16 kênh.Cảm biến Hall.
Cảm biến nhiệt độ.4 X SPI.
2 X I²S.2 X I²C.3 X UART.Nhiệt độ hoạt động ổn định - 40°C đến 85°C
Bảng 2 2: Thông số kỹ thuật của ESP32
Hình 2 5: Sơ đồ chân của esp32
Trang 172.2.3 MODULE I2C LCD
Hình 2 6: Module LCD
LCD (Liquid Crystal Display) được sử dụng trong rất nhiều các ứng dụngcủa vi điều khiển LCD có rất nhiều ưu điểm so với các dạng hiển thị khác Nócó khả năng hiện thị kí tự đang dạng, trực quan (chữ, số và kí tự đồ họa), dễdàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn rất íttài nguyên hệ thống và giá thành rẻ,… LCD có rất nhiều dạng phân biệt theokích thước từ vài kí tự đến hàng chục kí tự, từ 1 hàng đến vài chục hàng.
Thông số kỹ thuật của Module LCD
Điện áp hoạtđộng
5VDòng điện
tiêu thụ
350uA-Nhiệt độ hoạtđộng
Bảng 2 3: Thông số kỹ thuật của LCD
LCD20x4 có số lượng chân và cách kết nối tương tự LCD16x2.
Hình 2 7: Sơ đồ chân của lcd
Trang 18Module I2C LCD
Tuy nhiên, LCD có khá nhiều nhiều chân gây khó khăn trong quá trìnhđấu nối và chiếm dụng nhiều chân trên vi điều khiển
Module I2C LCD ra đời và giải quyết vấn để này một cách tối ưu Thay
vì cần ít 6 chân vi điều khiển để kết nối với LCD (RS, EN, D7, D6, D5 và D4)thì module IC2 chỉ cần tốn 2 chân (SCL, SDA)x để kết nối Module I2C hỗ trợcác loại LCD sử dụng driver HD44780(LCD 16×2, LCD 20×4, …) ngoài ra cóthể điều chỉnh được độ tương phản bởi biến trở gắn trên module và tương thíchvới hầu hết các vi điều khiển hiện nay.
Hình 2 8: Module I2C
Thông số kỹ thuật:
Điện áphoạt động
2.5 – 6V DCHỗ trợ màn
LCD1602, 1604, 2004 (driver HD44780).Địa chỉ
mặc định
0X27 (có thể điều chỉnh bằng ngắn mạch chânA0/A1/A2)
Trọnglượng
Trang 19Module được thiết kế dễ dàng cắm vào màn hình LCD theo các chân định sẵn:
Hình 2 9: Sơ đồ chân của I2C
2.2.4 QUANG TRỞ LDR
Quang trở hay còn gọi là Điện trở quang (Light Dependent Resistor) Nócũng được gọi là chất dẫn quang Về cơ bản, quang trở là một tế bào quang điệnhoạt động theo nguyên tắc quang dẫn hay có nghĩa là nó là một điện trở có giátrị điện trở thay đổi theo cường độ ánh sáng Quang trở được sử dụng nhiềutrong các mạch cảm biến ánh sáng, mạch chuyển đổi, Một số ứng dụng kể đếncủa LDR như đồng hồ đo ánh sáng máy ảnh, đèn đường, radio đồng hồ, báođộng ánh sáng,
Hình 2 10: Quang trở
Trang 20Thông số kỹ thuật của quang trở:
Hình 2 11: Đầu lazer
Thông số kỹ thuật của Lazer:
Trang 21Công suất 5mW
Dòng điệntiêu thụ
<40mANhiệt độ hoạt
Bảng 2 6: Thông số kỹ thuật của Lazer
Trong đề tài còn sử dụng thêm: Điện trở, còi buzzer, công tắc và led.
Khi nút nhấn được nhấn thì chế độ cảnh báo hoạt động led xanh sáng, điện áp đọc được thấp hơn ngưỡng cài đặt thì còi và led đỏ
Trang 22bật Esp32 nhận và đọc dữ liệu từ Arduino, gửi dữ liệu đến Blynk khi đó app điện thoại sẽ thông báo đến người dùng ngay lập tức. Lcd hiện thị trạng thái cửa đóng mở theo giá trị nhận được từ hàng
2.3.THIẾT KẾ PHẦN MỀM2.3.1 GIỚI THIỆU VỀ BLYNK
Hình 2 13: Blynk
Blynk: Blynk là một phần mềm mã nguồn mở được thiết kế cho các ứng
dụng IoT (Internet of Things) Ứng dụng giúp người dùng điều khiển phần cứng từ xa, có thể hiển thị dữ liệu cảm biến, lưu trữ dữ liệu, biến đổi dữ liệu hoặc làm nhiều việc khác.
Blynk Library: Thư viện các nền tảng phổ biến, giúp việc giao
tiếp giữa phần cứng với Server dễ dàng hơn, cho phép giao tiếp vớimáy chủ và xử lý tất cả các lệnh đến và đi.