(Đồ Án Tốt Nghiệp) Thiết Kế Và Thi Công Hệ Thống Báo Cháy Sử Dụng Công Nghệ Iot.pdf

105 7 0
(Đồ Án Tốt Nghiệp) Thiết Kế Và Thi Công Hệ Thống Báo Cháy Sử Dụng Công Nghệ Iot.pdf

Đ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

Untitled BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN TH[.]

BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG BÁO CHÁY SỬ DỤNG CÔNG NGHỆ IOT GVHD: PGS.TS Nguyễn Minh Tâm SVTH: Bùi Nguyễn Nhật Tân - 16141270 Mai Trọng Khánh - 16141180 Tp Hồ Chí Minh - 8/2020 LỜI CAM ĐOAN Đề tài nhóm tự thực dựa vào số tài liệu trước khơng chép từ tài liệu hay cơng trình có trước Người thực đề tài Mai Trọng Khánh Bùi Nguyễn Nhật Tân v LỜI CẢM ƠN Nhóm em xin gửi lời cảm ơn đến thầy Nguyễn Minh Tâm trực tiếp hướng dẫn, góp ý, chia sẻ nhiều kinh nghiệm quý báu, tận tình giúp đỡ tạo điều kiện để chúng em hoàn thành tốt đề tài Nhóm em xin gửi lời chân thành cảm ơn thầy, cô Khoa Điện - Điện Tử tạo điều kiện tốt cho em hoàn thành đề tài Nhóm gửi lời đồng cảm ơn đến bạn lớp 1614DT2 chia sẻ trao đổi kiến thức kinh nghiệm quý báu thời gian thực đề tài Cảm ơn đến cha mẹ tạo điều kiện tốt kinh tế tinh thần để hoàn thành tốt đề tài Xin chân thành cảm ơn! Người thực đề tài Mai Trọng Khánh Bùi Nguyễn Nhật Tân vi MỤC LỤC Trang phụ bìa Nhiệm vụ đồ án……………………………………………… ……… ….i Lịch trình …………………………………………………………………iii Cam đoan …………………………………………………….……………v Lời cảm ơn………………………………………………………… ……vi Mục lục……………………………………………………………………vii Liệt kê hình vẽ………………………………………………………………x Liệt kê bảng vẽ ……………………………………………………………xiii Tóm tắt …………………………………………………………………….xiv CHƯƠNG TỔNG QUAN……………………………………… 1.1 Đặt vấn đề………………………………………………………….… 1.2 Mục tiêu…………………………………………………………… ….1 1.3 Nội dung nghiên cứu……………………………… ……………… …2 1.4 Giới hạn…………………………………………………………… … 1.5 Bố cục đề tài………………………………………………… …… ….3 CHƯƠNG CƠ SỞ LÝ THUYẾT…………………………….… 2.1 Tổng quan hệ thống IOT………………………………………… …4 2.2 Giới thiệu thiết bị vào sử dụng đề tài ………………………7 2.3 Giới thiệu phần cứng………………………………………………… …7 2.3.1 Board Adruino Mega 2560………………………………………… …7 2.3.2 Giới thiệu LCD 16x2…………………………………………….…… 11 2.3.3 Module cảm biến khí gas MQ2……………………………….… ……13 2.3.4 Module giao tiếp Wifi ESP8266 node MCU……………………… ….15 2.3.5 Module cảm biến độ ẩm nhiệt độ DHT11………………….…… …16 2.3.6 Cảm biến lửa…………………………………………………… …… 19 vii 2.3.7 Modue Sim900A…………………………………………………… 21 2.3.8 Khối ngõ công suất……………………………………………… 23 2.4 Chuẩn truyền liệu nối tiếp Uart……………………………… …… 24 CHƯƠNG TÍNH TỐN VÀ THIẾT KẾ……………… ….……28 3.1 Giới thiệu……………………………………………………….… 28 3.2 Tính tốn thiết kế hệ thống………………………………… …28 3.2.1 Thiết kế sơ đồ khối hệ thống …………………………… … … 28 3.2.2 Tính tốn thiết kế ………………………………………….… 29 3.2.3 Sơ đồ ngun lí tồn hệ thống………………………….………….35 CHƯƠNG THI CÔNG HỆ THỐNG …………………….…… …38 4.1 Giới thiệu…………………………………….…………….…… … 38 4.2 Thi công hệ thống……………………………………………… … 38 4.2.1 Thi công bo mạch…………………………………………….…… ……38 4.2.2 Lắp ráp kiểm tra……………………………………………………….41 4.3 Đóng gói thi cơng mơ hình………………….… ……………… …… 43 4.3.1 Đóng gói điều khiển…………………….…………………… ….… 43 4.3.2 Thi cơng mơ hình……………………………………….………… ……43 4.4 Lập trình hệ thống………………………………………………… ….… 45 4.4.1 Lưu đồ giải thuật………………………………………………… …… 45 4.4.2 Phần mềm lập trình cho vi điều khiển…………………….…… ………52 4.4.3 Phần mềm lập trình cho Web………………………… ………… ….…55 4.4.4 Cơng cụ lập trình Web Server…………………………………… ….….56 4.5 Viết tài liệu hướng dẫn sử dụng, thao tác……… ………………… ……57 viii 4.5.1 Viết tài liệu hướng dẫn sử dụng………………………………… ……57 4.5.2 Quy trình thao tác ……………………………………………… ……58 CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ …………….….60 5.1 Giới thiệu…………………………………………………………….… 60 5.2 Kết đạt được…………………………………………………… ……60 5.2.1 Biết cách sử dụng cảm biến…………………………………… … 60 5.2.2 Biết cách lập trình Arduino Mega………………………………….……60 5.2.3 Biết cách sử dụng modul wifi ESP8266………………………… ….…61 5.2.4 Biết cách sử dụng modul sim 900A………………….…………… ….61 5.3 Kết thực nghiệm……………………………………………….….… 61 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN……… … 68 6.1 Kết luận……………………………………………………… …… … 68 6.2 Hướng phát triển đề tài…………………………………………… … …68 TÀI LIỆU THAM KHẢO……………………………………… … 69 PHU LỤC…………………… ……………………………… …….……70 ix LIỆT KÊ HÌNH VẼ Hình Trang Hình 2.1: Các thành phần IOT………………………………… Hình 2.2: Hình ảnh Arduino Mega 2560….……………………………………8 Hình 2.3: Sơ đồ chân ATmega2560……………………………….………10 Hình 2.4: Hình chân LCD 16x2………………………………… ……… 11 Hình 2.5: Sơ đồ chân LCD 16x2………………………………………….……12 Hình 2.6: Mơ đun cảm biến khí gas MQ2………………………….………… 14 Hình 2.7: Hình ảnh ESP8266 ngồi thực tế………………………….…………15 Hình 2.8: Sơ đồ chân ESP8266…………………………….………… ….16 Hình 2.9: Hình ảnh DHT11 ngồi thực tế…………… ……………………… 17 Hình 2.10: Thiết lập tín hiệu MCU DHT……………………… …….18 Hình 2.11: Đọc liệu DHT……………………………………………… … 19 Hình 2.12: Hình ảnh cảm biến lửa ngồi thực tế……………….……………….20 Hình 2.13: Sim 900A……………………………………………………… … 20 Hình 2.14: Thứ tự chân Sim 900A………………………………………………21 Hình 2.15: Sơ đồ chân Relay………………………………………………….…23 Hình 2.16: Sơ đồ chân 2SC1815…………………………………… …… 24 Hình 2.17: Cấu trúc frame liệu…………………………………25 Hình 3.1: Sơ đồ khối hệ thống………………………………………………… 28 Hình 3.2: Sơ đồ kết nối Arduino Mega với cảm biến lửa……………… …… 30 Hình 3.3: Sơ đồ kết nối Arduino Mega với cảm biến gas MQ2………… …….30 Hình 3.4: Sơ đồ kết nối Arduino Mega với cảm biến DHT11…………….…….31 Hình 3.5: Sơ đồ kết nối Arduino Mega với LCD 16x2………………………….32 Hình 3.6: Sơ đồ kết nối Arduino Mega với NodeMCU Esp8266……………….32 Hình 3.7: Sơ đồ kết nối Arduino Mega với relay……………………………… 33 Hình 3.8: Sơ đồ kết nối Arduino Mega với module Sim 900A…………….……34 Hình 3.9: Khối báo nguồn……………………………………………………….35 x Hình 3.10: Sơ đồ ngun lí tồn hệ thống………………………………………36 Hình 4.1: Mạch PCB………………………………………………… ……… 39 Hình 4.2: Sơ đồ bố trí linh kiện………………………………………… …….40 Hình 4.3: Hình ảnh thực tế mặt trướt mạch hồn thành……………….42 Hình 4.4: Hình ảnh thực tế mặt sau mạch hồn thành…………… ….42 Hình 4.5: Đóng gói điều khiển………………………………………… ….43 Hình 4.6: Mơ hình sản phẩm…………………………………………….….….44 Hình 4.7: Vị trí đặt cảm biến mơ hình………………………….……44 Hình 4.8: Hình ảnh tồn mơ hình………………………………………………45 Hình 4.9: Lưu đồ điều khiển chế độ hoạt động……………………… ……….46 Hình 4.10: Lưu đồ điều khiển chế độ Auto……………………………… ……47 Hình 4.11:Lưu đồ điều khiển chế độ Manu……………………………… … 48 Hình 4.12: Lưu đồ truyền nhận liệu chế độ Auto…………………… ……49 Hình 4.13: Lưu đồ truyền nhận liệu chế độ Manu………………………… 50 Hình 4.14: Lưu đồ điều khiển Web…………………………………………… 51 Hình 4.15: Biểu tượng IDE…………………………………………………… 52 Hình 4.16: Quy trình làm việc Arduino…………………………………….53 Hình 4.17: Giao diện IDE…………………………………………………….…53 Hình 4.18: Giao diện menu IDE…………………………………… ………….54 Hình 4.19: Giao diện Arduino Toolbar………………………… …….………54 Hình 4.20: Biểu tượng phần mềm Dreamweaver……………… ….…… 55 Hình 4.21: Biểu tượng 000Webhost………………………………….….…56 Hình 4.22: Sơ đồ vận hành hệ thống…………………………………… …….59 Hình 5.1: Hình ảnh ban đầu LCD………………………………….……….61 Hình 5.2 : Chọn chế độ điều khiển chế độ tự động…………….….………62 Hình 5.3 : Hệ thống phát có ga web………………………….……… 63 Hình 5.4 : Hệ thống phát có ga thơng báo LCD………… ……… 63 Hình 5.5: Hệ thống phát có lửa web………………………….……….64 Hình 5.6: Hệ thống phát có lửa thơn67g báo lcd……………….…….64 xi Hình 5.7: Hệ thống phát nhiệt độ tăng web……………………… ….65 Hình 5.8: Hệ thống phát nhiệt độ tăng cao thông báo lcd………….65 Hình 5.9: Web trạng thái lựa chọn chế độ manual…………………… … …66 Hình 5.10: Cảnh báo gửi tin nhắn điện thoại…………………… ……66 xii LIỆT KÊ BẢNG Bảng Trang Bảng 2.1: Thơng số board Arduino Mega 2560……….….….8 Bảng 2.2: Thông số kỹ thuật ESP8266…………………………… 16 Bảng 2.3: Mô tả chân giao tiếp module Sim 900A……….…….21 Bảng 2.4: Thông số kỹ thuật Relay…………………………………23 Bảng 2.5: Thông số kỹ thuật 2SC1815……………………… ……24 Bảng 3.1: Tính tốn điện áp dịng điện khối nguồn……….…… 35 Bảng 4.1: Danh sách linh kiện…………………………………….…40 xiii void SendESP8266() { // A[lửa Có or khơng]B[nhiệt độ]C[độ ẩm]D[khí ga]E[trạng thái bơm]F[trạng thái quạt]G[trạng thái cảnh báo]H[Chế độ]J ChuoiSendESP = ; bien++; ChuoiSendESP = A + TrangThai_CbLua + B + nhietdo + C + doam + D + GiatriCBga + E + TrangthaiBom + F + TrangthaiQuat + G + TrangthaiCanhBao + H + chedo + J; Serial.print(bien); Serial.print( ChuoiSendESP = ); Serial.println(ChuoiSendESP); Serial3.println(ChuoiSendESP); } void CanhBao() { if (digitalRead(Btn_CanhBao) == LOW) { while (1) { if (digitalRead(Btn_CanhBao) == HIGH) { delay(100); biencanhbao++; if (biencanhbao % == 1) { TrangthaiCanhBao = 1; 80 Serial.println( =>ON Cảnh Báo ); digitalWrite(RL_CanhBao, HIGH); //digitalWrite(RL_Quat, HIGH); sendSMS(textSMS1); LCD_1(); break; } else { TrangthaiCanhBao = 0; Serial.println( =>OFF Cảnh Báo ); digitalWrite(RL_CanhBao, LOW); //digitalWrite(RL_Quat, LOW); break; } } } } } void SoSanh() { // so sánh lửa có lửa kích relay bơm if (TrangThai_CbLua == && (GiatriCBga > && GiatriCBga 0) ) { //Serial.println( Co Lua => ON BOM ); digitalWrite(RL_Bom, HIGH); 81 digitalWrite(RL_CanhBao, HIGH); digitalWrite(RL_Quat, HIGH); TrangthaiBom = 1; TrangthaiQuat = 1; TrangthaiCanhBao = 1; sendSMS(textSMS4); LCD_3(); } else if (TrangThai_CbLua == && (GiatriCBga > && GiatriCBga 0) ) { //Serial.println( Khong Lua => OFF BOM ); digitalWrite(RL_Bom, LOW); digitalWrite(RL_CanhBao, LOW); digitalWrite(RL_Quat, LOW); TrangthaiBom = 0; TrangthaiQuat = 0; TrangthaiCanhBao = 0; hienthiLCD(); } // SO sánh khí Ga > 200 Quạt chạy ngược lại OFF quạt else if (TrangThai_CbLua == && (GiatriCBga > && GiatriCBga = 35 && nhietdo < 50) ) { //Serial.println( Co nd => ON Quat cb ); digitalWrite(RL_Bom, LOW); digitalWrite(RL_CanhBao, HIGH); 82 digitalWrite(RL_Quat, HIGH); TrangthaiBom = 0; TrangthaiQuat = 1; TrangthaiCanhBao = 1; sendSMS(textSMS2); LCD_4(); } else if (TrangThai_CbLua == && (GiatriCBga >= 200 && GiatriCBga = && nhietdo < 34) ) { //Serial.println( co ga => OFF Quat va canh bao ); digitalWrite(RL_Bom, LOW); digitalWrite(RL_CanhBao, HIGH); digitalWrite(RL_Quat, HIGH); TrangthaiBom = 0; TrangthaiQuat = 1; TrangthaiCanhBao = 1; sendSMS(textSMS3); LCD_2(); } else if (TrangThai_CbLua == && (GiatriCBga < 200 && GiatriCBga > 0) && (nhietdo >= && nhietdo < 34) ) { //Serial.println( tat ga => OFF het ); digitalWrite(RL_Bom, LOW); digitalWrite(RL_CanhBao, LOW); 83 digitalWrite(RL_Quat, LOW); TrangthaiBom = 0; TrangthaiQuat = 0; TrangthaiCanhBao = 0; } } void Read_CamBienGa() { GiatriCBga = 0; GiatriCBga = analogRead(CB_ga); Serial.print( Ga: ); Serial.println(GiatriCBga); } void Read_DHT() { nhietdo = 0; doam = 0; doam = dht.readHumidity(); nhietdo = dht.readTemperature(); Serial.print( nhiệt độ: ); Serial.println(nhietdo); Serial.print( độ ẩm: ); Serial.println(doam); } void Read_CamBienLua() 84 { // khơng có lửa = ngược lại = 0; TrangThai_CbLua = 1; TrangThai_CbLua = digitalRead(CB_lua); Serial.print( lửa: ); Serial.println(TrangThai_CbLua); } void Read_Uart() { while (Serial3.available()) { lastMsg = millis(); char inChar = (char)Serial3.read(); inputString += inChar; if (inChar == '\n') { stringComplete = true; } if (stringComplete) { lastMsg = millis(); Serial.print( Chuoi nhan duoc = ); Serial.println(inputString); int TimA, TimB , TimC , TimD , TimE, TimF , TimJ , TimK = -1; TimA = inputString.indexOf( A ); 85 TimB = inputString.indexOf( B ); TimC = inputString.indexOf( C ); TimD = inputString.indexOf( D ); TimE = inputString.indexOf( E ); TimF = inputString.indexOf( F ); TimJ = inputString.indexOf( J ); TimK = inputString.indexOf( K ); if (TimA >= && TimB >= 0) { chedo = inputString.substring(TimA + , TimB ).toInt(); Trangthai_BtnCheDo = digitalRead(Btn_CheDo); TrangthaiBom = 0; TrangthaiQuat = 0; TrangthaiCanhBao = 0; TrangThai_CbLua = 1; GiatriCBga = 0; nhietdo = 0; doam = 0; biencanhbao = 0; bienbom = 0; bienquat = 0; digitalWrite(RL_Bom, LOW); digitalWrite(RL_Quat, LOW); digitalWrite(RL_CanhBao, LOW); Read_DHT(); Read_CamBienLua(); 86 Read_CamBienGa(); hienthiLCD(); SendESP8266(); lastMsg = millis(); } if (TimC >= && TimD >= 0) { bienquat++; if (bienquat % == 1) { Serial.println( => ON Quạt ); digitalWrite(RL_Quat, HIGH); TrangthaiQuat = 1; } else { Serial.println( => OFF Quạt ); digitalWrite(RL_Quat, LOW); TrangthaiQuat = 0; } Read_DHT(); Read_CamBienLua(); Read_CamBienGa(); hienthiLCD(); SendESP8266(); lastMsg = millis(); } 87 if (TimE >= && TimF >= 0) { bienbom++; if (bienbom % == 1) { Serial.println( => ON BOM ); digitalWrite(RL_Bom, HIGH); TrangthaiBom = 1; } else { Serial.println( => OFF BOM ); digitalWrite(RL_Bom, LOW); TrangthaiBom = 0; } Read_DHT(); Read_CamBienLua(); Read_CamBienGa(); hienthiLCD(); SendESP8266(); lastMsg = millis(); } if (TimJ >= && TimK >= 0) { biencanhbao++; if (biencanhbao % == 1) { 88 TrangthaiCanhBao = 1; Serial.println( =>ON Cảnh Báo ); digitalWrite(RL_CanhBao, HIGH); } else { TrangthaiCanhBao = 0; Serial.println( =>OFF Cảnh Báo ); digitalWrite(RL_CanhBao, LOW); } Read_DHT(); Read_CamBienLua(); Read_CamBienGa(); hienthiLCD(); SendESP8266(); lastMsg = millis(); } inputString = ; stringComplete = false; lastMsg = millis();; } } } void hienthiLCD() { lcd.setCursor(0, 0); 89 lcd.print( ND: ); lcd.setCursor(0, 1); lcd.print( DA: ); lcd.setCursor(3, 0); lcd.print(nhietdo); lcd.write(223); lcd.print( C ); lcd.setCursor(3, 1); lcd.print(doam); lcd.print( % ); Serial.println(); // delay(1000); lcd.setCursor(9, 0); lcd.print( Gas: ); lcd.setCursor(13, 0); lcd.print(GiatriCBga); lcd.print( ); delay(500); lcd.setCursor(9, 1); lcd.print( Lua: ); if (TrangThai_CbLua == HIGH) { lcd.setCursor(13, 1); lcd.print( Ko ); } else 90 { lcd.setCursor(13, 1); lcd.print( Co ); } } void LCD_1() { lcd.setCursor(0, 0); lcd.print( CANH BAO ); // delay(3000); lcd.setCursor(0, 1); lcd.print( CANH BAO ); delay(3000); } void LCD_2() { lcd.setCursor(0, 0); lcd.print( CANH BAO ); // delay(3000); lcd.setCursor(0, 1); lcd.print( RO RI KHI GAS ); delay(3000); } void LCD_3() { lcd.setCursor(0, 0); lcd.print( CANH BAO ); // delay(3000); 91 lcd.setCursor(0, 1); lcd.print( PHAT HIEN LUA ); delay(3000); } void LCD_4() { lcd.setCursor(0, 0); lcd.print( CANH BAO ); // delay(3000); lcd.setCursor(0, 1); lcd.print( NHIET DO CAO ); delay(3000); } void Send_AT_Comment() { delay(500); while (Serial.available()) { Sim_Serial.write(Serial.read()); } while(Sim_Serial.available()) { Serial.write(Sim_Serial.read()); } } void sendSMS(String message) { 92 Serial.println( Initializing ); delay(1000); Sim_Serial.println( AT ); Send_AT_Comment(); Sim_Serial.println( AT+CSQ ); Send_AT_Comment(); Sim_Serial.println( AT+CCID ); Send_AT_Comment(); Sim_Serial.println( AT+CREG? ); Send_AT_Comment(); Sim_Serial.println( AT+CMGF=1 ); Send_AT_Comment(); Sim_Serial.println( AT+CMGS=\ +84343381474\ ); Send_AT_Comment(); Sim_Serial.print(message); Send_AT_Comment(); Sim_Serial.write(26); } 93

Ngày đăng: 15/06/2023, 21:54

Tài liệu cùng người dùng

Tài liệu liên quan