1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo bài tập lớn xây dựng hệ thống cảnh báo cháy nổ bằng mạch Arduino Uno

23 149 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

BÁO CÁO BÀI TẬP LỚN HỌC PHẦN XÂY DỰNG HỆ THỐNG NHÚNG, Đề tài: Sử dụng board mạch nhúng mã nguồn mở (Arduino, RaspberryPi) để xây dựng hệ thống cảnh báo cháy nổ bằng mạch cảm biến khí gas và mạch cảm biến lửa

TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO BÀI TẬP LỚN HỌC PHẦN XÂY DỰNG HỆ THỐNG NHÚNG TÊN ĐỀ TÀI Sử dụng board mạch nhúng mã nguồn mở (Arduino, RaspberryPi v.v…) có khả kết nối Internet thiết bị cảm biến giám sát, xây dựng hệ thống nhúng có chức giám sát, cảnh báo cháy nổ Họ tên: Đỗ Kim Khánh Mã sinh viên: 20111063005 Lớp: ĐH10C8 Tên học phần: Xây dựng hệ thống nhúng Mã học phần: CTKT2510 Giáo viên hướng dẫn: Nguyễn Văn Hách Hà Nội, ngày 20 tháng 12 năm 2022 MỤC LỤC MỞ ĐẦU NỘI DUNG CHƯƠNG 1: TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU 1.1 Mô tả toán CHƯƠNG 2: LẬP KẾ HOẠCH THỰC HIỆN, PHÂN TÍCH ĐÁNH GIÁ HỆ THỐNG CẦN XÂY DỰNG 2.1 Xây dựng kế hoạch 2.1.1 Các thiết bị sử dụng 2.1.2 Phạm vi đề tài 2.1.3 Mạch Arduino UNO R3 CHƯƠNG 3: XÂY DỰNG HỆ THỐNG 3.1 Xây dựng hệ thống với thiết bị vật lý 3.1.1 Xác định hệ thống cần xây dựng 3.1.2 Xây dựng hệ thống 3.1.3 Xây dựng sơ đồ hệ thông 10 3.2 Xây dựng phần mềm điều khiển hệ thống 10 3.3 Code sử dụng hệ thống 15 3.4 Cách thức hoạt động 17 3.5 Thử nghiệm hệ thống kết 19 TÀI LIỆU THAM KHẢO Tiếng Việt Tiếng Anh Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình DANH MỤC HÌNH ẢNH 2.1.2 Bảng Breadboard MB-102 2.1.3 Mạch Arduino UNO R3 2.1.4 Mạch Arduino UNO R3 2.1.5 Đèn Led Đơn 5mm 2.1.6 Mạch cảm biến Khí Gas MQ6 2.1.7 Mạch cảm biến phát lửa Flame Sensor 2.1.8 Dây cáp nguồn Pin 9V 2.1.9 Điện trở 220R 2.1.10 Còi Buzzer 5VDC 2.1.11 Dây cắm test Bread Board 2.1.12 Mạch Arduino UNO R3 3.1 Sơ đồ hệ thông cảnh báo cháy nổ 10 3.2 Kết nối Arduino UNO R3 vào máy tính 11 3.3 Cài đặt cổng COM để truyền tải code từ máy tính 12 3.4 Cài đặt cổng COM để truyền tải code từ máy tính 13 3.5 Chọn cổng port cho Arduino IDE 14 3.6 Nút upload code vào Mạch Arduino R3 14 3.7 Code khai báo thư viện biến 15 3.8 Code phần setup 15 3.9 Tạo hàm bật tắt đèn 16 3.10 Code hệ thống phần Loop 16 3.11 Hệ thống phát khí gas 18 3.12 Hệ thống phát lửa 18 3.13 Hệ thống khơng phát lửa khí gas 19 MỞ ĐẦU Đề tài: Sử dụng bo mạch Arduino xây dựng hệ thống nhúng có chức giám sát, cảnh báo cháy nổ Giảng viên hướng dẫn: Nguyễn Văn Hách Mục tiêu nghiên cứu: - Xây dựng hệ thống giám sát, cảnh báo cháy nổ từ Arduino UNO R3 - Có thể sử dụng để phát tín hiệu phát lửa khí gas có nguy gây cháy nổ - Tìm hiểu vi điều khiển mà trọng tâm Arduino UNO R3 phần cứng tập - Tìm hiểu cảm biến phát khí gas MQ6 cảm biến phát lửa FlameSensor - Tìm hiểu ngơn ngữ lập trình C - Viết chương trình cho Arduino UNO R3, cảm biến MF58, MQ2 Tim hiểu phần mềm thiết kế mạch điện tử Proteus Tìm hiểu vật liệu chế tạo khung hệ thống sản phẩm Nội dung nghiên cứu: Hệ thống nhúng (embedded system) thuật ngữ để hệ thống có khả tự trị nhúng vào môi trường hay hệ thống mẹ Đó hệ thống tích hợp phần cứng phần mềm phục vụ tốn chun dụng nhiều lĩnh vực cơng nghiệp, tự động hoá điều khiển, quan trắc truyền tin Đặc điểm hệ thống nhúng hoạt động ổn định có tính tự động hố cao Sử dụng Board nhúng Arduino UNO R3 với kích thước nhỏ gọn, điện áp sử dụng thấp ổn định Dự kiến sản phẩm: + Bài báo cáo tập lớn học phần: Xây dựng hệ thống nhúng có chức giám sát, cảnh báo cháy nổ + Hệ thống: Xây dựng hệ thống cảnh báo cháy nổ với mạch Arduino UNO R3 2 NỘI DUNG CHƯƠNG 1: TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU 1.1 Mơ tả tốn Trong sống đại việc cháy chữa cháy trở thành mối quan tâm hàng đầu xã hội ngày Đa số đám cháy bắt nguồn từ thứ như: khí gas bị rị rỉ, đồ vật dễ cháy,… Chỉ đá cháy nhỏ khơng phát xử lý kịp thời gây thiệt hại nặng nề người Vì vậy, việc phát đám cháy có vai trị quan trọng, giúp ngăn chặn xử lí kịp thời đám cháy chưa q lớn Đặc biệt, khoa học công nghệ phát triển cách mạnh mẽ, việc ứng dụng cho hệ thống ngày trở nên phổ biến vào đời sống, từ ứng dụng đơn giản như: điều khiển LED, bật tắt thiết bị điện tử đến ứng dụng cho xã hội như: Điều khiển đèn giao thông, hệ thống cầu thang máy, cửa tự động… Với kiến thức học, em định chọn thực đề tài Chính nhóm em thực đề tài: Sử dụng bo mạch Arduino làm hệ thống nhúng có chức giám sát, cảnh báo cháy nổ Với tính bật: Nhỏ gọn, lắp đặt dễ dàng Giá thành rẻ, phù hợp với túi tiền sinh viên Tiết kiệm điện CHƯƠNG 2: LẬP KẾ HOẠCH THỰC HIỆN, PHÂN TÍCH ĐÁNH GIÁ HỆ THỐNG CẦN XÂY DỰNG 2.1 Xây dựng kế hoạch Sử dụng mạch Mạch Arduino UNO R3 để xây dựng hệ thông cảm biến cảnh báo cháy nổ, gồm hai mạch cảm biến cảm biến lửa cảm biến khí gas Khi phát có khí gas lửa gần phát tiếng chuông để cảnh báo 3 2.1.1 Các thiết bị sử dụng - Mạch Arduino UNO R3 (loại chip cắm) dây cáp đầu Type A-B - Phần mềm mô mạch Proteus Professional - Phần mềm Arduino - Breadboard MB-102, điện trở 1/4W dây nối Dupont - Laptop để lập trình nạp code 2.1.2 Phạm vi đề tài Thực hệ thống với thiết bị: - Bảng Breadboard MB-102 cầu nối dây nối chân Pin Hình 2.1.2 Bảng Breadboard MB-102 - Mạch Arduino UNO R3 để nhận code, điều khiển thiết bị kết nối Hình 2.1.3 Mạch Arduino UNO R3 - Màn Hình LCD 1602 kèm module I2C Hình 2.1.4 Mạch Arduino UNO R3 - Đèn Led Đơn 5mm (Red, Green) Hình 2.1.5 Đèn Led Đơn 5mm - Mạch cảm biến Khí Gas MQ6 Hình 2.1.6 Mạch cảm biến Khí Gas MQ6 - Mạch cảm biến phát lửa Flame Sensor Hình 2.1.7 Mạch cảm biến phát lửa Flame Sensor - Dây cáp nguồn Pin 9V Hình 2.1.8 Dây cáp nguồn Pin 9V - Điện trở 220R Hình 2.1.9 Điện trở 220R - Cịi Buzzer 5VDC 7 Hình 2.1.10 Cịi Buzzer 5VDC - Các dây để nhận nguồn điện cổng truyền tín hiệu Hình 2.1.11 Dây cắm test Bread Board 2.1.3 Mạch Arduino UNO R3 2.1.3.1.Giới thiệu mạch UNO R3 - Arduino Uno R3 board mạch vi điều khiển phát triển Arduino.cc, tảng điện tử mã nguồn mở chủ yếu dựa vi điều khiển AVR Atmega328P - Arduino UNO sử dụng vi điều khiển họ 8bit AVR ATmega8, ATmega168, ATmega328 Bộ não xử lí tác vụ đơn giản điều khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm trạm đo nhiệt độ - độ ẩm hiển thị lên hình LCD,… - Thiết kế tiêu chuẩn Arduino UNO sử dụng vi điều khiển ATmega328 với giá khoảng 215.000đ Tuy nhiên yêu cầu phần cứng bạn không cao túi tiền khơng cho phép, bạn sử dụng loại vi điều khiển khác có chức tương đương rẻ ATmega8 (bộ nhớ flash 8KB) với giá khoảng 44.000đ ATmega168 (bộ nhớ flash 16KB) với giá khoảng 65.000đ Hình 2.1.2 Mạch Arduino UNO R3 2.1.3.2 Thông số kỹ thuật Vi điều khiển Điện áp hoạt động Điện áp cấp(hoạt động tốt) Điện áp cấp(Giới hạn) Chân I/O digital Chân Input analog Dòng điện chân I/O Dòng điện chân 3.3V Bộ nhớ Flash SRAM EEPROM Tốc độ xung nhịp Kích thước Trọng lượng ATmega328P 5V – 12V – 12V 14( có chân xuất xung PWM) 6(A0 – A5) 20 mA 50 mA 32Kb(Atmega328P) – 0.5 kB dùng cho bootloader kB (Atmega328P) kB (Atmega328P) 16 MHz 68.6 x 53.4 mm 25 g CHƯƠNG 3: XÂY DỰNG HỆ THỐNG 3.1 Xây dựng hệ thống với thiết bị vật lý Mơ hình xây dựng chuẩn hệ thống, sử dụng kiến trúc ngôn ngữ bậc cao để module hóa task để chúng thực 3.1.1 Xác định hệ thống cần xây dựng Xây dựng hệ thống cảnh báo cháy nổ sử dụng thiết bị Arduino UNO Nạp code từ phần mềm vào mạch Arduino UNO R3 kết nối với mạch cảm biến Khi hai mạch cảm ứng lửa phát lửa mạch cảm biến khí gas phát khí gas bị rị rỉ khơng khí truyền tín hiệu tạo âm cảnh báo qua loa với đèn màu đỏ cảnh báo 3.1.2 Xây dựng hệ thống - Mô tả tổng quan hệ thống phần mềm Proteus Professional - Thực giao tiếp với phần cứng, lắp đặt chúng với Arduino UNO: điện trở, dây nối tới phím, bảng Breadboard, Laptop… - Xây dựng code cho hệ thống ứng dụng Arduino - Thực truyền tải code thiết bị mạch Arduino UNO R3 để kết nối tới dây nối hệ thống - Các mạch cảm ứng phát có truyền tín hiệu mạch Arduino UNO R3 10 3.1.3 Xây dựng sơ đồ hệ thơng Hình 3.1 Sơ đồ hệ thông cảnh báo cháy nổ 3.2 Xây dựng phần mềm điều khiển hệ thống Thực hiện: Bước 1: Kết nối Arduino UNO R3 vào máy tính 11 Hình 3.2 Kết nối Arduino UNO R3 vào máy tính Bước 2: Cài đặt cổng COM để truyền tải code từ máy tính - Khi Arduino Uno R3 kết nối với máy tính, sử dụng cổng COM (Communication port - cổng liệu ảo) để máy tính bo mạch truyền tải liệu qua lại thơng qua cổng Để tìm cổng COM sử dụng để máy tính mạch Arduino UNO R3 giao tiếp với nhau, ta làm phải mở chức Device Manager Windows 12 Hình 3.3 Cài đặt cổng COM để truyền tải code từ máy tính - Sau cửa sổ Device Manager lên - Mở mục Ports (COM & LPT), thấy cổng COM Arduino Uno R3 kết nối Cổng kết nối COM5 13 Hình 3.4 Cài đặt cổng COM để truyền tải code từ máy tính Bước 3: Sử dụng phần mềm Arduino IDE để đưa code vào mạch Arduino UNO R3 - Vào menu Tools -> Board -> chọn Arduino Uno - Vào menu Tools -> Serial Port -> chọn cổng Arduino kết nối với máy tính Ở cổng Port cổng COM5 14 Hình 3.5 Chọn cổng port cho Arduino IDE Bước 4: Thực code cho hệ thống Ngơn ngữ lập trình C ngôn ngữ mệnh lệnh phát triển từ đầu thập niên 1970 Dennis Ritchie để dùng hệ điều hành UNIX Từ đó, ngơn ngữ lan rộng nhiều hệ điều hành khác trở thành ngôn ngữ phổ dụng C ngôn ngữ có hiệu ưa chuộng để viết phần mềm hệ thống, dùng cho việc viết ứng dụng Ngoài ra, C thường dùng làm phương tiện giảng dạy khoa học máy tính ngơn ngữ không thiết kế dành cho người nhập môn Sử dụng ngơn ngữ lập trình C, tiến hành viết nạp code cho mạch Arduino UNO R3: Hình 3.6 Nút upload code vào Mạch Arduino R3 15 3.3 Code sử dụng hệ thống Phần Setup: Sử dụng thư viện Wire.h LiquidCrystal_I2C.h để hỗ trợ cho việc hiển thị hình LCD Đặt tên cho biến nối với cổng mạch Arduino “speaker” loa báo hiệu, “flame” “gas” cảm biến lửa cảm biến khí gas, “led_red” (màu nguy hiểm), “led_green” (màu an toàn) Tạo biến lcd đặt địa 0x27 bus I2C với 16 cột dịng hiển thị Hình 3.7 Code khai báo thư viện biến Hình 3.8 Code phần setup Tiếp theo khai báo Serial begin (9600) để đặt tốc độ giao tiếp, tính bit giây Ở cài mặc định 9600 bit/s cho Arduino Sau cài chân Pin (từ dịng 12 đến 16 hình 3.3): 16 “pinMode(gas, INPUT);” “gas” số chân Pin tương ứng Arduino khai báo tên “gas” hình 3.2, INPUT tương ứng với Arduino nhận tín hiệu từ chân “lcd.init();”: Để khởi tạo hình lcd “lcd.backlight();”: Bật đèn lcd “lcd.setCursor(0, 0);”: Đưa trỏ cột hàng “lcd.print("Trang thai: ");”: Xuất hình từ vị trí vừa đưa trỏ chuột (0, 0) Hình 3.9 Tạo hàm bật tắt đèn Hàm hỗ trợ cho việc bật tắt đèn nhanh hơn, truyền vào hai biến den1 den2, gọi bật den1 tắt den2 Phần Loop: Hình 3.10 Code hệ thống phần Loop 17 Kiểm tra tin hiệu chân tương ứng (chân Pin Gas chân Pin Flame) HIGH (phát có lửa khí gas) thực yêu cầu khối lệnh phía trên: “lcd.print("CANH BAO ");”: Hiển thị lên LCD chữ CANH BAO, báo hiệu phát có khí gas phát lửa “DenCanhBao(led_red, led_green);”: Bật đèn màu đỏ, tắt đèn màu xanh “digitalWrite(speaker, HIGH);”: Truyền tín hiệu cho loa phát âm báo hiệu Ngược lại nhận vào tín hiệu hai mạch cảm biến LOW thực khối lệnh phía dưới: “lcd.print("BINH THUONG THUONG, báo hiệu an toàn ");”: Hiển thị lên LCD chữ BINH “DenCanhBao(led_green, led_red);”: Bật đèn xanh tắt đèn đỏ “digitalWrite(speaker, LOW);”: Truyền tín hiệu LOW cho Loa báo hiệu tắt Được lặp lại kiểm tra liên tục giây lần 3.4 Cách thức hoạt động 18 Hình 3.11 Hệ thống phát khí gas Khi phát có lửa khí gas báo hiệu qua hình LCD dịng chữ CANH BAO, đồng thời đèn báo màu đỏ sáng, loa báo hiệu kêu liên tục Hình 3.12 Hệ thống phát lửa Ngược lại, khơng phát khí gas bị rị rỉ có nguy gây cháy nổ lửa đèn báo hiệu chuyển xanh, hình LCD nội dung BINH THUONG loa cảnh báo khơng kêu 19 Hình 3.13 Hệ thống khơng phát lửa khí gas 3.5 Thử nghiệm hệ thống kết Hệ thống chạy ổn định, phát lửa khí gas nhạy, phát tốc độ cảnh báo nhanh, có độ trễ thấp Tuy nhiên cịn giới hạn hoạt động tốt môi trường có phạm vi vừa nhỏ KẾT LUẬN Trong sống đại việc cháy chữa cháy trở thành mối quan tâm hàng đầu quanh ta ln tồn khu vực dễ cháy gây thiệt hại nặng nề người Việc phát đám cháy có vai trị quan trọng, giúp ngăn chặn xử lí kịp thời đám cháy người chưa thể xử lí can thiệp Qua trình tìm hiểu hệ thống nhúng xây dựng hệ thống cảnh báo cháy nổ, em học thêm nhiều kiến thức biết vận dụng kiến thức học để giải toán đặt Em hoàn thành sản phẩm là: Hệ thống cảnh báo cháy nổ báo cáo hệ thống Nhúng TÀI LIỆU THAM KHẢO Tiếng Việt [1] Phan Nguyệt Minh, Huỳnh Tuấn Anh, Nguyễn Vĩnh Kha, (2014), Lập trình Nhúng bản, Nhà xuất Đại học Quốc Gia – Hồ Chí Minh [2] http://arduino.vn/ [3] Phạm Minh Tuấn (TuanPM), Arduino cho người bắt đầu, IoT Maker Viet Nam [4] Sổ Tarduino - Lập Trình Điều Khiển Arduino Cho Ngừời Mới Bắt Đầu V2 Tiếng Anh [5] Simon Monk, 30 Arduino™ Projects for the Evil Genius ... phẩm: + Bài báo cáo tập lớn học phần: Xây dựng hệ thống nhúng có chức giám sát, cảnh báo cháy nổ + Hệ thống: Xây dựng hệ thống cảnh báo cháy nổ với mạch Arduino UNO R3 2 NỘI DUNG CHƯƠNG 1: TỔNG... hiểu hệ thống nhúng xây dựng hệ thống cảnh báo cháy nổ, em học thêm nhiều kiến thức biết vận dụng kiến thức học để giải tốn đặt Em hồn thành sản phẩm là: Hệ thống cảnh báo cháy nổ báo cáo hệ thống. .. THỰC HIỆN, PHÂN TÍCH ĐÁNH GIÁ HỆ THỐNG CẦN XÂY DỰNG 2.1 Xây dựng kế hoạch Sử dụng mạch Mạch Arduino UNO R3 để xây dựng hệ thông cảm biến cảnh báo cháy nổ, gồm hai mạch cảm biến cảm biến lửa cảm

Ngày đăng: 20/12/2022, 22:33

Xem thêm:

TỪ KHÓA LIÊN QUAN