Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 63 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
63
Dung lượng
3,76 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THƠNG XE TỰ HÀNH CẢNH BÁO KHÍ GAS QUA MẠNG DI ĐỘNG GSM GVHD: ThS NGUYỄN NGÔ LÂM SVTH : ÐỖ NGỌC THỊNH 12141461 S KL 0 4 Tp Hồ Chí Minh, tháng 02/2017 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬTTHÀNH PHỐ HỒ CHÍ MINH H Đ TẠ CH T Ư NG C ĐỒ ÁN TỐT NGHIỆP XE TỰ HÀNH C NH H GAS QUA Đ NG GSM SVTH: ĐỖ NGỌC THỊNH MSSV: 12141461 Khố: 2012-2016 N CN T Điện tử Truyền thơng h: GVHD: Th.S NGUYỄN NGƠ LÂM Tp Hồ Chí Minh, tháng năm 2017 ẠNG CỘNG HÒA XÃ HỘI CHỦ N ĨA VIỆT NAM Độc lập – T – H nh phúc *** Tp Hồ Chí Minh, ngày tháng năm 2016 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Đỗ Ngọc Thịnh MSSV: 12141461 Ngành: CNKT Điện tử Truyền Thông Lớp: 12141CLDT1 Giảng viên hướng dẫn: ThS Nguyễn Ngô Lâm ĐT: 0989761175 Ngày nhận đề tài: Ngày nộp đề tài: Tên đề tài : T ành Cảnh Khí M ng i Động M Các số liệu, tài liệ b n đầu: Nội ng th đề tài: Sản phẩm: GIẢN VIÊN ƯỚNG DẪN C NG HOÀ XÃ H I CHỦ NGHĨ V ỆTNAM Độc lập – Tự – Hạnh Phúc ******* PH ẾU NHẬN XÉT CỦ G V ÊN HƯỚNG ẪN Họ tên Sinh viên: Đỗ Ngọc Thịnh MSSV: 12141461 Ngành: CNKT Điện tử, Truyền thông Tên đề tài: Xe T ành M ng i Động M Họ tên iá viên hướng dẫn: Th.S Nguyễn Ngô Lâm NHẬN XÉT Về nội ng đề tài & khối lượng th c hiện: Ư điểm: Khuyết điểm: Đề nghị cho bảo vệ hay không? Đánh giá l i: Điểm:……………….( ằng chữ: ) Tp Hồ Chí Minh, ngày tháng iá viên hướng dẫn (Ký & ghi rõ họ tên) năm 20… C NG HOÀ XÃ H I CHỦ NGHĨ V ỆT NAM Độc lập – Tự – Hạnh Phúc ******* PH ẾU NHẬN XÉT CỦ G V ÊN PH N ỆN Họ tên Sinh viên: Đỗ Ngọc Thịnh MSSV: 12141461 Ngành: CNKT Điện tử, Truyền thông Tên đề tài: T ành M ng i Động M Họ tên Giáo viên phản biện: NHẬN XÉT Về nội ng đề tài & khối lượng th c hiện: Ư điểm: Khuyết điểm: Đề nghị cho bảo vệ hay không? Đánh giá l i: Điểm:……………….( ằng chữ: ) Tp Hồ Chí Minh, ngày tháng Giáo viên phản biện (Ký & ghi rõ họ tên) năm 20… LỜI C ƠN Để h àn thành đồ án tốt nghiệp này, lời em xin bày tỏ lòng biết ơn sâu sắ đến thầy Th.S Nguyễn Ngơ Lâm, tận tình hướng dẫn suốt q trình em th c đồ án Em ũng xin hân thành ảm ơn q ý thầy, ô trường Đ i Họ Thuật T CM, đặc biệt thầy ô tr ng kh h m Kỹ Điện - Điện Tử, nhiệt tình giúp đỡ, truyền đ t kiến thức suốt trình học tập nhóm t i trường Vốn kiến thứ tiếp thu q trình học tập khơng tảng cho trình th c đồ án tốt nghiệp mà hành trang quý báu cho s nghiệp húng em sau Em ũng xin ảm ơn s ủng hộ giúp đỡ nhiệt tình củ gi đình, b n bè, người thân động viên, giúp đỡ em suốt trình học tập th c đồ án tốt nghiệp Mặ ù ố gắng hết sức, xong chắn đồ án khơng tránh khỏi thiếu sót Em mong nhận s thơng cảm bảo tận tình quý thầy cô b n Cuối em xin kính chúc q Thầy, Cơ, gia đình b n bè dồi sức khỏe thành công s nghiệp Xin chân thành cảm ơn! Người th c đề tài Đỗ Ngọc Thịnh iv TÓM TẮT Theo d đ án tr ng tương l i, b t ẽ tâm điểm cách m ng Int rn t C n người có nhu cầu sở hữu r b t nhân nh lớn ầu máy tính PC Với x hướng này, ứng dụng truyền thống khác Robot công nghiệp, y tế, giáo dụ , đà t o, giải trí đặc biệt an ninh quốc phòng thị trường robot vơ to lớn Đề tài luận văn hướng tới việc ứng dụng vi xử lý cho robot t hành với mụ đí h ó thể mơi trường nguy hiểm thay độ khí n người mơi trường dễ gây cháy nổ, mơi trường có nồng …Đồng thời thu thập liệu gửi thông q Để th c đề tài t hành bá g q óng điện tho i GSM/ m ng i động M” nhóm th c kết hợp board Arduino Mega 2560, module sim900A, lo i cảm biến, linh kiện, thiết bị điện tử khác nhằm t o tiền đề cho việc xây d ng robot hồn chỉnh, có khả phục vụ h đời sống n người Trong q trình tìm hiể tính tương tá đề tài ùng với hỗ trợ tận tình ủ giá viên hướng ẫn thầy Ng yễn Ngơ Lâm nhóm h àn thành mơ hình x ảnh bá rò rỉ khí g ó ũng tính khả thi ủ h y t động ó khả né vật ản hệ thống t động nhắn tin ố điện th i người ùng phát ố rò rỉ khí g v ỤC ỤC C ƯƠN ẪN NHẬP 1.1 Đặt vấn đề 1.2 Lý chọn đề tài 1.3 Mục tiêu nghiên cứu 1.4 Nội dung nghiên cứu .2 1.5 Giới h n 1.6 Bố cụ đề tài C ƯƠN CƠ Ở LÝ THUYẾT 2.1 Giới thiệu bo m ch Arduino 2.1.1 Giới thiệu bo m ch Arduino MEGA 2560 2.1.2 hần mềm lập trình 2.2 Giới thiệu cảm biến khí Gas MQ2 2.3 Giới thiệu cảm biến siêu âm SRF-05 2.4 iới thiệ C rv 11 2.5 Module giảm áp LM2596 12 2.6 đồ chân chân LCD 16x2 13 2.7 Giới thiệu m h điều khiển động L298 16 2.8 Giới thiệ động C giảm tốc 17 2.9 Giới thiệu Module Sim900A 18 2.10 Khung xe robot 20 2.11 Pin Untrafire 18650 .21 2.12 ộ ntr ir 22 C ƯƠN T IẾT KẾ V N Ệ THỐNG 23 3.1 đồ khối hệ thống .23 3.1.1 ê ầ ủ hệ thống .23 3.1.2 đồ khối khối 23 3.1.3 t động ủ hệ thống 24 vi 3.2 Thiết kế, tính t án hệ thống 25 3.2.1 Cảm biến đ kh ảng h 25 3.2.2 Khối đ nồng độ khí g 25 3.2.3 Khối hiển thị 26 3.2.4 Khối xử lý tr ng tâm 27 3.2.5 Khối ng ồn .29 3.2.6 Lư đồ h hương trình Ar in 30 C ƯƠN KẾT QUẢ NGHIÊN CỨU 33 4.1 Kết q ả phần ứng 33 4.2 Kết q ả phần gi Chương tiếp m ng KẾT LUẬN V M 36 ƯỚNG PHÁT TRIỂN 37 Kết l ận 37 TÀI LIỆU THAM KHẢO 39 PHỤ LỤC : CODE ARDUINO 40 vii DANH MỤC CÁC HÌNH NH BIỂU ĐỒ Hình 2.1 Bo m ch Arduino MEGA 2560 Hình 2.2 Giao diện phần mềm Hình 2.3 Cảm biến gas MQ2 Hình 2.4 Cảm biến siêu âm SRF-05 ình iể iễn óng âm tr ng không gi n Hình 2.6 Giản đồ thời gian cho chế độ 10 Hình 2.7 Giản đồ thời gian cho chế độ 11 ình 2.8 C rv 90 12 Hình 2.9 Module giảm áp LM2596 13 Hình 2.10 LCD 16 x 14 Hình 2.11 M h điều khiển động L298 16 ình 2.12 Động giảm áp C … 18 ình 2.13 Module GSM sim900A 19 ình 2.14 Bánh x nh 21 ình 2.1 Khung xe robot Iron Hide 21 ình 2.16 in ntr ir 186 22 ình 2.1 ộ pin ltr ir 186 22 ình 3.1 đồ khối hệ thống 23 ình 3.2 đồ kết nối ảm biến -05 25 ình 3.3 đồ kết nối LC 26 ình 3.4 đồ hân Ar in 60 27 Hình 3.5 đồ kết nối Module Sim900A Hình 3.6 Lư đồ hương trình x t hành 30 ình 3.7 Lư đồ hương trình gi ình 4.1 Mặt tiếp m mơ hình x bá g l im900A 31 t hành gi ình 4.2 Mặt trướ mơ hình x bá g ình 4.3 M l im900A đ ng khởi t t hành gi tiếp m ng tiếp m ng M 32 M 33 34 viii 28 ĐỒ ÁN TỐT NGHIỆP 5.2 Hướ Mặ M phát triể ù đề tài m ng tên t hành ảnh bá rò rỉ khí g ” nhìn h ng mơ hình hỉ h rẽ trái, rẽ phải Cảm biến khí g gas Để phát triển thêm đề tài t m ng i động ng l i việ né ố vật ản hỉ ó thể phát ó h y khơng ó thể gắn rò rỉ khí m r hành trình để q y l i q ãng đường i h yển ủ x , ứng ụng xử lý ảnh giúp x đường ần th q ó thể nhận định đượ q ảng m ng m ốn ủ người ụng 38 ĐỒ ÁN TỐT NGHIỆP T ỆU TH H Tiếng Việt [1] Nguyễ Đì h Phú Giáo t ình vi điều khiển”, Trường Đ h m Kỹ Thuật Tp CM, năm 2014 [2] Trương Thị Bích Ngà (2012), Điện tử bản”, Đ i học Sư ph m kỹ thuật Hồ Chí Minh, TPHCM, Việt Nam [3] http://www.arduino.cc Tiếng Anh [1] John-David Warren, Josh Adams, Harald Molle, Arduino Robotics” TECHNOLOGY IN ACTION, 2011 39 ĐỒ ÁN TỐT NGHIỆP PHỤ ỤC : CODE ARDUINO const int trig = 7;//chân trig HC-SR04 const int echo = 6;//chân echo HC-SR04 #include #include LiquidCrystal lcd(16,17,18,19,20,21); Servo myservo; #define cb_gas A0 #define servoPin const int inA_Phai = 9; const int inB_Phai = 10; //#define en_Phai const int inA_Trai = 12; const int inB_Trai = 13; //#define en_Trai 11 int gocquay=90; int kc_truoc=0,kc_trai=0,kc_phai=0; int kc_vatcan = 30; int PWR = A3; unsigned long duration;//biến đ thời gian int distance;//biến lư kh ảng cách int answer; 40 ĐỒ ÁN TỐT NGHIỆP short sms_mode=false; const int buffer_size = 160; // Buffer size you can adjust this size char c=0; // the first characters recived of SMS message char c1=0;// the first characters recived of SMS message char *ptr1=0; char *ptr2=0; char aux_string[30]; char number[]="0989761175"; char buffer[buffer_size]; // Your phone number // Data from UART int xbuff=0; void setup() { // put your setup code here, to run once: Serial.begin(9600);//giao tiếp Serial với baudrate 9600 pinMode(trig,OUTPUT);//chân trig phát tín hiệu pinMode(echo,INPUT);//chân echo nhận tín hiệu pinMode(cb_gas,INPUT_PULLUP); pinMode(inA_Phai,OUTPUT); pinMode(inB_Phai,OUTPUT); pinMode(inA_Trai,OUTPUT); pinMode(inB_Trai,OUTPUT); // pinMode(en_Phai,OUTPUT); // pinMode(en_Trai,OUTPUT); pinMode(PWR, OUTPUT); dung(); myservo.attach(servoPin); 41 ĐỒ ÁN TỐT NGHIỆP myservo.write(gocquay); lcd.begin(16,2); lcd.print("KHOI TAO SIM900a"); power_on(); // Power on Module SIM900A init_SIM900A(); // Configuration for Module SIM900A erase_buffer(); lcd.clear(); lcd.print("Khoi Tao Xong"); delay(1000); lcd.clear(); lcd.setCursor(0,0); lcd.print("CAM BIEN SIEU AM"); lcd.setCursor(0,1); lcd.print("KC:"); } void loop() { ///////DO KHOANG CACH HIEN THI LCD///////////// capnhat_kc(); lcd.setCursor(4,1); lcd.print(" "); lcd.setCursor(4,1); lcd.print(distance); lcd.print("cm"); delay(100); 42 ĐỒ ÁN TỐT NGHIỆP ////////////VAN HANH//////////////// if(kc_truoc >= kc_vatcan) { chaythang(); } else { dung(); gocquay=180; myservo.write(gocquay); delay(1000); capnhat_kc(); if(kc_trai >= kc_vatcan) { quaytrai(); gocquay = 90; myservo.write(gocquay); delay(1000); } else { gocquay = 0; myservo.write(gocquay); delay(1000); 43 ĐỒ ÁN TỐT NGHIỆP capnhat_kc(); if(kc_phai >= kc_vatcan) { quayphai(); gocquay = 90; myservo.write(gocquay); delay(1000); } else lui(); delay(300); } } ///////NHAN TIN GOI DIEN KHI CO GAS ////////////// if(digitalRead(cb_gas) == LOW) { lcd.setCursor(11,1); lcd.print("co gas"); send_SMS(); erase_buffer(); delay(5000); sprintf(aux_string,"ATD%s;",number); { answer = sendAT(aux_string, "OK", 2000);} while(answer==0); Call your phone number when config to finish // 44 ĐỒ ÁN TỐT NGHIỆP delay(10000); { answer = sendAT("ATH", "OK",2000);} while(answer==0); lcd.setCursor(11,1); lcd.print(" "); } } void chaythang() { analogWrite(inA_Phai,180); analogWrite(inB_Phai,0); analogWrite(inA_Trai,180); analogWrite(inB_Trai,0); } void quaytrai() { analogWrite(inA_Phai,0); analogWrite(inB_Phai,180); analogWrite(inA_Trai,180); analogWrite(inB_Trai,0); delay(300); dung(); delay(1000); } void quayphai() { 45 ĐỒ ÁN TỐT NGHIỆP analogWrite(inA_Phai,180); analogWrite(inB_Phai,0); analogWrite(inA_Trai,0); analogWrite(inB_Trai,180); delay(300); dung(); delay(1000); } void dung() { analogWrite(inA_Phai,0); analogWrite(inB_Phai,0); analogWrite(inA_Trai,0); analogWrite(inB_Trai,0); } void lui() { analogWrite(inA_Phai,0); analogWrite(inB_Phai,180); analogWrite(inA_Trai,0); analogWrite(inB_Trai,180); } void capnhat_kc() { do_kc(trig,echo); if(gocquay == 90) ////thang 46 ĐỒ ÁN TỐT NGHIỆP kc_truoc = distance; else if(gocquay == 0) ////phai kc_phai = distance; else if(gocquay == 180) ////trai kc_trai = distance; } void do_kc(int trig,int echo) { /* phát xung t chân trig */ digitalWrite(trig,0);//tắt chân trig delayMicroseconds(2); digitalWrite(trig,1);// phát xung t chân trig l yMi r n ( ); x ng ó độ dài microSeconds digitalWrite(trig,0);//tắt chân trig /*tính tốn thời gian*/ r ti n = p l In( h , I ); đ độ rộng xung HIGH chân echo ( http://arduino.vn/reference/pulsein ) distance = int(duration/2/29.412);//tính khoảng h đến vật } void init_SIM900A() { { answer = sendAT("AT+CREG?","+CREG: 0,1",500);} while(answer==0); // Checking status of Connecting to the network 47 ĐỒ ÁN TỐT NGHIỆP { answer = sendAT("AT+CMGF=1", "OK",1000);} while(answer==0); // Set SMS into text mode { answer = sendAT("AT+CNMI=2,2,2,0,0", "OK",1000);} while(answer==0); // Set Message mode when receive new SMS sprintf(aux_string,"ATD%s;",number); { answer = sendAT(aux_string, "OK", 2000);} while(answer==0); Call your phone number when config to finish // delay(10000); { answer = sendAT("ATH", "OK",2000);} while(answer==0); Disconnects the call // } //*************************************************************** *************************************** void erase_buffer() { int i; for(i=0;i