Ngày nay với sự phát triển không ngừng của khoa học, công nghệ và kĩ thuật vớinhững ứng dụng tiên tiến, hiện đại làm thế giới đang thay đổi một cách nhanh chóng.Sự phát triển của nghành điện tử đã tạo ra hàng loạt sản phẩm với đặc điểm nổi bật nhưxử lí nhanh, gọn nhẹ, an toàn, chính xác… Một trong những ứng dụng quan trọng củanghành kỹ thuật là điều khiển và giám sát thiết bị từ xa. Điều này giúp cho việc vậnhành các thiết bị trở nên dễ dàng, an toàn hơn khi các mối nguy hiểm được cảnh báotrước.Với mục tiêu thiết kế một hệ thống phát hiện được lửa và khí gas rò rỉ một cáchnhanh chóng và chính xác. Người sử dụng có thể giám sát các chỉ số mối trường tại nơiđặt thiết bị thông qua internet. Hệ thống sẽ phát ra các cảnh báo đơn giản như nhắn tin,bật chuông khi phát hiện sự cố. Nhóm sẽ thiết kế một hệ thống dựa vào những kiếnthức đã học và quan sát thự tế. Tất cả để có một hệ thống báo cháy dễ dàng lắp đặt vàsử dụng, mang lại cảm giác an toàn cho người sử dụng.
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TP HỒ CHÍ MINH ĐỘC LẬP - TỰ DO - HẠNH PHÚC KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Tp HCM, ngày tháng năm 2020 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Bùi Nguyễn Nhật Tân MSSV: 16141270 MSSV: 16141180 Mai Trọng Khánh Chuyên ngành: Kỹ thuật Điện tử - Truyền thông Mã ngành: 41 Hệ đào tạo: Đại học quy Mã hệ: Khóa: 2016 Lớp: 1614DT2 I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG BÁO CHÁY SỬ DỤNG CÔNG NGHỆ IOT II NHIỆM VỤ Các số liệu ban đầu: Hệ thống giám sát báo động phát lửa ,khí gas nhấn nút cảnh báo thực với số liệu ban đầu sau: - Hệ thống thu thập liệu nồng độ khí gas theo giá trị % để giám sát nồng độ khí gas có khơng khí, phát có lửa hay không, đồng thời đo nhiệt độ độ ẩm khơng khí - Hiển thị giá trị thu thập LCD trang web để theo dõi tình trạng nồng độ khí gas, nhiệt độ, độ ẩm, lửa khơng khí - Nếu phát nồng độ khí gas khơng khí tăng lên, có lửa nút cảnh báo nhấn báo động thông qua còi báo động, tin nhắn sms i Nội dung thực - Xác định mục tiêu giới hạn đề tài - Tìm hiểu sở lý thuyết - Thiết kế thi công mạch nguồn - Thiết kế khối cảm biến, khối hiển thị, khối báo động chỗ, khối up liệu lên web, khối báo động qua tin nhắn - Thiết kế thi công xử lí thứ cấp, xử lí trung tâm - Viết code cho Arduino Mega 2560, nodeMCU ESP8266 - Tạo tài khoản web 000webhost để liên kết đưa liệu lên - Thiết kế hộp bảo vệ cho board mạch - Chỉnh sửa lỗi điều khiển, lỗi lập trình lỗi thiết bị - 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Ụ: 9/3/2020 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 11/8/2020 V HỌ VÀ TÊN GIÁO VIÊN HƯỚNG DẪN: PGS.TS Nguyễn Minh Tâm CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ii TRƯỜNG ĐẠI HỌC SPKT TPHCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Khoa Điện - Điện Tử Độc lập - Tự - Hạnh phúc Bộ Môn Điện Tử Công Nghiệp Tp Hồ Chí Minh, ngày tháng năm 2020 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Bùi Nguyễn Nhật Tân MSSV: 16141270 Họ tên sinh viên: Mai Trọng Khánh MSSV:16141180 Lớp: 16141DT2 Tên đề tài: Thiết Kế Và Thi Công Hệ Thống Báo Cháy Sử Dụng Công Nghệ IOT Tuần/ngày Nội dung Xác nhận GVHD - Gặp GVHD để phổ biến quy định: thực Tuần chọn đề tài, tên đề tài, thời gian làm việc (9/3 – 18/3) - Duyệt đề tài - Viết đề cương cho đề tài - Tìm kiếm kiến thức, thơng tin đặc Tuần tính nhiệt độ, độ ẩm, chất lượng khơng khí phịng mong muốn (23/3 – 29/3) - Tìm hiểu cảm biến sử dụng đề tài - Tìm hiểu cách thức lập trình ứng dụng thiết kế Web Server Tuần - Thiết kế sơ đồ khối, giải thích chức (30/3 – 5/4) - Tính tốn lựa chọn linh kiện cho khối Tuần - Thiết kế sơ đồ nguyên lý giải thích hoạt (6/4 – 12/4) động mạch iii Tuần (13/4 – 19/4) Tuần (20/4 – 26/4) - Thi công mạch, xây dựng mơ hình - Lập trình hệ thống - Thiết kế Web Server - Thi cơng mạch, xây dựng mơ hình - Lập trình hệ thống - Thiết kế Web Server Tuần - Thi cơng mạch, xây dựng mơ hình (27/4 – 3/5) - Lập trình hệ thống - Thiết kế Web Server Tuần (4/5 – 10/5) Tuần (11/5 – 17/5) Tuần 12 (8/6 – 14/6) - Thi cơng mạch, xây dựng mơ hình - Lập trình hệ thống - Thiết kế Web Server - Thi công mạch, xây dựng mơ hình - Lập trình hệ thống - Thiết kế Web Server - Kiểm tra, hồn thiện mơ hình, chạy thử sửa lỗi - Viết báo cáo Tuần 13 - Hồn thiện mơ hình, chạy thử sửa lỗi (15/6 – 21/6) - Viết báo cáo Tuần 15 (22/6 – 28/6) Tuần 16 (29/7 – 5/7) -Hoàn thiện, chỉnh sửa báo cáo gửi cho GVHD để xem xét góp ý lần cuối trước in báo cáo -Làm slide, báo cáo với GVHD GV HƯỚNG DẪN (Ký ghi rõ họ tên) iv iv 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 // Kiểm tra nút cảnh báo if (digitalRead(Btn_CanhBao) == LOW) { while (1) { if (digitalRead(Btn_CanhBao) == HIGH) { delay(100); biencanhbao++; if (biencanhbao % == 1) { TrangthaiCanhBao = 1; Serial.println( =>ON Cảnh Báo ); digitalWrite(RL_CanhBao, HIGH); break; } else { TrangthaiCanhBao = 0; Serial.println( =>OFF Cảnh Báo ); digitalWrite(RL_CanhBao, LOW); break; } } } } } 79 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