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

Đồ án tốt nghiệp thiết kế và thi công hệ thống cảnh báo, phòng chống hỏa hoạn và rò rỉ khí gas

109 2 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 109
Dung lượng 4,12 MB

Nội dung

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ệ ĐỀ TÀI: il NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG u THIẾT KẾ VÀ THI CÔNG HỆ THỐNG H CM CẢNH BÁO, PHÒNG CHỐNG TE U HỎA HOẠN VÀ RÒ RỈ KHÍ GAS GVHD : Hà A Thồi SVTH1: Trần Minh Tâm MSSV : 15141277 SVTH2: Đỗ Thị Huệ MSSV : 15141168 Tp Hờ Chí Minh – 6/2019 i TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o Tp HCM, ngày tháng năm 2019 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Trần Minh Tâm MSSV: 15141277 Đỗ Thị Huệ MSSV: 15141168 Chuyên ngành: Kỹ thuật Điện - Điện tử Mã ngành: 41 Hệ đào tạo: Đại học quy Mã hệ: Khóa: 2015 Lớp: 15141DT Tà I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG CẢNH BÁO, PHÒNG CHỐNG HỎA HOẠN VÀ RÒ RỈ KHÍ GAS iệ il II NHIỆM VỤ Các số liệu ban đầu: u Hệ thống cảnh báo hỏa hoạn và rò rỉ khí gas được thực hiện với các số liệu ban đầu CM H sau: - Hệ thống thu thập dữ liệu từ cảm biến lửa, nhiệt độ, khí gas - Hiển thị giá trị thu thập được lên LCD và trang web Thingspeak.com để theo TE - U dõi nồng độ khí gas, nhiệt độ phòng Nếu phát hiện có gas, lửa hay nhiệt độ quá cao sẽ báo động bằng cách gọi, gửi tin nhắn cho người sử dụng và mở quạt thông gió nhằm làm giảm nồng độ khí gas không khí, kích hoạt máy bơm hoạt động dập tắt lửa Nội dung thực hiện: - Lên ý tưởng đồ án - Tìm hiểu về linh kiện sử dụng - Thiết kế, thi công khối cảm biến đo nhiệt độ, cảm biến phát hiện lửa, cảm biến rò rỉ khí gas - Thiết kế khối giao tiếp ngoại vi, lấy sở dữ liệu trực tuyến thông qua Internet, truyền nhận thông tin giữa trạm phụ và trạm trung tâm - Vẽ lưu đồ giải thuật ii - Thiết kế và thi công hệ thống cảnh báo và rò rỉ khí gas - Lắp ráp các khối vào mô hình - Chạy thử nghiệm hệ thống - Cân chỉnh hệ thống - Viết luận văn - Báo cáo đề tài tốt nghiệp III NGÀY GIAO NHIỆM VỤ: 18/02/2019 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 10/06/2019 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: Thầy Hà A Thồi CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH u iệ il Tà TE U CM H iii TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o -Tp.HCM, ngày 28, tháng 02, năm 2019 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Đỗ Thị Huệ Lớp:15141DT1C MSSV:15141168 Họ tên sinh viên 2: Trần Minh Tâm Lớp:15141DT2A MSSV:15141277 Tên đề tài: Thiết kế và thi công hệ thống cảnh báo, phòng chống hỏa hoạn rò rỉ khí gas Xác nhận GVHD Nội dung Tuần Gặp GVHD để nghe phổ biến về yêu cầu làm đồ án , tiến hành chọn đồ án GVHD tiến hành xét duyệt đề tài Tìm hiểu sở lý thuyết liên quan tới đề tài: cảm biến khí gas MQ2, cảm biến phát hiện lửa flame sensor, cảm biến nhiệt độ DHT-22, Arduino Uno R3, động bơm P385, ESP8266 Node MCU, LCD 16X2 TE U (4/3 – 10/3) CM Tuần Viết đề cương và lịch trình thực hiện đồ án tốt nghiệp H (25/2 – 3/3) u Tuần iệ (18/2 – 24/2) il Tà Tuần/ngày Tuần (11/3 – 17/3) Tuần (18/3 – 24/3) Tuần (25/3 – 31/3) Tuần (1/4 – 7/4) Tìm hiểu về giao tiếp giữa các module, các cảm biến với Arduino ở bộ điều khiển trung tâm Tiến hành thiết kế sơ đồ khối, giải thích chức các khối ( khối nguồn, khối xử lí, khối hiển thị, khối cảm biến, khối truyền dữ liệu) Tính toán thiết kế khối nguồn, thiết kế sơ đồ toàn mạch và giải thích nguyên lý hoạt động mạch Vẽ PCB Vẽ lưu đồ giải thuật iv Lập trình code cho VDK và tiến hành thi công mạch Tuần 10 (8/4 – 14/4) Tuần 11 (15/4 – 21/4) Tuần 12 (22/4 – 28/4) Tuần 13 Lập trình code cho VDK và tiến hành thi công mạch Lập trình code cho VDK và tiến hành thi công mạch Kiểm tra , cân chỉnh mạch thi công (29/4 – 5/5) Viết báo cáo nội dung làm Hoàn thiện báo cáo và gởi cho GVHD để xem xét góp ý lần cuối trước in và báo cáo Tuần 14 (6/5 – 12/5) Tuần 15 Nộp quyển báo cáo và báo cáo đề tài (13/5 – 19/5) Làm slide (6-10 cái), báo cáo với GVHD Tà u iệ il GV HƯỚNG DẪN (Ký và ghi rõ họ và tên) TE U CM H v LỜI CAM ĐOAN Nhóm sinh viên – Đỗ Thị Huệ và Trần Minh Tâm xin cam đoan là đồ án nhóm tự thực hiện dưới sự hướng dẫn thầy Hà A Thồi Nhóm chỉ tham khảo các tài liệu trước đó và các nghiên cứu mạng online Kết quả cơng bớ khóa luận tớt nghiệp là trung thực không chép từ tài liệu hay công trình có trước đó u iệ il Tà TE U CM H Tp.HCM, ngày 10 tháng 06 năm 2019 SV thực hiện đồ án ( Ký và ghi rõ họ tên) Trần Minh Tâm Đỗ Thị Huệ vi LỜI CẢM ƠN Nhóm thực hiện đồ án xin được gửi lời cảm ơn đặc biệt đến giảng viên hướng dẫn thầy Hà A Thồi vì giúp đỡ nhóm quá trình thực hiện đồ án, người đưa hướng nghiên cứu, giải đáp thắc mắc, tận tình quan sát nhóm làm việc Trong quá trình thực hiện nhóm tiếp thu được những kiến thức thực tế và cách làm việc nghiêm túc, hiệu quả từ thầy Nhóm em xin gửi lời tri ân thành nhất đến các quý thầy cô khoa Điện điện tử hỗ trợ chúng em về những kiến thức nền tảng vững vàng, tạo điều kiện tốt nhất cho sinh viên quá trình học tập và nghiên cứu Sự hỗ trợ thầm lặng và vô quan trọng từ gia đình và bạn bè là động lực để nhóm có thể làm việc hết khả và hoàn thành đồ án một cách tốt nhất Tà Một lần nữa nhóm vô hân hạnh được làm sinh viên trường ĐH Sư il Phạm Kỹ Thuật TPHCM, là học trò những giảng viên đầy tâm huyết, lời cảm ơn u iệ này là sự ghi nhận sâu sắc mà nhóm muốn gửi đến thầy cô, gia đình và bạn bè TE U CM H vii MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP ii LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP iv LỜI CAM ĐOAN vi LỜI CẢM ƠN vii MỤC LỤC viii DANH SÁCH HÌNH ẢNH xii DANH SÁCH BẢNG VẼ xv TÓM TẮT xvi Chương TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU Tà 1.3 NỘI DUNG NGHIÊN CỨU .2 1.4 GIỚI HẠN il 1.5 BỐ CỤC iệ Chương CƠ SỞ LÝ THUYẾT u 2.1 GIỚI THIỆU CÁC LOẠI KHÍ GAS TRONG CÔNG NGHIỆP .4 H 2.1.1 Khái niệm CM 2.1.2 Ứng dụng khí gas công nhiệp 2.1.2.1 Ứng dụng ngành thực phẩm 2.1.2.2 Ứng dụng thiết bị gia dụng U 2.1.2.3 Ứng dụng làm nhiên liệu khí đốt TE 2.1.3 Tính chất nguy hiểm cháy, nổ gas .7 2.2 GIỚI THIỆU VỀ CẢM BIẾN NHIỆT ĐỘ .7 2.2.1 Khái niệm 2.2.2 Phân loại cảm biến nhiệt độ .8 2.3 GIỚI THIỆU TIA LỬA ĐIỆN 2.3.1 Khái niệm 2.3.2 Điều kiện tạo tia lửa điện .9 2.3.3 Ứng dụng 2.4 GIỚI THIỆU MẠNG DI ĐỘNG GSM 2.5 CÁC LOẠI MODULE SIM TRÊN THỊ TRƯỜNG .11 2.5.1 Nguyên lý hoạt động 12 2.5.1.1 Giao tiếp UART với vi điều khiển 12 2.5.1.2 Tập lệnh AT 12 viii 2.6 BỘ THU PHÁT SÓNG VÔ TUYẾN (RF) 13 2.6.1 Sóng vô tuyến ( RF ) 13 2.6.2 Bộ thu phát sóng vô tuyến (RF) .15 2.7 CÁC LOẠI MODULE THU PHÁT SÓNG RF .17 2.7.1 Nguyên lý hoạt động 17 2.7.2 Giao tiếp SPI với vi điều khiển 18 2.8 GIỚI THIỆU HỆ THỐNG INTERNET 18 2.8.1 Cấu trúc mạng Internet 18 2.8.2 Các mạng truy nhập không dây 18 2.9 CÁC LOẠI MODULE THU PHÁT WIFI .19 2.10 NGUỒN CUNG CẤP 20 2.10.1 Bộ chuyển đổi nguồn AC – DC .20 2.10.1.1 Bộ chuyển đổi Adapter 20 Tà 2.10.1.2 Nguồn tổ ong 21 2.10.2 Bộ chuyển đổi nguồn DC- DC .22 il 2.10.2.1 Mạch tăng áp BOOST .22 iệ 2.10.2.2 Mạch hạ áp BUCK 24 u 2.11 ĐỘNG CƠ ĐIỆN XOAY CHIỀU 25 H 2.11.1 Động điện pha 25 CM 2.11.2 Động điện pha 26 2.12 GIỚI THIỆU VI ĐIỀU KHIỂN ARDUINO .26 U 2.12.1 Phần cứng .26 TE 2.12.2 Phần mềm .27 2.12.3 Các loại Arduino 28 2.12.3.1 Arduino Uno R3 28 2.12.3.2 Arduino Nano 29 2.12.3.3 Arduino Mega 2560 R3 30 2.13 CÁC CHUẨN TRUYỀN DỮ LIỆU .31 2.13.1 Giao tiếp SPI 31 2.13.2 Giao tiếp UART .32 2.13.3 Giao tiếp I2C 33 Chương TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 38 3.1 GIỚI THIỆU VỀ MƠ HÌNH HỆ THỐNG .38 3.2 TÍNH TOÁN VÀ THIẾT KẾ CHI TIẾT HỆ THỐNG 38 3.2.1 Thiết kế sơ đồ khối hệ thống 38 3.2.1 Tính toán và thiết kế mạch .40 ix 3.2.1.1 Cảm biến khí gas .40 3.2.1.2 Cảm biến lửa .42 3.2.1.3 Cảm biến nhiệt độ .43 3.2.1.4 Cảm biến siêu âm HC-SR04 .45 3.2.1.5 Chuông báo động 46 3.2.1.6 Khối hiển thị 46 3.2.1.7 Module Wifi ESP8266 48 3.2.1.8 Mạch thu phát RF NRF24L01+ 50 3.2.1.9 Module SIM 800A MINI 51 3.2.1.10 Khối xử lý trung tâm Arduino 52 3.2.1.11 Khối nguồn 54 3.2.3 Sơ đồ nguyên lý hệ thống 55 3.2.3.1 Sơ đồ nguyên lý khối thu thập dữ liệu 55 Tà 3.2.3.2 Sơ đồ nguyên lý khối xử lý trung tâm .57 3.2.3.3 Sơ đồ nguyên lý khối máy bơm 58 il Chương THI CÔNG HỆ THỐNG 60 iệ 4.1 GIỚI THIỆU 60 u 4.2 THI CÔNG HỆ THỐNG 60 H 4.2.1 Thi công khối thu thập dữ liệu 60 CM 4.2.2 Khối xử lý trung tâm 62 4.3 ĐÓNG GÓI VÀ THI CƠNG MƠ HÌNH 64 U 4.3.1 Thi công hộp bảo vệ mạch .64 TE 4.3.2 Thi công mô hình .64 4.4 LẬP TRÌNH HỆ THỐNG .64 4.4.1 Lưu đồ giải thuật 64 4.4.1.1 Khối thu thập dữ liệu .64 4.4.1.2 Khối xử lý trung tâm 69 4.4.2 Phần mềm lập trình cho vi điều khiển 69 4.4.2.1 Giới thiệu phần mềm lập trình 69 4.4.2.2 Giới thiệu về Web Thingspeak 73 4.5 TÀI LIỆU HƯỚNG DẪN SỬ DỤNG VÀ THAO TÁC 75 Chương KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 76 5.1 GIỚI THIỆU 76 5.2 KẾT QUẢ ĐẠT ĐƯỢC 76 5.2.1 Sử dụng Arduino Nano 76 5.2.3 Sử dụng module NRF24L01 76 x CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 2: Hình ảnh ban đầu khối xử lý trung tâm Tà Khi khối thu thập cập nhật thông tin phát hiện lửa, gas sẽ truyền dữ liệu il cho khối xử lý trung tâm u iệ TE U CM H Hình 3: Hệ thống phát hiện có gas Khi phát hiện gas hệ thống sẽ nhắn tin thơng báo cho người dùng BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 78 CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ il Tà u iệ Hình 4: Hệ thống nhắn tin cho người dùng TE U CM H Hình 5: Hệ thống phát hiện lửa BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 79 CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Tà Hình 6: Hệ thống gọi điện thông báo phát hiện lửa il Đồng thời, những thông tin đó sẽ được cập nhập lên trang Web u iệ Thingspeak.com nhờ module thu phát sóng Wifi ESP8266 TE U CM H Hình 7: Thông tin cảm biến được cập nhật Thingspeak BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 80 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 KẾT LUẬN Hệ thống cảnh báo, phòng chống hỏa hoạn và rò rỉ khí gas với mục đích hạn chế sự tổn thất về người và tài sản So với mục tiêu ban đầu đặt ra, nhóm hoàn thành được 95% Dưới là ưu điểm hệ thống ❖ Ưu điểm - Giải quyết được các vấn đề đặt đề tài - Hệ thống tiêu thụ điện ít - Dễ quan sát, dễ sử dụng - Có nguồn dự phòng cung cấp cho mạch Tà - Chi phí thấp - Phát hiện được lửa và khí gas nhanh chóng ❖ Nhược điểm u iệ il Tuy nhiên là mô hình nên sự thiếu sót là điều không thể tránh khỏi - Khoảng cách truyền nhận không xa H - Mô hình chưa gọn CM - Chỉ xử lý được lửa tầm phát hiện cảm biến 6.2 HƯỚNG PHÁT TRIỂN ĐỀ TÀI U Hệ thống cần được chỉnh sửa để hòa chỉnh hơn, dưới là những vấn đề TE nhóm đề nhằm hoàn thiện và để hệ thống gần với thực tế - Sử dụng camera tích hợp phát hiện lửa, khói và nhiệt độ - Sử dụng module thu phát sóng RF có ăng ten tăng độ chính xác truyền xa (Module thu phát sóng RF CC2530) - Thiết kế Web tự tạo để có giao diện mới - Sử dụng van ngắt gas tự đợng BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 81 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO Sách tham khảo [1] Huỳnh Ngọc Văn, Giáo trình điện tử công suất, Đại học SPKT Tp.HCM 2014 [2] Đoàn Thanh Đủ, “Hệ thống giám sát báo động khí gas ”, Đờ án tốt nghiệp, trường ĐHSPKT Tp.HCM, 2018 [2] Trần Thu Hà, Giáo trình Điện tử bản, Đại học SPKT Tp.HCM 2013 [3] Nguyễn Đình Phú, Giáo Trình: Vi Xử Lý , Xuất bản ĐH Quốc Gia, Tp.HCM, 2016 [3] Phạm Quang Huy, Nguyễn Cảnh Trung, Lập Trình Điều Khiển Với Arduino, NXB Khoa Học và Kỹ Thuật [4] Trương Đình Nhơn, Phạm Quang Huy, Hướng Dẫn Sử Dụng Arduino, NXB Tà Đại Học Quốc Gia TPHCM il [5] Micheal McRoberts, Beginning Arduino, Technology In Action, 2010 CM [1] www.alldatasheet.com H Trang Web tham khảo u Niên iệ [6] Lê Mỹ Hà, KS Phạm Quang Huy, Lập Trình Iot Với Arduino, NXB Thanh [2] http://www.datasheetcatalog.com/ [1] https://vov.vn BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH TE Trích dẫn U [3] https://arduino.cc 82 PHỤ LỤC PHỤ LỤC ❖ Chương trình khối thu thập dữ liệu #include #include #include #include #include #include LiquidCrystal_I2C lcd(0x27,16,2); u iệ il Tà const int DHTPIN = 6; const int DHTTYPE = DHT22; uint8_t *_str_stransmit1; DHT dht(DHTPIN, DHTTYPE); RF24 radio(7, 8); const byte addresses[][6] = {"00001", "00002"}; typedef struct { struct { float temp; float humi; }sensor_dht22; struct { int flame; }flame_sensor; struct { int gas; }gas_sensor; }SENSOR_DATA_PROTO; SENSOR_DATA_PROTO sensor; TE U CM H void Delay(float delayTime, void (func)()) { unsigned long endTime = millis() + delayTime; while(millis() < endTime) { func(); } } void read_sensor() { sensor.sensor_dht22.temp = dht.readTemperature(); sensor.sensor_dht22.humi = dht.readHumidity(); sensor.flame_sensor.flame = digitalRead(3); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 83 PHỤ LỤC if (sensor.flame_sensor.flame == 0) { digitalWrite(2,1); } else { digitalWrite(2,0); sensor.gas_sensor.gas = digitalRead(4); if (sensor.gas_sensor.gas == 0) { digitalWrite(5,1); } else { digitalWrite(5,0); } radio.write(&sensor, sizeof(sensor)); Tà } u iệ il void trans_uart() { _str_stransmit1 = (uint8_t *) & sensor; TE U CM H for(uint8_t i = ; i < sizeof(SENSOR_DATA_PROTO)/sizeof(uint8_t); i++) { Serial.write(_str_stransmit1[i]); } } void setup() { pinMode(2,OUTPUT); pinMode(5,OUTPUT); pinMode(3,INPUT); pinMode(4,INPUT); Serial.begin(9600); dht.begin(); radio.begin(); radio.openWritingPipe(addresses[1]); // 00002 radio.openReadingPipe(1, addresses[0]); // 00001 radio.stopListening(); radio.setPALevel(RF24_PA_MAX); lcd.begin(16,2); lcd.init(); lcd.backlight(); } void loop() { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 84 PHỤ LỤC read_sensor(); lcd.setCursor(0,0); lcd.print("ND:"); lcd.setCursor(3,0); lcd.print(round(sensor.sensor_dht22.temp)); lcd.setCursor(5,0); lcd.print((char)223); lcd.print("C"); lcd.setCursor(8,0); lcd.print("Lua:"); lcd.setCursor(12,0); lcd.print(sensor.flame_sensor.flame); lcd.setCursor(0,1); lcd.print("DA:"); lcd.setCursor(3,1); lcd.print(round(sensor.sensor_dht22.humi)); lcd.setCursor(5,1); lcd.print("%"); Tà iệ il lcd.setCursor(8,1); lcd.print("Gas:"); lcd.setCursor(12,1); lcd.print(sensor.gas_sensor.gas); u read_sensor(); trans_uart(); Delay(2000,read_sensor); CM H } ❖ Chương trình code khối xử lý trung tâm TE U #include #include #include #include "SoftwareSerial.h" SoftwareSerial sim800a(5,6); String SDT="0985881306"; #include #include LiquidCrystal_I2C lcd(0x27,16,2); RF24 radio(7,8); const byte addresses[][6] = {"00001", "00002"}; typedef struct { struct { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 85 PHỤ LỤC float temp; float humi; }sensor_dht22; struct { int flame; }flame_sensor; struct { int gas; }gas_sensor; }SENSOR_DATA_PROTO; Tà SENSOR_DATA_PROTO sensor; void at(String _atcm,unsigned long _dl) { sim800a.print(_atcm+"\r\n"); delay(_dl); } u iệ il void send_sms() { sim800a.println("AT+CMGF=1 delay(100); sim800a.println("AT+CMGS=\"+84985881306\"\r"); delay(100); sim800a.println("NHA CO GAS"); TE U CM H delay(100); sim800a.println((char)26); delay(500); } void print_lcd() { lcd.setCursor(0,0); lcd.print("ND:"); lcd.setCursor(3,0); lcd.print(round(sensor.sensor_dht22.temp)); lcd.setCursor(5,0); lcd.print((char)223); lcd.setCursor(6,0); lcd.print("C"); lcd.setCursor(7,0); lcd.print(" "); lcd.setCursor(8,0); lcd.print("Lua:"); lcd.setCursor(12,0); lcd.print(sensor.flame_sensor.flame); lcd.setCursor(0,1); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 86 PHỤ LỤC lcd.print("DA:"); lcd.setCursor(3,1); lcd.print(round(sensor.sensor_dht22.humi)); lcd.setCursor(5,1); lcd.print("%"); lcd.setCursor(6,1); lcd.print(" "); lcd.setCursor(7,1); lcd.print(" "); lcd.setCursor(8,1); lcd.print("Gas:"); lcd.setCursor(12,1); lcd.print(sensor.gas_sensor.gas); delay(500); iệ il Tà } void setup() { Serial.begin(9600); lcd.begin(16,2); lcd.init(); lcd.backlight(); u radio.begin(); radio.openWritingPipe(addresses[0]); radio.openReadingPipe(1, addresses[1]); radio.setPALevel(RF24_PA_MAX); sim800a.begin(9600); at("AT",1000); void loop() { delay(5); radio.startListening(); TE U CM H } if (radio.available()) { radio.read(&sensor, sizeof(sensor)); } print_lcd(); if(sensor.flame_sensor.flame == 0) { at("ATD"+SDT+";",500); } else { radio.read(&sensor, sizeof(sensor)); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 87 PHỤ LỤC print_lcd(); } if(sensor.gas_sensor.gas == 0) { send_sms(); } else { radio.read(&sensor, sizeof(sensor)); print_lcd(); } } ❖ Chương trình code cho ESP #include Tà String apiKey = "RTJKZ8RB0VPR3CRL"; u iệ il const char *ssid = "captian roger"; const char *pass = "tamkool1997"; const char* server = "api.thingspeak.com"; WiFiClient client; typedef struct { struct { float temp; float humi; }sensor_dht22; struct { float flame; }flame_sensor; struct { float gas; }gas_sensor; struct { String TT="OK"; }Status; }SENSOR_DATA_PROTO; SENSOR_DATA_PROTO sensor; TE U CM H #define uint8_t uint8_t boolean MAX_SIZE_ARRAY 255 array_data_rec[MAX_SIZE_ARRAY]; lenght_data_array; check_data; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 88 PHỤ LỤC uint8_t *_str_data_rec1; void setup() { Serial.begin(9600); delay(10); Serial.println("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, pass); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } } iệ void loop() { il Tà Serial.println(""); Serial.println("WiFi connected"); check_data = false; u if(Serial.available()) { lenght_data_array = 0; while(Serial.available()) { array_data_rec[lenght_data_array++] = Serial.read(); check_data = true; delay(10); } } if(check_data) { _str_data_rec1 = (uint8_t *)&sensor; TE U CM H memcpy(_str_data_rec1,array_data_rec,lenght_data_array); Serial.println(sensor.sensor_dht22.temp); Serial.println(sensor.sensor_dht22.humi); Serial.println(sensor.gas_sensor.gas); Serial.println(sensor.flame_sensor.flame); check_data = false; } if (client.connect(server,80)) { String postStr = apiKey; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 89 PHỤ LỤC postStr +="&field1="; postStr += String(sensor.sensor_dht22.temp); postStr +="&field2="; postStr += String(sensor.sensor_dht22.humi); postStr += "\r\n\r\n"; client.print("POST /update HTTP/1.1\n"); client.print("Host: api.thingspeak.com\n"); client.print("Connection: close\n"); client.print("X-THINGSPEAKAPIKEY:"+apiKey+"\n"); client.print("Content-Type: application/xwww-form-urlencoded\n"); client.print("Content-Length: "); client.print(postStr.length()); client.print("\n\n"); client.print(postStr); } iệ il Tà Serial.print("Temperature: "); Serial.print(sensor.sensor_dht22.temp); Serial.print(" degrees Celcius, Humidity:"); Serial.print(sensor.sensor_dht22.humi); Serial.println("% Send to Thingspeak."); u client.stop(); CM H Serial.println("Waiting "); delay(1000); } const int trig = const int echo = const int relay = bool relay_status 8; 7; 6; = 0; TE U ❖ Chương trình code cho khối máy bơm void setup() { Serial.begin(9600); pinMode(trig,OUTPUT); pinMode(relay,OUTPUT); pinMode(echo,INPUT); } void loop() { unsigned long duration; int distance; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 90 PHỤ LỤC digitalWrite(trig,0); delayMicroseconds(2); digitalWrite(trig,1); delayMicroseconds(5); digitalWrite(trig,0); duration = pulseIn(echo,HIGH); distance = int(duration/2/29.412); if (distance >= 11 ) { digitalWrite(relay,HIGH); relay_status = 1; } if (distance == 6) { digitalWrite(relay,LOW); relay_status = 0; } } u iệ il Tà Serial.print(distance); Serial.println("cm"); delay(1000); TE U CM H BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 91 PHỤ LỤC u iệ il Tà TE U CM H BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 92

Ngày đăng: 11/10/2023, 14:23

w