Các hệ thống này cũng được tích hợp với các công nghệ thông tin hiện đại như điện thoại, Internet để nhanh chóng thông báo cho các cơ quan chức năng khi cần thiết.. MỤC TIÊU Mục tiêu c
TỔNG QUAN
Đặt vấn đề
Trong bối cảnh hiện đại, nghiên cứu khoa học và công nghệ là yếu tố quan trọng trong việc nâng cao an toàn cháy nổ, không chỉ là trách nhiệm của các cơ quan chức năng mà còn là nghĩa vụ của từng cá nhân Truyền thông đại chúng liên tục nhấn mạnh việc nâng cao nhận thức và kỹ năng phòng cháy, chữa cháy nhằm giảm thiểu rủi ro và thiệt hại do hỏa hoạn Hệ thống chống cháy và cứu hộ là phần thiết yếu trong kiến trúc các công trình như chung cư và nhà cao tầng, đóng vai trò quan trọng trong việc bảo vệ tài sản và tính mạng con người, vì vậy, đầu tư vào thiết lập và duy trì các hệ thống này luôn được ưu tiên hàng đầu.
Sự phát triển không ngừng của khoa học công nghệ đã cải tiến đáng kể hệ thống phòng cháy chữa cháy, nâng cao độ tin cậy và hiệu quả hoạt động Các hệ thống này hiện được tích hợp với công nghệ thông tin hiện đại như điện thoại và Internet, giúp nhanh chóng thông báo cho các cơ quan chức năng khi cần thiết Để đảm bảo an toàn cháy nổ, không chỉ cần lắp đặt hệ thống hiện đại mà còn cần nâng cao nhận thức, kỹ năng và trách nhiệm của từng cá nhân trong cộng đồng.
Mục tiêu
Mục tiêu của đề tài là phát triển hệ thống phòng cháy chữa cháy cho chung cư sử dụng cảm biến nhiệt, khói, gas và lửa Hệ thống này được điều khiển linh hoạt qua ứng dụng di động thông qua internet hoặc trực tiếp trên hệ thống Khi phát hiện nguy cơ hỏa hoạn, hệ thống sẽ cảnh báo qua loa phát thanh và đèn còi, đồng thời cung cấp đèn hướng dẫn lối thoát hiểm Nếu có cháy, máy bơm sẽ tự động bơm nước để dập tắt đám cháy, và ứng dụng sẽ gửi cảnh báo đến người dùng.
Nội dung nghiên cứu
• Nội dung 1: Nghiên cứu một hệ thống báo cháy thực tế
• Nội dung 3: Thiết kế phần cứng và mô hình
• Nội dung 4: Thiết kế phần mềm, viết chương trình cho hệ thống
• Nội dung 5: Chạy thử và kiểm tra lỗi
• Nội dung 6: Đánh giá kết quả thực hiện.
Giới hạn
Đề tài thiết kế hệ thống phòng cháy chữa cháy tại chung cư được giới hạn trong việc xây dựng mô hình bằng mica, với hệ thống được áp dụng cho chung cư có 4 phòng.
+ Chỉ xây dựng app để giám sát qua mạng internet
+ Trường hợp mất kết nối Wi-Fi, hệ thống vẫn xử lý báo cháy nhưng không đưa được dữ liệu lên app Android.
Bố cục
Đồ án này được trình bày trong 6 chương:
Chương 2: Cơ sở lý thuyết
Chương 3: Tính toán và thiết kế
Chương 4: Thi công hệ thống
Chương 5: Kết quả, nhận xét và đánh giá
Chương 6: Kết luận và hướng phát triển
Chương 1: Nêu tổng quan về đề tài nghiên cứu: đặt vấn đề, mục tiêu nghiên cứu, giới hạn
Chương 2: Nêu những cơ sở lý thuyết có liên quan
Chương 3: Tính toán thiết kế phần cứng
Chương 4: Thi công phần cứng, xây dựng mô hình và viết phần mềm
Chương 5: Nêu ra một số kết quả nhận xét và đánh giá
Chương 6: Kết luận đề tài những việc làm được, nhận xét ưu, nhược điểm của đề tài và đưa ra hướng phát triển.
CƠ SỞ LÝ THUYẾT
Tổng quan hệ thống phòng cháy chữa cháy
2.1.1 Mô tả hệ thống phòng cháy chữa cháy
Hệ thống phòng cháy chữa cháy là một mạng lưới thiết bị liên kết nhằm phát hiện, cảnh báo và xử lý sự cố cháy nổ Hệ thống này sử dụng các thiết bị cảnh báo âm thanh và hình ảnh để thông báo khi có sự xuất hiện của lửa, khói hoặc khí.
Hệ thống phát hiện cháy tự động sử dụng các đầu dò như khói, nhiệt, ánh sáng và hỗn hợp để nhận diện tình huống khẩn cấp Khi có cháy nổ xảy ra, thông tin sẽ được gửi về trung tâm để xử lý, từ đó kích hoạt các hoạt động báo cháy và dập cháy kịp thời.
2.1.2 Chức năng các thiết bị trong hệ thống báo cháy
Bảng 2.1: Mô tả các thiết bị trong hệ thống phòng cháy chữa cháy
STT Thiết bị Chức năng
1 Trung tâm báo cháy Bộ não xử lý tín hiệu
2 Đầu báo khói Khi phát hiện khói đạt một mức giới hạn
Hình 2.1: Sơ đồ hệ thống phòng cháy chữa cháy căn bản
3 Đầu báo nhiệt Khi phát hiện nhiệt độ đạt một mức giới hạn cho phép sẽ gởi tín hiệu về tủ báo
4 Đầu báo lửa Phát hiện lửa và báo về tủ báo
5 Nút nhấn khẩn Gửi tín hiệu báo cháy
6 Chuông báo cháy Kêu cảnh báo
7 Máy bơm Cung cấp nước cho vòi phun hoạt động dập lửa
8 Van điều khiển Điều khiển cấp lương nước cho hệ thống báo cháy không bị thiếu nước
9 Đầu phun tự động Sprinkler
Khi có nhiệt độ tăng lên, tăng khi vượt quá 68 o C, đầu thủy ngân sẽ vỡ ra phun nước dập tắt đám cháy
10 Đầu phun khí Phun những khí có khả năng dập cháy
11 Đèn Đèn báo hiệu sẽ sáng báo động
12 Điện thoại Gọi số báo cháy
Các phương thức giao tiếp
2.2.1 Phương thức giao tiếp UART
UART (Bộ nhận/ truyền không đồng bộ phổ quát) là giao thức truyền thông nối tiếp phổ biến, cho phép truyền dữ liệu giữa các thiết bị điện tử mà không cần xung nhịp chung Giao thức này đã được tích hợp trong nhiều vi xử lý và thường được sử dụng để kết nối vi điều khiển với các thiết bị ngoại vi như cảm biến và module GPS Ngoài ra, UART cũng hỗ trợ giao tiếp giữa máy tính và các thiết bị nhúng thông qua cổng nối tiếp như RS232.
Cấu trúc cơ bản của UART:
• TX: gởi dữ liệu từ máy phát qua chân TX
• RX: dữ liệu được nhận qua chân này
Các thông số của chuẩn giao tiếp UART:
• Tốc độ Baud (Baud rate): là số bit truyền được trong 1 giây Để truyền được dữ liệu UART thì 2 thiết bị phải có cùng tốc độ
Khung truyền là yếu tố quan trọng trong việc bảo vệ dữ liệu khỏi mất mát trong quá trình truyền tải Mỗi khung truyền bao gồm các thành phần thiết yếu như start bit, word data, parity bit và stop bit, được thiết lập ngay từ đầu để đảm bảo tính toàn vẹn của dữ liệu.
Bit bắt đầu là tín hiệu khởi đầu cho một khung truyền, với mức logic 0, cho biết rằng sẽ có tín hiệu được truyền đến.
• Data: là các bit dữ liệu nó có thể có từ 5 tới 9 bit, hệ thống thông thường thì thường có 8bit dữ liệu
Hình 2.2: Cấu trúc giao tiếp UART
• Stop bit: là bit kết thúc của khung truyền
I2C là một chuẩn giao tiếp được phát minh nhằm đơn giản hóa việc trao đổi dữ liệu giữa các thiết bị, còn được gọi là Two Wire Interface (TWI) vì sử dụng hai đường kết nối SDA và SCL Trong đó, SDA là đường hai chiều để truyền dữ liệu, còn SCL là đường một chiều dùng để truyền xung clock Mỗi thiết bị trên bus I2C có một địa chỉ riêng, giúp tránh nhầm lẫn Thiết bị chủ (Master) điều khiển các thiết bị tớ (slave) theo địa chỉ và tạo ra xung đồng hồ trong quá trình truyền thông.
Bus I2C chuẩn cho phép truyền dữ liệu 8 bit với tốc độ 100Kbits/s ở chế độ tiêu chuẩn, 400Kbits/s ở chế độ nhanh và tối đa 3.4Mbits/s ở chế độ tốc độ cao Mỗi bit dữ liệu được truyền trong mỗi xung clock, với tín hiệu trên đường SDA duy trì ổn định khi xung clock ở mức cao và thay đổi khi xung clock ở mức thấp.
Quá trình truyền dữ liệu:
• Thiết bị chủ: gởi một bit bắt đầu và gởi đúng bit địa chỉ tới thiết bị tớ cũng như bit ghi hoặc đọc
• Thiết bị tớ nhận bit địa chỉ
• Thiết bị chủ truyền dữ liệu cho thiết bị tớ
• Thiết bị chủ gởi bit kết thúc quá trình truyền dữ liệu.
Lý thuyết cơ bản về IoT
Hình 2.4: Mô hình giao tiếp I2C và quá trình truyền 1 bit dữ liệu
Internet of Things (IoT) là mạng lưới các thiết bị thông minh kết nối với nhau và internet, cho phép giao tiếp và chia sẻ dữ liệu tự động IoT không chỉ bao gồm các thiết bị điện tử cá nhân như điện thoại thông minh và máy tính bảng, mà còn mở rộng đến nhiều lĩnh vực khác như gia đình, y tế, công nghiệp, nông nghiệp và thành phố thông minh.
IoT phát triển nhờ sự kết hợp của nhiều công nghệ như không dây, vi điện tử, cơ điện tử và Internet Đơn giản, IoT là tập hợp các thiết bị có khả năng kết nối với nhau và với Internet để thực hiện các chức năng cụ thể Các thiết bị IoT liên kết qua nhiều công nghệ như Wi-Fi, mạng viễn thông băng rộng (3G, 4G), và Bluetooth, bao gồm điện thoại thông minh, bóng đèn, máy giặt, và nhiều thiết bị khác Một hệ thống IoT cơ bản có cấu trúc đa dạng và phong phú.
Trong hệ thống IoT, quá trình hoạt động khởi đầu bằng việc cấp nguồn cho các thiết bị, sau đó các khối chức năng chính sẽ được kích hoạt và hoạt động hiệu quả.
Các cảm biến này thu thập dữ liệu từ môi trường xung quanh, như nhiệt độ, độ ẩm, ánh sáng, chuyển động, và nhiều yếu tố khác
Khối xử lý trung tâm (Central Processing Unit):
Khối này thu thập tín hiệu từ cảm biến và thực hiện các phép toán xử lý để chuẩn bị cho việc truyền tải hoặc lưu trữ dữ liệu.
Khối lưu trữ thông tin (Storage Module):
Hình 2.5: Sơ đồ hệ thống IoT cơ bản
Dữ liệu được xử lý bởi khối xử lý trung tâm và lưu trữ trong khối lưu trữ thông tin, giúp duy trì thông tin lịch sử và phục vụ cho phân tích trong các mục đích tương lai.
Tương tác ngược (Reverse Interaction) cho phép người dùng điều khiển thiết bị IoT thông qua ứng dụng trên điện thoại, web hoặc các ứng dụng giọng nói Các tín hiệu từ người dùng sẽ được lưu trữ trong khối lưu trữ thông tin và sau đó được xử lý bởi khối trung tâm để thực hiện các tác vụ điều khiển.
IoT có nhiều ứng dụng đa dạng, chủ yếu tập trung vào việc điều khiển thiết bị qua mạng Internet, bao gồm cả thiết bị công cộng và thiết bị gia đình Nhờ đó, IoT được ứng dụng vào các lĩnh vực như nhà thông minh, quản lý doanh nghiệp, và quản lý môi trường.
2.4.1 Ngôn ngữ lập trình Java a) Khái niệm
Java là ngôn ngữ lập trình đa mục đích phát triển bởi Sun Microsystems và Oracle Corporation, nổi bật với khả năng chạy trên nhiều nền tảng mà không cần biên dịch lại mã nguồn nhờ vào Java Virtual Machine (JVM) Ngôn ngữ này có nhiều ưu điểm, bao gồm độ an toàn và bảo mật với các cơ chế như kiểm tra kiểu dữ liệu, quản lý bộ nhớ tự động, và chữ ký số Đặc biệt, mã nguồn Java có thể hoạt động trên bất kỳ nền tảng nào có JVM, tạo điều kiện thuận lợi cho việc phát triển ứng dụng di động và đa nền tảng.
Java hỗ trợ lập trình đa luồng, cho phép xử lý đồng thời nhiều tác vụ, từ đó nâng cao hiệu suất ứng dụng và tối ưu hóa việc sử dụng các bộ xử lý đa nhân.
Java sử dụng mô hình kiến trúc không phụ thuộc, cho phép mã nguồn Java được biên dịch thành mã byte trung gian có thể chạy trên bất kỳ JVM nào Điều này giúp tăng tính linh hoạt và khả năng tương thích của ứng dụng Java trên nhiều nền tảng khác nhau.
Java có cú pháp tương tự như C++ và C#, giúp người dùng dễ dàng tiếp cận nếu đã có kinh nghiệm với các ngôn ngữ lập trình khác.
Java sở hữu một bộ thư viện phong phú, được gọi là Java Standard Edition API, cung cấp nhiều lớp và giao diện hỗ trợ cho các tác vụ đa dạng như xử lý chuỗi, đồ họa, mạng và nhiều lĩnh vực khác.
Java sử dụng mô hình quản lý bộ nhớ tự động (garbage collection), cho phép lập trình viên không cần lo lắng về việc giải phóng bộ nhớ đã cấp phát.
2.4.2 Ưu điểm khi viết app bằng ngôn ngữ Java Ứng dụng Android được tạo trên điện thoại với ngôn ngữ Java có nhiều lợi ích như sau:
Tiện lợi và Linh hoạt:
Sử dụng Android Studio trên điện thoại mang lại lợi ích lớn trong việc tiết kiệm thời gian và công sức Người dùng có thể dễ dàng chỉnh sửa, kiểm tra và thử nghiệm các thành phần của ứng dụng ngay lập tức mà không cần phải chuyển sang máy tính.
Android Studio cho phép người dùng tương tác trực tiếp với hệ thống phát triển Android trên điện thoại mà không cần kết nối với máy tính Tính năng này giúp giảm sự phụ thuộc vào máy tính, đồng thời nâng cao tính di động và linh hoạt cho quá trình phát triển ứng dụng.
Học tập và Phát triển:
Tổng quát về firebase và realtime database
Firebase là nền tảng dịch vụ điện toán đám mây do Google phát triển, cung cấp nhiều công cụ và dịch vụ hữu ích cho việc xây dựng và triển khai ứng dụng di động và web Với Firebase, các nhà phát triển có thể tạo ra sản phẩm nhanh chóng và hiệu quả hơn.
Firebase cung cấp hỗ trợ cho nhiều nền tảng lập trình, bao gồm Android, iOS, web và nhiều nền tảng khác thông qua các API và SDK phong phú.
Firebase cung cấp API và SDK thân thiện, giúp việc tích hợp các tính năng của nền tảng vào ứng dụng trở nên dễ dàng và hiệu quả.
Tính linh hoạt và khả năng mở rộng của Firebase cho phép các nhà phát triển tùy chỉnh và nâng cao tính năng của ứng dụng thông qua các công cụ như Firebase Cloud Functions và Firebase Extensions.
Hình 2.6: Hệ thống ứng dụng firebase
Firebase Realtime cho phép lưu trữ và đồng bộ hóa dữ liệu ngay lập tức giữa các máy khách và máy chủ, mang đến trải nghiệm người dùng mượt mà cho ứng dụng di động và web mà không cần lo lắng về việc đồng bộ dữ liệu.
Dưới đây là các đặc điểm và khái niệm quan trọng của Firebase Realtime Database:
Dữ liệu JSON (JavaScript Object Notation) là một định dạng dữ liệu phổ biến và dễ đọc Tính năng đồng bộ thời gian thực cho phép mọi thay đổi dữ liệu trên máy khách hoặc máy chủ được cập nhật ngay lập tức và tự động trên các thiết bị kết nối Điều này giúp các ứng dụng hiển thị dữ liệu mới nhất cho người sử dụng mà không cần phải làm mới trang hoặc khởi động lại ứng dụng.
Offline Persistence: The Firebase Realtime Database enables local data storage on user devices during network disruptions Once the connection is restored, the data is synchronized back to the server.
Người dùng có khả năng tùy chỉnh quyền truy cập cho dữ liệu dựa trên từng cá nhân, giúp kiểm soát hiệu quả cả việc đọc và ghi dữ liệu từ nhiều nguồn khác nhau.
Firebase Realtime Database cung cấp khả năng truy vấn dữ liệu linh hoạt, cho phép người dùng truy cập và lọc thông tin dựa trên các tiêu chí cụ thể Bên cạnh đó, Realtime Database hỗ trợ SDK cho nhiều nền tảng như Android, iOS, web và Node.js, giúp việc tích hợp dịch vụ vào ứng dụng trở nên dễ dàng hơn.
Phần cứng
2.6.1 Khối xử lý trung tâm Arduino Mega 2560 a) Giới thiệu
Arduino Mega 2560 là một board mạch vi xử lý mở, được thiết kế để hỗ trợ các dự án phức tạp và kết nối với nhiều thiết bị ngoại vi Sử dụng vi xử lý ATmega2560 của Microchip (trước đây là Atmel), board này mang đến khả năng mở rộng và linh hoạt cho người dùng.
Vi xử lý mạnh mẽ của Arduino Mega 2560 là vi xử lý 8-bit với xung nhịp cao lên đến 16 MHz, lý tưởng cho các ứng dụng phức tạp cần tốc độ nhanh chóng và độ chính xác cao.
Số lượng chân kết nối: Arduino Mega 2560 có tổng cộng 54 chân kết nối
(digital I/O pins), trong đó có 15 chân analog (ADC)
Bảng mạch này sở hữu bộ nhớ Flash lên đến 256 KB và RAM tối đa 8 KB, cho phép lưu trữ và xử lý dữ liệu lớn hơn so với các phiên bản Arduino khác.
Arduino Mega 2560 hỗ trợ nhiều phương thức giao tiếp như UART (Serial), SPI, I2C và cổng USB, cho phép kết nối dễ dàng với các module và thiết bị khác nhau như màn hình, cảm biến và các module giao tiếp khác.
Board này có khả năng lập trình thông qua Arduino IDE, một môi trường phát triển phần mềm miễn phí và dễ sử dụng Nó hỗ trợ nhiều thư viện và công cụ phát triển phong phú từ cộng đồng Arduino, giúp quá trình phát triển ứng dụng trở nên nhanh chóng và hiệu quả Thông số kỹ thuật của Arduino Mega 2560 cũng rất đa dạng và mạnh mẽ.
Bảng 2.2: Thông số kĩ thuật Arduino Mega 2560
STT Thông số Giá trị
16 chân vào analog (từ A0 đến A15)
5 Dòng điện tối đa mỗi chân I/O 30mA
7 Cường độ dòng điện trên mỗi I/O pin 20mA
11 Giao tiếp USB, I2C, SPI, UART
15 UART 4 c) Các chân vào ra Arduino Mega 2560
Hình 2.8: Chip Mega 2560 tương ứng với chân Arduino Mega 2560
Hình 2.9: Các chân Arduino Mega 2560
Arduino Mega 2560 sở hữu 54 chân I/O, bao gồm chân digital I/O, chân analog input và các chân với tính năng đặc biệt Dưới đây là sơ đồ tổng quan về các chân của Arduino Mega 2560.
Arduino Mega 2560 sở hữu 54 chân digital I/O, được đánh số từ 0 đến 53, cho phép sử dụng linh hoạt như chân input hoặc output digital Trong số đó, một số chân còn hỗ trợ tính năng đặc biệt như PWM (Modulation độ rộng xung) và các chức năng khác.
Arduino Mega 2560 có 16 chân analog input , được dùng để đọc giá trị analog từ các cảm biến Mỗi chân analog input có độ phân giải 10-bit
Các Chân Đặc Biệt và Giao Tiếp
The TX0 (digital pin 1) and RX0 (digital pin 0) are Serial UART (Universal Asynchronous Receiver-Transmitter) communication pins used for interfacing with other devices via a serial interface.
• RESET (RESET): RESET là chân để đặt lại vi điều khiển Arduino
Các chân PWM từ 2 đến 13 và 44 đến 46 hỗ trợ điều chế độ rộng xung, cho phép điều chỉnh độ rộng xung và kiểm soát tốc độ hoặc độ sáng của thiết bị như động cơ và đèn LED.
The SPI (Serial Peripheral Interface) pins, specifically pins 50 (MISO), 51 (MOSI), 52 (SCK), and 53 (SS), are essential for connecting peripherals such as LCD displays and SD memory cards.
Chân SDA (20) và SCL (21) trên I2C/TWI (Inter-Integrated Circuit/Two-Wire Interface) được sử dụng để giao tiếp với các thiết bị ngoại vi I2C, bao gồm cảm biến và module.
• Analog Reference (AREF): Chân AREF để cung cấp điện áp tham chiếu cho chân analog Điều Khiển Nguồn và Mạch Ngoài
• Vin: Chân Vin dùng để cấp nguồn ngoài cho Arduino Mega từ 7V đến 12V
• 5V và 3.3V: Chân 5V và 3.3V cấp nguồn cho các linh kiện khác trên board và các module ngoại vi
• GND (Ground): Các chân GND được sử dụng để nối đất của hệ thống
2.6.2 Module mạch phát âm thanh DFPlayer Mini a) Giới thiệu Module mạch phát âm thanh DFPlayer Mini
Module DFPlayer Mini là một mạch phát âm thanh với kích thước nhỏ gọn và dễ sử dụng, được thiết kế để tích hợp vào các dự án
DIY, robot, và các ứng dụng cần âm thanh
DFPlayer Mini là một thiết bị phát âm thanh tiện lợi, cho phép phát lại âm thanh từ thẻ nhớ microSD và ổ USB (U-disk) Với bộ khuếch đại âm thanh tích hợp 3W, DFPlayer Mini có thể kết nối trực tiếp với loa mà không cần sử dụng mạch khuếch đại ngoài Thiết bị này mang lại sự thuận tiện và chất lượng âm thanh tốt cho người dùng.
Bảng 2.3: Module mạch phát âm thanh DFPlayer Mini
STT Thông số Chi tiết
1 Điện áp hoạt động 3.2 – 5VDC
2 Chuẩn giao tiếp UART, IO
3 IC Amply YX8002A (công suất nhỏ)
5 Định dạng âm thanh MP3, WAV
7 Hệ thống file FAT16, FAT32
8 Thẻ nhớ hỗ trợ Thẻ TF tối đa 32Gb
Hình 2.10: Module mạch phát âm thanh DFPlayer Mini
Tổ chức file Theo thư mục (tối đa 100 thư mục, m ỗi thư mục 255 bài hát) c) Sơ đồ chân
Bảng 2.4: Chức năng Module mạch phát âm thanh DFPlayer Mini
STT Tên chân Chức năng
4 SPK_1 Chân kết nối loa cực +
5 GND Kết nối module với GND
6 SPK_2 Chân kết nối loa cực -
2.6.3 Dòng chip Wi-Fi ESP32 a) Giới thiệu
ESP32 được thiết kế cho kết nối không dây trong các ứng dụng nhúng, mang lại hiệu suất cao và tiết kiệm chi phí Là phiên bản nâng cấp của ESP8266, ESP32 cung cấp nhiều tính năng và khả năng mở rộng vượt trội hơn.
Hình 2.11: Sơ đồ chân Module mạch phát âm thanh DFPlayer Mini
Kit RF ESP32 được dùng phổ biến trong việc kết nối, thu thập dữ liệu qua Wi-
Fi, đặc biệt là trong lĩnh vực IoT
Sau đây là hình ảnh Kit thu phát Wifi ESP8266 NodeMCU V3: b) Thông số kỹ thuật
Mô-đun WIFI: ESP-WROOM-32
• Bộ vi xử lý: ESP32-D0WDQ6
• Ăng-ten: Ăng-ten PCB trên bo mạch
• Chuẩn giao tiếp: DAC/SDIO/PWM/I2C/UART/GPIO/ADC/
• Giao thức Wi-Fi: IEEE 802.11 b/g/n
• Chế độ WIFI: Trạm / SoftAP / SoftAP+Trạm
• Điện áp đầu ra IO: 3.3V c) Sơ đồ chân
Hình 2.12: Hình ảnh Kit RF thu phát Wifi ESP32
Giải Thích Chức Năng Các Chân
• Vin: Cung cấp nguồn vào (thường từ 5V)
• 3V3: Đầu ra 3.3V được điều chỉnh từ NodeMCU
• GND: Chân nối đất (Ground)
• GPIO0 đến GPIO39: Các chân này có thể cấu hình làm input hoặc output, và hỗ trợ nhiều chức năng như ADC, DAC, PWM, I2C, SPI, UART
• Các chân GPIO cụ thể có các chức năng mặc định và chuyên biệt như sau:
+ GPIO1 (TX) và GPIO3 (RX): Chân truyền và nhận dữ liệu UART
+ GPIO4 (D4), GPIO5 (D5), GPIO12 (D12), GPIO13 (D13), GPIO14 (D14), GPIO15 (D15): Có thể dùng cho các giao tiếp SPI, I2C, PWM, etc
+ GPIO34 đến GPIO39: Các chân chỉ có thể làm input
Hình 2.13: Sơ đồ chân Kit RF thu phát Wifi ESP32 NodeMCU V3
• ADC1 và ADC2: Các đầu vào analog
• DAC1 và DAC2: Các đầu ra analog (DAC)
• EN: Chân Enable, khi kéo thấp sẽ tắt nguồn ESP32
• RST: Chân Reset để khởi động lại module
• VP và VN: Các chân input analog (GPIO36 và GPIO39)
• I2C: SDA và SCL có thể được gán cho bất kỳ chân GPIO nào
• SPI: MISO, MOSI, SCK, và SS cũng có thể được gán cho các chân khác nhau
• UART: TX và RX có thể được gán cho bất kỳ chân GPIO nào
2.6.4 Cảm biến nhiệt độ DS18B20 a) Giới thiệu cảm biến nhiệt độ DS18B20
Cảm biến DS18B20, được sản xuất bởi Dallas Semiconductor (hiện là một phần của Maxim Integrated), là một trong những cảm biến nhiệt độ kỹ thuật số phổ biến trong các dự án IoT Với khả năng đo nhiệt độ chính xác và giao tiếp đơn giản qua giao thức 1-Wire, DS18B20 cho phép kết nối nhiều cảm biến trên cùng một bus dữ liệu, mang lại sự tiện lợi và hiệu quả cho người dùng.
Nhiệt Độ đo đạt:Từ -55°C đến +125°C
+ ±2°C trong khoảng (-55°C đến +125°C) Độ Phân Giải:
+ Có thể cấu hình từ 9-bit đến 12-bit
+ Độ phân giải mặc định là 12-bit, tương ứng với bước nhảy 0.0625°C Thời Gian Chuyển Đổi Nhiệt Độ:
Nguồn Cung Cấp: Điện áp hoạt động: 3.0V đến 5.5V
Giao Thức Giao Tiếp: 1-Wire, cho phép giao tiếp qua chỉ một dây dữ liệu (DQ)
Mã Nhận Dạng Duy Nhất: Mỗi cảm biến DS18B20 có một mã nhận dạng 64- bit duy nhất
+ Trong chế độ chờ: ≤1àA
+ Trong quá trình chuyển đổi: 1mA (tối đa) c) Sơ đồ chân
Bảng 2.5: Chức năng các chân của DS18B20
STT Tên chân Chức năng của chân
STT DS18B20 Vi điều khiển
Hình 2.15: Sơ đồ chân cảm biến nhiệt độ DS18B20
#include // Thư viện OneWire cho giao tiếp với cảm biến
#include // Thư viện DallasTemperature để tương tác dễ dàng hơn với cảm biến nhiệt độ
#define DS18B20_1 A4 // Định nghĩa chân kết nối với cảm biến DS18B20 float nhiet1; // Khai báo biến để lưu giá trị nhiệt độ
OneWire oneWire1(DS18B20_1); // Tạo đối tượng OneWire để giao tiếp với cảm biến DS18B20 trên chân A4
DallasTemperature sensors1(&oneWire1); // Truyền đối tượng OneWire vào thư viện DallasTemperature void setup() {
Serial.begin(9600); // Khởi động giao tiếp Serial ở tốc độ 9600 baud để gỡ lỗi sensors1.begin(); // Khởi động thư viện DallasTemperature
In the loop function, the code initiates a request for temperature readings from the sensor, and subsequently retrieves the temperature value, converting it into a float format for further processing.
Serial.print("Nhiệt độ Celsius 1: "); // In ra màn hình Serial thông báo nhiệt độ Serial.println(nhiet1); // In ra giá trị nhiệt độ đo được
2.6.5 Cảm biến gas MQ-2 a) Giới thiệu cảm biến gas MQ-2
Phần mềm
Arduino IDE (Môi trường phát triển tích hợp) là công cụ thiết yếu để lập trình và tải mã lên các bảng mạch Arduino Bảng 2.23 dưới đây mô tả chức năng của các phím trong Arduino IDE.
Bảng 2.14: Chức năng các phím trong Arduino IDE
Verify : build và kiểm tra cú pháp code Upload : dịch và nạp code vào vi điều khiển New: Tạo một sketch mới
Open: Mở một sketch có sẵn Save: Lưu sketch
Serial Monitor: Mở serial để monitor code
Chọn board mạch Arduino đang sử dụng: vào menu Tools → Board →
Chọn port đang kết nối với Arduino: menu Tools → Serial Port → chọn cổng Arduino đang kết nối với máy tính
Chọn ngôn ngữ lập trình: Tools → Programmer → chọn AVR ISP
Android Studio là IDE chính thức của Google dành cho hệ điều hành Android, được phát triển dựa trên nền tảng IntelliJ IDEA Nó cung cấp nhiều công cụ mạnh mẽ hỗ trợ quá trình phát triển ứng dụng Android hiệu quả.
To create a project in Arduino, select "New Project" and choose the recommended "Empty Activity" interface Then, click "Next," enter a name and select a save location in the "Name" and "Save location" fields, and finally click "Finish."
Hình 2.27: Giao diện khi khởi động phần mềm
Hình 2.28: Giao diện đặt tên và nơi lưu
TÍNH TOÁN VÀ THIẾT KẾ
Giới thiệu
Đề tài phòng chữa cháy yêu cầu thiết kế và phát triển một hệ thống hiệu quả trong việc phát hiện và dập tắt đám cháy nhanh chóng Hệ thống cần đáp ứng đầy đủ các tiêu chí về hiệu suất và độ tin cậy để bảo vệ an toàn cho con người và tài sản.
Phát triển nhanh: Hệ thống phải có khả năng phát hiện cháy sớm để có thể kịp thời
Hiệu quả dập tắt: Thiết bị chữa cháy phải hoạt động hiệu quả, dập tắt đám cháy nhanh chóng để giảm thiểu thiệt hại
Tự động hóa: Hệ thống cần được tự động hóa hoàn toàn để hoạt động theo một cách độc lập mà không cần đến con người
An toàn: Đảm bảo an toàn cho người và tài sản xung quanh trong suốt quá trình hoạt động
Giám sát từ xa: Có thể điều khiển và giám sát từ xa qua app điện thoại
Báo động và cảnh báo: Cung cấp các cảnh báo khẩn cấp kịp thời khi xảy ra sự cố
Chỉ dẫn khi có cháy: có hệ thống âm thanh chỉ dẫn đường thoát hiểm khi có cháy xảy ra
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG
3.2.1 Thiết kế sơ đồ khối hệ thống
Từ những yêu cầu đã đề cập ở mục 3.1 nhóm đã xây dựng sơ đồ khối hệ thống như bên dưới:
Chức năng của từng khối:
Cảm biến nhiệt độ: đo nhiệt độ từng phòng khi có quá nhiệt thì báo gởi tín hiệu về vi điều khiển
Cảm biến gas: phát hiện có khí gas của từng phòng và gởi tín hiệu về vi điều khiển
Cảm biến khói: phát hiện có khói của từng phòng và gởi tín hiệu về vi điều khiển
Cảm biến lửa có khả năng phát hiện sự xuất hiện của lửa trong từng phòng và gửi tín hiệu đến vi điều khiển Khối điều chỉnh cho phép bật tắt các thiết bị như đèn báo cháy, chuông báo cháy và bơm nước một cách thủ công.
Bộ điều khiển trung tâm quản lý các thông số của hệ thống, trong khi khối hiển thị cung cấp thông tin về trạng thái của từng phòng và các thiết bị Khi xảy ra cháy, khối bơm nước sẽ tự động kích hoạt bơm và các van liên quan để đảm bảo an toàn.
Hình 3.1: Sơ đồ khối hệ thống phòng cháy chữa cháy cho chung cư
Khối báo động và phát âm thanh: báo động khi có sự cố cháy và phát âm thanh chỉ dẫn lối thoát hiểm
Khối thu phát wifi: vi điều khiển tích hợp wifi đóng vai trò trung gian giao tiếp giữa app điện thoại với hệ thống
3.2.2 Tính toán và thiết kế mạch a) Thiết kế khối cảm biến nhiệt độ
Cảm biến nhiệt độ này có chức năng phát hiện sự tăng nhiệt độ đột ngột và sẽ gửi tín hiệu về vi điều khiển để thông báo về tình trạng cháy xảy ra.
Trong mô hình này, mỗi phòng được trang bị một cảm biến nhiệt độ vì vậy trong mô hình sẽ sử dụng 4 cảm biến nhiệt độ
Các phương án lựa chọn
LM35: cảm biến tương tự DS18B20: cảm biến giao tiếp 1 dây
Cảm biến DS18B20 được lựa chọn trong đề tài này nhờ vào độ chính xác cao và khả năng hoạt động ổn định hơn so với cảm biến LM35.
Kết nối với khối xử lý trung tâm
Cảm biến DS18B20 có đầu ra digital, do đó có thể kết nối trực tiếp với chân Digital của vi xử lý Arduino Mega 2560 Vi điều khiển cung cấp điện áp ngõ ra 5V, phù hợp với dòng điện cần thiết cho cảm biến hoạt động hiệu quả.
1.5 = 3.3 (𝑘𝛺) Nhóm chọn R=4.7 (𝑘𝛺) để làm điện trở kéo lên b) Thiết kế khối cảm biến khí gas
Khối này là cảm biến gas khi có nồng độ gas thì cảm biến sẽ báo về vi điều khiển phát hiện cháy
Trong mô hình này, mỗi phòng được trang bị một cảm biến nhiệt độ vì vậy trong mô hình sẽ sử dụng 4 cảm biến gas
Hình 3.2: Sơ đồ nguyên lý kết nối cảm biến nhiệt độ với vi điều khiển
Có nhiều loại cảm biến có thể phát hiện gas trên thị trường như : MQ-2, MQ-5,
Nhóm đã chọn cảm biến MQ-2 thay vì MQ-5 do MQ-2 có độ nhạy cao hơn với khí metan và phạm vi đo lường rộng hơn so với MQ-5.
Kết nối với vi điều khiển
Các chân data D0 của MQ2 sẽ kết nối với các chân digital 23, 25, 27,
Hình 3.3: Sơ đồ nguyên lý kết nối cảm biến khí gas MQ-2 với vi điều khiển c) Thiết kế khối cảm biến khói
Khối này là cảm biến khói khi có khói thì cảm biến sẽ báo về vi điều khiển phát hiện cháy
Trong mô hình này, mỗi phòng được trang bị một cảm biến nhiệt độ vì vậy trong mô hình sẽ sử dụng 4 cảm biến khói
Có nhiều loại cảm biến có thể phát hiện khói trên thị trường như : MQ-
Nhóm đã chọn cảm biến MQ-7 để làm cảm biến khói vì nó có độ nhạy cao hơn trong việc phát hiện khí CO so với cảm biến MQ-5.
Kết nối với vi điều khiển
Các chân data D0 của MQ-7 sẽ kết nối với các chân digital 31, 33, 35,
Hình 3.4: Sơ đồ nguyên lý kết nối cảm biến khí MQ-7 với vi điều khiển d) Thiết kế khối cảm biến lửa
Khối cảm biến lửa sẽ gửi tín hiệu đến vi điều khiển khi phát hiện có lửa Trong mô hình này, mỗi phòng được trang bị một cảm biến nhiệt độ, do đó tổng cộng sẽ sử dụng 4 cảm biến lửa cho toàn bộ hệ thống.
Có rất nhiều các loại cảm biến có thể phát hiện lửa trên thị trường như :
UV Flame Sensor, KY-026 Flame Sensor Module,…
Module cảm biến lửa KY-026 được lựa chọn làm đầu dò lửa cho hệ thống do giá thành rẻ nhất trong ba loại cảm biến Dù có chi phí thấp, module này vẫn đáp ứng tốt yêu cầu phát hiện lửa, mang lại hiệu quả kinh tế cho hệ thống.
Kết nối với vi điều khiển
Các chân D0 của cảm biến lửa sẽ kết nối với các chân digital 39, 41,
43, 45 của Arduino e) Thiết kế khối điều chỉnh
Khối điều chỉnh đóng vai trò quan trọng trong việc bật tắt các thiết bị như đèn chỉ dẫn và bơm nước ở chế độ thủ công, đồng thời giám sát các thông số như nhiệt độ và nồng độ khí gas trong từng phòng Do đó, việc lựa chọn linh kiện tích hợp có khả năng thực hiện nhiều nhiệm vụ trên cùng một thiết bị là rất cần thiết.
Lựa chọn linh kiện Để thực hiện được những yêu cầu trên thì ta có thể chọn những linh
Hình 3.5: Sơ đồ nguyên lý kết nối cảm biến lửa với vi điều khiển
Trong việc lựa chọn linh kiện cho dự án, nhóm đã nhận thấy rằng việc sử dụng nút nhấn sẽ tiêu tốn nhiều chân kết nối của vi điều khiển, gây khó khăn cho quá trình phát triển sau này Mặc dù ma trận phím giúp tiết kiệm chân hơn so với phím đơn, nhưng vẫn tốn khá nhiều chân của vi điều khiển Do đó, nhóm đã quyết định sử dụng mạch volume xoay rotary Encoder 360 độ KY-040, chỉ cần 3 chân kết nối với vi điều khiển và có giá thành hợp lý, đáp ứng tốt các yêu cầu của dự án.
Kết nối với vi điều khiển f) Thiết kế khối hiển thị
Khối này hiển thị các thông số quan trọng như nhiệt độ, lửa, khói và nồng độ gas trong các phòng Ngoài ra, nó còn cho biết chế độ hoạt động của các thiết bị như bom nước và đèn báo khi có sự cố cháy xảy ra.
Chúng ta có thể sử dụng nhiều loại màn hình như LCD 20x4 và màn hình OLED để hiển thị thông tin theo yêu cầu Trong bài viết này, nhóm đã chọn màn hình LCD 20x4 vì tính phổ biến và dễ dàng giao tiếp với vi điều khiển Để tiết kiệm tài nguyên chân giao tiếp của vi điều khiển, nhóm đã sử dụng IC PCF8574T để kết nối qua phương thức giao tiếp I2C.
Hình 3.6: Sơ đồ nguyên lý kết rotary Encorder 360 độ KY-040 với vi điều khiển g) Khối bơm nước
Khi xảy ra sự cố cháy, hệ thống bơm nước cần hoạt động kịp thời để chữa cháy, nhằm giảm thiểu thiệt hại về người và tài sản Mỗi phòng trong mô hình này sẽ được trang bị một van phun nước để ứng phó hiệu quả khi có cháy.
Nhóm sử dụng bơm nước DC 12V và dùng van để mở nước cho mỗi phòng khi có cháy
Vì nguồn cung cấp cho vi điều khiển là 5V nên muốn khởi động bơm nước 12V khi có cháy thì phải sử dụng relay để bật tắt được động cơ 12V
Kết nối với vi điều khiển
Hình 3.7: Sơ đồ nguyên lý kết nối LCD với ESP32 h) Khối thu phát wifi
THI CÔNG HỆ THỐNG
Giới thiệu
Phần này trình bày chi tiết quá trình thi công hệ thống phòng cháy chữa cháy, bao gồm kết quả thi công phần cứng, hình ảnh từ màn hình và mô phỏng tín hiệu, cùng với kết quả thống kê Nhóm sẽ làm rõ quá trình thiết kế và lắp ráp mô hình, lắp đặt và kiểm tra mạch, kèm theo hình ảnh minh họa từ mô hình thực tế Mỗi phần nhỏ sẽ được đánh giá và nhận xét cụ thể, và cuối cùng là phần nhận xét chung về toàn bộ hệ thống.
Thi công hệ thống
Hệ thống phòng cháy chữa cháy sử dụng các module điều khiển được thiết kế để kết nối thông qua dây bus Các module này giao tiếp với các cảm biến như nhiệt độ, gas, khói và lửa, đảm bảo an toàn cho toàn bộ hệ thống.
Bảng 4.1 Danh sách các linh kiện có trong hình 4.1
Hình 4.1: Một số module được đặt trên nóc của chung cư
5V Hạ áp Hạ điện áp
5 LCD 20x4 5V Hiển thị thông tin
24V Cảnh báo Có ánh sáng chớp nháy và âm thanh cảnh báo
4.2.2 Lắp ráp và kiểm tra a) Lắp ráp module nguồn
Trước khi lắp ráp module vào mô hình, nhóm đã kiểm tra nguồn cấp điện để đảm bảo hoạt động bình thường Sử dụng đồng hồ VOM, chúng tôi đo điện áp đầu ra của nguồn và xác nhận rằng nó đạt 24V, với các thông số đúng như yêu cầu Sau đó, tiến hành lắp ráp module giảm áp XL4051.
Sau khi xác nhận nguồn cấp 24V hoạt động ổn định, nhóm tiến hành lắp ráp module giảm áp, cung cấp nguồn 24V cho nó Sau khi cấp nguồn, nhóm điều chỉnh biến trở trên module XL4051 để đạt đầu ra 5V như yêu cầu Cuối cùng, nhóm lắp ráp module Arduino Mega 2560.
Cấp nguồn 5V cho module Arduino Mega 2560 để kiểm tra hoạt động bình thường Tiếp theo, xác định vị trí phù hợp trên mô hình nhằm thuận tiện cho việc giao tiếp với các thiết bị khác, sau đó cố định Arduino Mega.
Module ESP32 có 32 chân chuyên dụng giúp lắp ráp dễ dàng và giao tiếp với các thiết bị khác Cung cấp nguồn 5V để kiểm tra hoạt động của module và đặt gần Arduino Mega nhằm thuận tiện cho việc truyền dữ liệu giữa hai module Lắp ráp module Relay để mở rộng chức năng.
Các chân COM của relay được kết nối chung và nối với nguồn 24V Để kiểm tra, cấp nguồn 24V vào relay nhằm xác nhận relay vẫn nhận được điện áp, sau đó cung cấp 5V vào từng input của relay để đảm bảo tín hiệu vẫn được nhận tốt Sau khi hoàn tất kiểm tra và xác nhận module hoạt động, tiến hành lắp module relay vào mô hình Sau khi điều chỉnh và đo đạc kỹ lưỡng các module nguồn và module điều khiển, nhóm nhận thấy các module hoạt động ổn định.
Đóng gói và thi công mô hình
4.3.1 Đóng gói bộ điều khiển
Hệ thống điều khiển được lắp đặt trên nóc chưng cư, được bảo vệ bằng lớp mica bên ngoài và có nắp đậy, nhằm ngăn chặn nước hoặc va chạm gây hỏng hóc cho bộ điều khiển sau khi đã kết nối dây bus giao tiếp với các thiết bị khác.
Sau khi đóng gói bộ điều khiển nhóm tiến hành thi công mô hình mô tả lại một hệ thống phòng cháy chữa cháy trong chung cư
Hình 4.2: Hệ thống điều khiển được bên trong nóc của chung cư
Hình 4.2 mô tả một chưng cư gồm có 2 tầng và 4 tầng trong đó:
Các phòng được thực hiện dựa trên chất liệu mica trắng, tạo được tính chắc chắn và thẩm mĩ cao hơn
Hình 4.3: Chung cư 2 tầng 4 phòng
Hình 4.4 mô tả các thiết bị được đặt bên trong các phòng của chung cư gồm có các cảm biến:
Mỗi phòng trong chung cư 2 tầng được trang bị 4 cảm biến, tổng cộng có 16 cảm biến Trên nóc chung cư, màn hình LCD hiển thị các thông số như nhiệt độ, chế độ điều khiển và tình trạng các phòng Bên cạnh LCD, đèn còi cảnh báo sẽ nhấp nháy và phát âm thanh khi có cháy, mô phỏng gần đúng với hệ thống phòng cháy chữa cháy thực tế Đối với phòng 3 và 4, do hạn chế về việc đi dây, nhóm quyết định lắp cảm biến dưới nền để dễ dàng kết nối với vi điều khiển Tuy nhiên, trong mô hình thực tế, các cảm biến nên được gắn trên trần nhà để phù hợp với thực tiễn.
Hình 4.4: Mặt cắt các phòng của chung cư
Loa phát thông báo sẽ phát ra đoạn thoại bằng tiếng Việt và tiếng Anh khi phát hiện cháy Sau khi tín hiệu cháy kết thúc, loa sẽ tiếp tục phát một đoạn thoại thông báo bằng tiếng Việt và tiếng Anh rằng chung cư đã an toàn.
Hình 4.6 mô tả hệ thống bơm nước cho chung cư gồm 1 bơm và 4 Van
Hệ thống bơm nước được gắn dưới nền của chung cư và được kết nối với relay, khi
Hình 4.5: Loa phát thông báo đặt bên phải nóc chung cư
Hệ thống bơm nước sẽ tự động hoạt động khi có sự cố cháy xảy ra, bơm nước lên để chữa cháy Nếu sự cố xảy ra tại phòng nào, van của phòng đó sẽ được mở để cung cấp nước chữa cháy hiệu quả.
Sau khi hoàn thành thi công, nhóm đánh giá nhận thấy mô hình có tính thẩm mỹ cao và độ bền chắc chắn nhờ vào chất liệu Mica Các module được gắn chặt trên mô hình, đảm bảo hoạt động ổn định và hiệu quả.
Lập trình hệ thống
4.4.1 Lưu đồ hoạt động của hệ thống
Hình 4.6: Lưu đồ hoạt động của hệ thống
Hệ thống phòng cháy chữa cháy hoạt động theo quy trình sau: ESP32 khởi động và kiểm tra kết nối WiFi Khi kết nối thành công, hệ thống xác định chế độ điều khiển mà người dùng đã chọn, bao gồm chế độ tự động hoặc thủ công thông qua ứng dụng hoặc cảm biến vòng xoay.
Trong chế độ tự động, hệ thống liên tục thu thập dữ liệu từ cảm biến gas, lửa, khói và nhiệt để phát hiện cháy Khi có sự cố cháy, hệ thống tự động kích hoạt các thiết bị báo động như đèn, còi, loa và bơm cứu hỏa Thông tin chi tiết về sự kiện cháy sẽ được hiển thị trên màn hình LCD và gửi đến ứng dụng qua Firebase, giúp người dùng nhận cảnh báo kịp thời và có phản ứng nhanh chóng.
Khi người dùng chọn chế độ thủ công, hệ thống sẽ thực hiện yêu cầu cụ thể để điều khiển các thiết bị như đèn chiếu sáng và van cứu hỏa Thông tin về các thiết bị này sẽ được cập nhật trực tiếp trên màn hình LCD và đồng thời được gửi đến ứng dụng qua Firebase, giúp người dùng dễ dàng quản lý và kiểm soát tình trạng hệ thống từ xa.
4.4.2 Lưu đồ khối xử lý trung tâm Ardunio Mega 2560
Hình 4.7: Lưu đồ hoạt động Ardunio Mega 2560
Thiết lập các port I/O của Arduino với cảm biến và thiết bị, sau đó cấu hình phần mềm bao gồm khai báo thư viện và thiết lập chân Arduino Kết nối chân Tx của Arduino với chân Rx của ESP32 để giao tiếp UART Trong chế độ tự động, Arduino sẽ đọc giá trị từ các cảm biến gas, khói và nhiệt độ để phát hiện cháy; nếu không có cháy, hệ thống sẽ tiếp tục kiểm tra, nhưng nếu phát hiện cháy, Arduino sẽ kích hoạt đèn, còi và loa, đồng thời xác định phòng có sự cố để điều khiển bơm nước Trong chế độ thủ công, Arduino sẽ điều khiển các thiết bị như bơm, đèn, còi và loa dựa trên giá trị nhận được, với tất cả các hoạt động điều khiển được truyền qua UART sang ESP32.
4.4.3 Lưu đồ khối xử lý ESP32
Để thiết lập các port I/O của ESP với LCD, trước tiên cần khai báo thư viện và thiết lập các chân của Arduino Kết nối chân Rx của ESP vào chân Tx của Arduino để giao tiếp qua UART ESP32 sẽ kiểm tra kết nối Wifi; nếu chưa kết nối, nó sẽ ở trạng thái chờ và hiển thị thông báo trên LCD Khi kết nối Wifi thành công, ESP sẽ nhận dữ liệu từ Arduino, xử lý thông tin và hiển thị chính xác trên LCD, sau đó lưu trữ và gửi thông tin đã xử lý lên Firebase.
4.4.4 Lưu đồ xử lý dữ liệu nhận
Hình 4.9: Lưu đồ xử lí chuỗi dữ liệu nhận
Kiểm tra tín hiệu truyền giữa Arduino và ESP32 để đảm bảo hoạt động hiệu quả Đọc dữ liệu từ Arduino, nếu phát hiện sai sót sẽ tiến hành đọc lại Khi nhận được dữ liệu chính xác, thực hiện delay để tách chuỗi từng giá trị cảm biến theo từng phòng Sau khi xử lý xong, lưu trữ giá trị đọc được để hiển thị trên màn hình LCD.
4.4.5 Lưu đồ xử lý dữ liệu trên Firebase
Hình 4.10: Lưu đồ hoạt động của firebase
Thiết lập kết nối giữa Firebase và ESP32 cho phép nhận giá trị từ ESP32 theo các biến đã được cấu hình trước Người dùng có thể thay đổi giá trị trực tiếp trên Firebase, và sự thay đổi sẽ được cập nhật ngay lập tức Nếu không thay đổi trực tiếp, giá trị sẽ tự động được cập nhật liên tục từ ESP32 khi có sự thay đổi.
4.4.6 Lưu đồ hoạt động của App
Hình 4.11: Lưu đồ hoạt động của App
Để thiết lập kết nối WiFi với điện thoại, người dùng cần đăng nhập vào ứng dụng, nơi nhận dữ liệu từ Firebase để kiểm tra sự cố cháy nổ Nếu không có sự cố, ứng dụng sẽ xác định chế độ điều khiển là Tự động hay Thủ công; trong chế độ Tự động, ứng dụng sẽ hiển thị thông tin theo dõi mà người dùng mong muốn Ngược lại, nếu xảy ra sự cố cháy, điện thoại sẽ phát cảnh báo và ứng dụng sẽ cung cấp thông tin về vị trí sự cố Trong chế độ Thủ công, ứng dụng cho phép người dùng điều khiển các thiết bị như bơm, đèn, còi và loa tại các phòng mong muốn, sau đó gửi dữ liệu điều khiển lên Firebase để ESP32 nhận và truyền qua Arduino nhằm điều khiển thiết bị.
KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ
Kết quả
Sau thời gian gần 4 tháng thực hiện đồ án thì nhóm đã nghiên cứu và cách sử dụng cảm biến:
• Cảm biến nhiệt độ DS18B20
Cảm biến lửa là thiết bị quan trọng trong việc phát hiện nguy cơ cháy Để sử dụng hiệu quả, bạn cần biết cách lập trình vi điều khiển Arduino Mega 2560 và ESP32 Ngoài ra, việc sử dụng phần mềm Android Studio để phát triển giao diện điều khiển cho hệ thống cũng là một kỹ năng cần thiết.
Sau đây là mô hình hệ thống mà nhóm đã thi công
Sau khi cấp nguồn cho hệ thống thì LCD hiển thị nhiệt của từng phòng
Hình 5.1: Mô hình hệ thống
Hình 5.2 hiển thị nhiệt độ của từng phòng 1, 2, 3, 4 sau khi đăng nhập hệ thống
Hệ thống được trang bị chế độ giám sát thủ công, cho phép người dùng theo dõi các thông số từng phòng và kiểm tra trạng thái hoạt động của các thiết bị như bơm, đèn exit và đèn báo.
Hình 5.2: Hiển thị nhiệt độ từng phòng
Hình 5.3 Hiển thị giao diện chế độ thủ công dấu * để chỉ vị trí đang đứng Ở giao diện này có 2 chức năng: hệ thống chung và trạng thái phòng
Hình 5.3: Giao diện chế độ thủ công
Hình 5.4 a: Giao diện sau khi chọn hệ thống chung
Hình 5.4b: Quay lại chế độ tự động
Hình 5.4a Tại đây ta có thể bật các thiết bị như đèn còi, đèn exit, bơm
Khi chọn chế độ trạng thái phòng:
Hình 5.5: Giao diện sau khi chọn trạng thái phòng
HÌnh 5.6a: Thông số ở phòng 1 Hình 5.6b: Thông số ở phòng 2
Sau khi lựa chọn từng phòng, màn hình LCD sẽ hiển thị các thông số tương ứng, bao gồm nhiệt độ, tình trạng lửa, mức gas và trạng thái hoạt động của van cho mỗi phòng.
Những thông số ở các phòng sẽ liên tục cập nhập lên fire base
Thực hiện thiết kế giao diện app giám sát và điều khiển trên điện thoại
Hình 5.7: Giao diện firebase Hình 5.6c: Thông số ở phòng 3 Hình 5.6d: Thông số ở phòng 4
Hình 5.8a: Giao diện đăng nhập
Hình 5.8b: Giao diện sau khi đăng nhập
Hình 5.8c: giao diện chế độ thủ công
Hình 5.8d: Giao Hình 5.8e: Giao Hình 5.8f: Giao
Hình 5.8a: Giao diện khi khởi động app cần đăng nhập để có thể kết nối với hệ thống
Hình 5.8b: Giao diện sau khi đăng nhập
Nhấn nút HỆ THỐNG PCCC CHUNG để truy cập giao diện hình 5.8c Tại đây, bạn có thể sử dụng các nút nhấn PHÒNG 1, PHÒNG 2, PHÒNG 3, PHÒNG 4 để giám sát nhiệt độ, khí gas, lửa và khói trong từng phòng.
Nút PHÒNG 1 sẽ chuyển sang giao diện hình 5.8d
Nút PHÒNG 2 sẽ chuyển sang giao diện hình 5.8e
Nút PHÒNG 3 sẽ chuyển sang giao diện hình 5.8f
Nút PHÒNG 4 sẽ chuyển sang giao diện hình 5.8g
Các hình 5.8d, 5.8e, 5.8f, 5.8g: hiển thị thông số nhiệt độ, lửa, gas, khói của từng phòng khi nhấn vào chọn từng phòng
Nút THOÁT để thoát khỏi app
Hình 5.8g: Giao diện giám sát phòng 4
Nhận xét
Khi khởi động thì hệ thống cần thời gian tương đối để có thể kết nối với wifi
Cảm biến nhiệt độ DS18B20: đo nhiệt độ khá chính xác sai số không quá lớn so với môi trường, tốc độ đọc khá nhanh và ổn định
Cảm biến khí Gas, lửa, khói: đáp ứng nhanh, tốc độ truyền dữ liệu khá tốt Khối điều chỉnh: dễ thao tác để xem thông số của từng phòng
Khối vi điều khiển: thực hiện đọc và truyền dữ liệu khá ổn định, nhanh chóng
Khối hiển thị: hiển thị tốt các thông số của từng phòng, trạng thái hoạt động của các thiết bị
Khối bơm nước chữa cháy hoạt động hiệu quả, với khả năng kích hoạt nhanh chóng khi xảy ra hỏa hoạn, đáp ứng kịp thời nhu cầu chữa cháy.
Khối ESP đảm nhiệm việc nhận và truyền dữ liệu giữa vi điều khiển và Firebase, với thời gian thực hiện khoảng 2 giây sau khi hệ thống đã hoạt động ổn định.
Khối chỉ dẫn có khả năng phát ra âm thanh lớn và rõ ràng khi phát hiện cháy, với thời gian phản ứng nhanh chóng Các đèn dẫn đường và còi báo cũng hoạt động hiệu quả, đảm bảo thông tin được truyền đạt kịp thời.