Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 102 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
102
Dung lượng
6,83 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG THÙNG RÁC THÔNG MINH GVHD:NGUYỄN VĂN HIỆP SVTH: LÊ THANH CAO SVTH: NGUYỄN THANH TUẤN SKL 0 Tp Hồ Chí Minh, 2018 an LỜI CAM ĐOAN Đề tài 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 Lê Thanh Cao Nguyễn Thanh Tuấn BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an LỜI CẢM ƠN Để hoàn thành đồ án tốt nghiệp này, lời chúng em xin bày tỏ lòng biết ơn sâu sắc đến thầy ThS Nguyễn Văn Hiệp, tận tình hướng dẫn, chia sẻ nhiều kinh nghiệm quý báu suốt trình chúng em thực đồ án Chúng em xin chân thành cảm ơn quý thầy, cô trường Đại Học Sư Phạm Kỹ Thuật TP.HCM, đặc biệt thầy khoa Đ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 trường Vốn kiến thức 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 chúng em lập nghiệp sau Bên cạnh đó, chúng em xin cảm ơn hỗ trợ giúp đỡ bạn bè thời gian học tập Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh q trình hồn thành luận văn tốt nghiệp Cuối cùng, chúng chân thành cảm ơn động viên hỗ trợ gia đình suốt thời gian học tập Đặc biệt, chúng xin gửi lời cảm ơn trân trọng đến cha mẹ, người sinh nuôi dưỡng chúng nên người Sự quan tâm, lo lắng hy sinh lớn lao cha mẹ động lực cho chúng cố gắng phấn đấu đường học tập Xin chân thành cảm ơn! Người thực đề tài Lê Thanh Cao Nguyễn Thanh Tuấn BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an Mục lục LỜI CAM ĐOAN LỜI CẢM ƠN TÓM TẮT 10 Chương 1: TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU 1.3 NỘi DUNG NGHIÊN CỨU 1.4 GIỚI HẠN 1.5 BỐ CỤC Chương 2: CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN HỆ THỐNG ĐỊNH VỊ TOÀN CẦU GPS 2.1.1 Giới thiệu GPS 2.1.2 Cấu trúc hệ thống định vị GPS 2.1.3 Nguyên lý xác định vị trí GPS 10 2.1.4 Tín hiệu GPS 12 2.1.5 Q trình giải mã tín hiệu GPS 13 2.1.6 Ứng dụng hạn chế GPS 15 2.1.7 Một số hệ thống định vị toàn cầu khác 17 2.2 TỔNG QUAN DỊCH VỤ BẢN ĐỒ TRỰC TUYẾN 19 2.2.1 Tại lại có Googles Maps 20 2.2.2 Thu thập liệu cho Google Maps 21 2.2.3 Tương lai ngành dịch vụ đồ số- đồ trực tuyến 24 2.3 CÁC CHUẨN TRUYỀN DỮ LIỆU ĐƯỢC SỬ DỤNG TRONG ĐỀ TÀI 25 2.3.1 Giao tiếp Serial – UART 25 2.3.2 Giao tiếp I2C 26 Chương 3: THIẾT KẾ 29 3.1 GIỚI THIỆU: 29 3.2 THIẾT KẾ SƠ ĐỒ KHỐI: 29 3.3 THIẾT KẾ CÁC KHỐI 30 3.3.1 Khối xử lý trung tâm 30 3.3.2 Khối động cơ: 34 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an 3.3.3 Khối điều khiển động 35 3.3.4 Khối nhận tín hiệu GPS 37 3.3.4 Khối cảm biến la bàn 40 3.3.5 Khối cảm biến khoảng cách 42 3.3.6 Khối định thời gian 45 3.3.7 Khối nguồn 48 3.3.8 Tính tốn theo lý thuyết 49 3.4 SƠ ĐỒ NGUYÊN LÝ TOÀN MẠCH 50 Chương 4: THI CÔNG 53 4.1 GIỚI THIỆU 53 4.2 THI CÔNG MÔ HÌNH XE RÁC 53 4.3 LẬP TRÌNH CHO THÙNG RÁC 56 4.3.1 Giới thiệu phần mềm lập trình Arduino IDE: 56 4.3.2 Lưu đồ giải thuật 59 Chương 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 65 5.1 GIỚI THIỆU 65 5.2 KẾT QUẢ ĐẠT ĐƯỢC 65 5.2.1 Biết cách sử dụng cảm biến 65 5.2.2 Biết cách sử dụng Arduino Mega 2560 66 5.2.3 Biết cách sử dụng module GPS loại 66 5.3 KẾT QUẢ THỰC NGHIỆM 67 5.3.1 Định vị tọa độ Google Maps 67 5.3.2 Kết di chuyển thực tế 71 5.4 NHẬN XÉT – ĐÁNH GIÁ: 72 5.4.1 Nhận xét 72 5.4.2 Đánh giá 73 Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 75 6.1 KẾT LUẬN: 75 6.2 HƯỚNG PHÁT TRIỂN: 76 6.2.1 Sử dụng nguồn điện pin lượng mặt trời 76 6.2.2 Ứng dụng xử lý ảnh để nhận biết vật thể 77 6.2.3 Ứng dụng Máy học (Machine learning) thùng rác học 77 6.2.4 Kết hợp thêm cảm biến khác 78 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an 6.2.5 Ứng dụng IOT- Thùng rác thông minh-thành phố thông minh 79 TÀI LIỆU THAM KHẢO 81 Sách tham khảo 81 Trang web tham khảo 81 PHỤ LỤC: CODE ARDUINO 83 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an LIỆT KÊ HÌNH VẼ Hình Trang Hình 2.1: Cấu trúc hệ thống định vị toàn cầu GPS Hình 2.2: Các vệ tinh GPS quỹ đạo bay Hình 2.3: Trạm kiểm soát giới Hình 2.4: Biểu diễn trilateration hình trịn 10 Hình 2.5: Vị trí máy thu GPS (màu xanh) giao điểm ba hình cầu (màu đỏ) Vệ tinh thứ tư (được hiển thị vạch màu vàng) cho bạn thời gian 11 Hình 2.6: Khoảng cách từ GPS tới máy thu (smartphone) 12 Hình 2.7 Mỗi thu GPS ghi lại tín hiệu đến từ nhiều vệ tinh 14 Hình 2.8: Bộ thu tín hiệu GPS so sánh tín hiệu đến với mã cho tất vệ tinh 15 Hình 2.9: Uber, Grap hai ứng dụng dịch vụ tốt GPS 16 Hình 2.10: Google Maps- đồ trực tuyến tốt 20 Hình 2.11: Google hiển thị hình ảnh Street View họ lên đồ 22 Hình 2.12: Google map ứng dụng smartphone kết hợp GPS để đường 23 Hình 2.13: Người dùng Google Maps chỉnh sửa, đóng góp 23 Hình 2.14: Bing Map Microsoft Yandex Nga hai dịch vụ cạnh tranh mạnh mẽ với Google Maps 25 Hình 2.15: Truyền liệu qua lại vi điều khiển vi điểu khiển với PC 26 Hình 2.16: Giao thức truyền nhận liệu I2C 27 Hình 3.1: Sơ đồ khối thùng rác thông minh 29 Hình 3.2: Vi điều khiển PIC 16F887 AT89C52 31 Hình 3.3: Bo mạch Raspberry Pi 31 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an Hình 3.4: Bo mạch Arduino Mega 2560 32 Hình 3.5: Sơ đồ linh kiện Arduino Mega 2560 33 Hình 3.6: Một số hình ảnh động DC 34 Hình 3.7: Hình ảnh sơ đồ chân module L298 35 Hình 3.8: Kết nối module L298 với Arduino động 36 Hình 3.9: Sơ đồ ngun lí kết nối khối cảm biến với Arduino 36 Hình 3.10: Sơ đồ chân module GPS Neo 38 Hình 3.11: Kết nối module GPS với Arduino 39 Hình 3.12: Sơ đồ ngun lí kết nối khối nhận tín hiệu GPS với Arduino 39 Hình 3.13: Cảm biến la bàn số HMC5883L 40 Hình 3.14: Sơ đồ chân cảm biến la bàn số HMC5883L 40 Hình 3.15: Kết nối module la bàn số HMC5883L với Arduino 41 Hình 3.16: Sơ đồ ngun lí kết nối khối cảm biến ba 41 Hình 3.17: Cảm biến siêu âm SRF-04 42 Hình 3.18: Các chân Cảm biến siêu âm SRF-04 43 Hình 3.19: Kết nối module cảm biến khoảng cách HC-SR 04 với Arduino 44 Hình 3.20: Sơ đồ nguyên lí kết nối khối cảm cảm biến khoảng cách 45 Hình 3.21: Hình ảnh thực tế moduel RTC DS1307 46 Hình 3.22: Kết nối module RTC DS1307 với Arduino 47 Hình 3.23: Sơ đồ nguyên lí kết nối khối định thời gian 47 Hình 3.24: Hình ảnh thực tế Acquy sử dụng đề tài 48 Hình 3.25: Sơ đồ nguyên lý toàn mạch 51 Hình 4.1: Hình ảnh thực tế thiết kế mặt đế thùng rác 53 Hình 4.2: Hình ảnh thực tế thiết kế khung bánh xe rác 54 Hình 4.3: Hình ảnh thực tế thiết kế thùng rác thông minh từ hướng 55 Hình 4.4: Giao diện phần mềm Arduino IDE 57 BỘ MÔN ĐIỆN TỬ CƠNG NGHIỆP- Y SINH an Hình 4.5: Chức nút lệnh Arduino IDE 58 Hình 4.6: Chọn Port kết nối 58 Hình 4.7: Lưu đồ giải thuật chương trình cho Arduino 60 Hình 4.8: Lưu đồ chương trình Xoay 62 Hình 4.9: Lưu đồ chương trình Chuyển hướng 63 Hình 5.1: Lấy tọa độ điểm xuất phát Google map 67 Hình 5.2: Lấy tọa độ điểm thứ Google map 68 Hình 5.3: Lấy tọa độ điểm thứ hai Google map 68 Hình 5.4: Lấy tọa độ điểm thứ ba Google map 69 Hình 5.5: Lấy tọa độ điểm thứ tư Google map 69 Hình 5.6: Lấy tọa độ điểm thứ năm Google map 70 Hình 5.7: Lấy tọa độ điểm thứ sáu Google map 70 Hình 5.8: Hình ảnh thực tế thùng rác thơng minh chạy ngồi trời 72 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an LIỆT KÊ BẢNG Bảng Trang Bảng 2.1: So sánh số thông số kỹ thuật ba hệ thống vệ tinh dẫn đường toàn cầu 18 Hình 3.1: Thơng số kỹ thuật Board Arduino Mega 2560 33 Hình 5.1: Dung lượng điện tiêu thụ thực nghiệm 74 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.2 HƯỚNG PHÁT TRIỂN: Đề tài “Thùng rác thông minh” sử dụng tính định vị qua GPS, khả hoạt động khơng khác xe tự hành, có khả tự động hóa cao tự vận hành cách độc lập, sử dụng mơi trường điều kiện bên ngồi trời Chính để phát triển nầng tầm thùng rác cần thiết để thùng rác hoạt động ổn định trở thành sản phẩm thương mại Một số hướng phát triển đề tài là: Sử dụng nguồn điện pin lượng mặt trời Ứng dụng xử lý ảnh để nhận biết vật cản vật xung quanh cách xác Ứng dụng Máy học (Machine Learning) để dạy cho thùng rác đường quen thuộc Kết hợp thêm cảm biến để thùng rác thực thông minh Ứng dụng IOT để giao thức truyền nhận liệu để giám sát, điều khiển hoạt động thùng rác qua Webserver qua tảng Android, quản lý nhiều thùng rác lúc 6.2.1 Sử dụng nguồn điện pin lượng mặt trời Để sử dụng hệ thống tự động tự vận hành ngồi trời thời gian dài yếu tố lượng vấn đề quan trọng mà cần quan tâm Do đó, để tận dụng điều khiện thuận lợi tự nhiên lượng ánh sáng mặt trời giải pháp tốt để thu thập lượng Chính vậy, hồn tồn n tâm sử dụng bình ác quy nguồn điện cách thoải mái mà khơng sợ lo hết dung lượng pin bình pin lượng mặt trời giúp sạc bình tự động vào trời sáng Như tiết kiệm nhiều hiệu sử dụng Hiện nay, pin lượng mặt trời bán thị trường nhiều, dễ dàng mua sử dụng chúng để ứng dụng vào sản phẩm để cải tiến chất lượng, hiệu sử dụng nguồn điện BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an 76 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.2.2 Ứng dụng xử lý ảnh để nhận biết vật thể Có thể nói, với phát triển tiến không ngừng khoa học kỹ thuật xử lý ảnh vấn đề quan tâm phát triển Từ nghiên cứu ban đầu ảnh trắng đen, ảnh xám, ảnh màu, xử lý ảnh nghiên cứu chuyên sâu ứng dụng nhiều sống Xử lý ảnh đạt nhiều thành tựu tiến vượt bậc lĩnh vực quan trọng như: quân sự, y học, an ninh quốc phịng, cơng nghiệp, nơng nghiệp, giao thơng vận tải đó, cơng nghệ nhận dạng công nghệ quan tâm phát triển Nhận dạng bao gồm nhận dạng âm thanh, hình ảnh, nhận dạng tĩnh nhận dạng thời gian thực Các đối tượng nhận dạng tiếng nói, chữ viết, khn mặt, biển số xe, biến báo giao thơng mã vạch, vân tay, cối Chính thế, xử lý ảnh nâng cao khả tương tác người máy từ giữ liệu mà đọc Để ứng dụng xử lý ảnh đề tài “Thùng rác thông minh” cần thiết Việc sử dụng hàm có sẵn OpenCV, hồn tồn giúp cho thùng rác nhận biết vật cản khó nhận biết cảm biến siêu âm lùm cây, bám sát vỉa hè, nhận biết vũng nước hay đường gồ ghề, khó di chuyển để tìm đường khác dễ Tuy vậy, lĩnh vực khó, thực để đáp ứng cần phải có nhiều thời gian nghiên cứu tìm tịi 6.2.3 Ứng dụng Máy học (Machine learning) thùng rác học Machine Learning hướng nghiên cứu Trí tuệ nhân tạo (AI), tập trung vào việc tạo cỗ máy có khả học hỏi mà khơng cần phải lập trình cách cụ thể Học hỏi kỹ quan trọng bậc hình thành trí tuệ người; muốn xây dựng hệ thống AI có trí tuệ người trước hết phải tạo cỗ máy có khả tự học hỏi dựa kinh nghiệm mà chúng thu thập suốt trình hoạt động Trong BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an 77 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN lĩnh vực này, nhà nghiên cứu đưa nhiều thuật toán cách phân loại cụ thể để áp dụng thuật toán để giải vấn đề học có giám sát, học không giám sát, học bán giám sát học củng cố Giống với lĩnh vực xỷ lý ảnh máy học xử dụng ngơn ngữ lập trình Python vi điều khiển để đáp ứng nhu cầu máy học sử dụng kit Raspberry Pi ứng dụng tốt Với sức mạnh Máy học kết hợp xử lý ảnh, chẳng có khó hiểu áp dụng vào đề tài “Thùng rác thơng minh” chắn hợp lý thành công Những thùng rác sau học hỏi di chuyển nhiều lần đường quen thuộc vào ngày di chuyển xác hơn, xảy lỗi va chạm hơn, định vị từ tín hiệu GPS chuẩn xác so với lần đầu thu thập tín hiệu GPS Đó thực giải pháp tốt cho thùng rác luôn di chuyển theo đường định Đây hai ứng dụng chủ đạo để tạo nên thương hiệu tiếng xe tự lái (Tesla) 6.2.4 Kết hợp thêm cảm biến khác Như đề cập phần trên, cung cấp nhiều liệu thùng rác di chuyển vận hành cách xác Một số cách để cung cấp thông tin liệu cho vi xử lý hiểu cải thiện cảm biến cũ thêm cảm biến Ngoài liệu quen thuộc GPS, sóng siêu âm phản xạ để đo khoảng cách hay cảm biến la bàn để tìm dị hướng moudle module đo quán tính IMU áp dụng - Mơ-đun IMU dùng để xác định vị trí, gia tốc tịnh tiến góc quay vật chuyển động không gian - Là não trung tâm điều khiển cân quỹ đạo phương tiện không người lái: UAV, robot tự hành, xe tự hành… BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an 78 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Chính thế, thực mảnh ghép quan trọng việc giúp xe định hướng tốt không gian Việc chế tạo nghiên cứu “Thùng rác thông minh” tương ứng với hướng nghiên cứu dành cho Xe tự hành phát triển gần 6.2.5 Ứng dụng IOT- Thùng rác thông minh-thành phố thông minh Nhiệm vụ xây dựng thành phố thông minh sáng kiến hình thành thừ lâu Tuy vậy, nhiệm vụ thực tế hình thành áp dụng số nơi giới số thành phố lớn quốc gia phát triển Và điều kiện tiên để hình thành nên thành phố thơng minh liên quan tới việc quản lý rác thải Với phát triển vượt bậ công nghệ kỹ thuật mạnh mẽ phải kể đến IOT (Internet of things) dễ dàng kế nối tất thiết bị với nhau, từ smartphone đến máy tính bàn, tủ lạnh, máy lạnh… tới thiết bị điện tử nhỏ gia đình đèn chiếu sáng, cơng tắc áp dụng công nghệ cách thành công Bản chất IOT cần giao thức truyền thông không dây kể kết nối, thu thập liệu từ cảm biến Hiện tại, có số cơng nghệ trội sử dụng như: Bluetooth, Zigbee, NFC, Wifi, Lora,… Công nghệ truyền không dây LoRa tương tự truyền Zigbee cho phép giao tiếp với nhiều thiết bị lúc với khoảng cách xa (khoảng 3000m5000m) với tốc độ nhanh thiết bị thu phát RF khác Từ nhìn nhận giao thức truyền thơng này, dễ dàng nhìn thấy LORA lựa chọn phù hợp có khả truyền mơi trường bên ngồi với khoảng cách lớn có nhiều node giúp cho thùng rác giao tiếp với Để quan sát, giám sát hành trình thùng rác di chuyển, lượng rác thùng hay việc luân chuyển xe ô tô để lấy rác thùng rác tổng tất nhiên phải có giao diện người dùng Việc phát triển phần mềm giao diện BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP- Y SINH an 79 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN lại tùy theo nhu cầu sức sáng tạo người Chúng ta sử dụng phần mềm đơn giản app Inventer hay cao cấp lập trình Android Studio để lập trình phần mềm smart phone, giúp cho việc giám sát định vị lại vị trí thùng rác tốt Hoặc viết Webside chuyên dụng để giám sát hoạt động Nếu thành công, chắn dự án tiềm thị trường Nói tóm lại, sử dụng giao thức truyền nhận liệu LORA để đọc thông tin từ thùng rác thông minh đồng thời giám sát, điều khiển, định vị GPS thơng qua tảng lập trình Android App Inventor cho thùng rác từ khoảng cách xa Những liệu cập nhật giám sát lưu lại vô sở liệu trích xuất thống kê cần thiết BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an 80 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO Sách tham khảo [1] TS Trần Thu Hà, “Giáo trình Điện tử bản”, Đại học SPKT Tp.HCM, 2013 [2] ThS Nguyễn Đình Phú, “Giáo trình Vi xử lý”, NXB Đại Học Quốc Gia, 2013 [3] Nguyễn Ngọc Bảo- Bùi Sỹ Nguyên, “GPS ứng dụng định vị giám sát”, Đồ Án Tốt Nghiệp ĐH, Trường ĐH Sư Phạm Kỹ Thuật, 2010 [4] Ngô Phương Nam- Lê Văn Tài, “Xe điều khiển giọng nói hỗ trợ trẻ em học qua trò chơi điện thoại Android”, Đồ Án Tốt Nghiệp ĐH, Trường ĐH Sư Phạm Kỹ Thuật, 2017 [5] Shamlee Rashinkar- Sneha Ghatole- Swati Kadapatti-Varsha YadaveChaitanya Jambotkar, “IoT Based Smart Trash Bins – A Step Toward Smart City”, International Research Journal of Engineering and Technology (IRJET), Dec2017 Trang web tham khảo [6] Cộng đồng Arduino Việt Nam, “Giới thiệu Arduino Mega2560”, 28/11/2015, http://arduino.vn/bai-viet/542-gioi-thieu-arduino-mega2560/ [7] Project tham khảo: http://www.instructables.com/id/Self-Driving-Car-UsingArduinoautonomous-Guided-Ve/ [8] Cộng đồng Arduino Việt Nam, “Robot tránh vật cản”, 17/10/2016, http://arduino.vn/result/1306-robot-tranh-vat-can/ [9] Diễn Đàn Vi Điều Khiển, “Bài 8: Giao Tiếp UART”, 17/09/2012, http://mcu.banlinhkien.vn/threads/bai-8-giao-tiep-uart.28/ [10] Cộng đồng Arduino Việt Nam, “Giới thiệu cách sử dụng module GPS Neo Neo hãng Ublox”, 17/02/2017, http://arduino.vn/tutorial/1482-gioi-thieucach-su-dung-module-gps-neo-6-va-neo-7-cua-hang-ublox/ [11] Movable Type Ltd, “Caculate distance, bearing and more between Latitude/Longitude points”, https://www.movable-type.co.uk/scripts/latlong.html/, 2017 [12] Bioenable, “Smart bins for smart city”, https://www.bioenabletech.com/smartbins-for-smart-city.html, 27/6/2017 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an 81 TÀI LIỆU THAM KHẢO [13] Thuật tốn xác định vị trí xác, https://en.wikipedia.org/wiki/Trilateration, wikipedia, 2017 [14] Trang web chuyên cách thức hoạt động vệ tinh, https://spotlight.unavco.org/how-gps-works/gps-basics/satellites-controllersusers.html [15] KhoaHoc.tv, “Google Maps hoạt động nào”, 2017, http://khoahoc.tv/google-maps-hoat-dong-nhu-the-nao-88542, BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an 82 PHỤ LỤC PHỤ LỤC: CODE ARDUINO //khai báo thứ viện #include #include #include //định nghĩa IO, địa chị cho linh kiện #define addr_hmc 0x1E #define addr_DS1307 0x68 #define PI_314 3.1415926535 #define trig2 A0 #define echo2 A1 #define trig_t A2 #define echo_t A3 #define trig_g A4 #define echo_g A5 #define trig_p A6 #define echo_p A7 #define MAX_DISTANCE 200 #define buzzer A10 #define n #define button 12 int mo1 = 2, mo2 = 3, mo3 = 4, mo4 = 5; int second, minute, hour; //điểm đặt trước chia thành mảng, mảng chứa kinh độ mảng chứa vĩ độ const float lat_i[n] = {10.851081,10.850745,10.850714,10.850675,10.850589,10.850415,10.850217}; const float lon_i[n] = {106.771293,106.771274,106.771554,106.771767,106.771941,106.771921,106.771890} ; long cm_t, cm_p, cm_g; long cm2; float heading; byte dem = 1, chay = 0, TT = 0, BDN; byte i; float lat_i_tam[n], lon_i_tam[n]; int16_t x, y, z; float head, distance = 0.0; NewPing NewPing NewPing NewPing TinyGPS void void void void void void sonar2(trig2, echo2, 200); sonar_t(trig_t, echo_t, 200); sonar_p(trig_p, echo_p, 200); sonar_g(trig_g, echo_g, 200); gps; gpshead(float x2lat, float x2lon); stopp(); rightturn(); gostraight(); leftturn(); turn(); void setup() { Wire.begin(); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an 83 PHỤ LỤC Serial1.begin(9600); Serial.begin(9600); setTime(2, 30, 45); Wire.beginTransmission(addr_hmc); //start talking Wire.write(0x02); // Set the Register Wire.write(0x00); // Tell the HMC5883 to Continuously Measure Wire.endTransmission(); cli(); TCCR1A = 0; TCCR1B = 0; TIMSK1 = 0; TCCR1B |= (1 0) //phát vật cản bên trái, cho xe rẽ phải { rightturn(); delay(200); gostraight(); } else if (cm_p < 100 && cm_p > 0) //phát vật cản bên phải, cho xe rẽ trái { leftturn(); delay(200); gostraight(); } else //nếu khơng có vật { { //đọc vị trí tính khoảng cách góc gpshead(lat_i_tam[dem], lon_i_tam[dem]); //điểm điểm thứ i hướng đến } while (distance == 0.0); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH an 85 PHỤ LỤC doc_gt_hmc5883l(); //đọc góc while ((heading > head + 8) || (heading < head - 8)) chệch lệch { góc hướng đến nhỏ độ turn(); delay(5); doc_gt_hmc5883l(); } //xoay xe đến //giữa góc gostraight(); //sau cho xe thẳng if ((distance < ) && (dem != (n - 1))) //nếu khoảng cách xe điểm thứ i nhỏ 3m { dem++; //tăng i, cho thùng rác đến điểm { gpshead(lat_i_tam[dem], lon_i_tam[dem]); } while (distance < 3); } if ((distance < 3) && (dem == (n - 1)) && (TT == 0)) //đến điểm cuối cùng, dừng lại { stopp(); chay = 2; TT = 1; dem = 1; } if ((distance < 3) && (dem == (n - 1)) && (TT == 1)) { stopp(); chay = 0; TT = 0; dem = 1; } } } else if (chay == 2) // đợi nhấn nút để di chuyển { TIMSK1 = (0