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

(Luận văn thạc sĩ) Giải thuật tìm đường đi ngắn nhất ứng dụng GPS trong giao thông

73 2 0

Đ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

(Luận văn thạc sĩ) Giải thuật tìm đường đi ngắn nhất ứng dụng GPS trong giao thông(Luận văn thạc sĩ) Giải thuật tìm đường đi ngắn nhất ứng dụng GPS trong giao thông(Luận văn thạc sĩ) Giải thuật tìm đường đi ngắn nhất ứng dụng GPS trong giao thông(Luận văn thạc sĩ) Giải thuật tìm đường đi ngắn nhất ứng dụng GPS trong giao thông(Luận văn thạc sĩ) Giải thuật tìm đường đi ngắn nhất ứng dụng GPS trong giao thông(Luận văn thạc sĩ) Giải thuật tìm đường đi ngắn nhất ứng dụng GPS trong giao thông(Luận văn thạc sĩ) Giải thuật tìm đường đi ngắn nhất ứng dụng GPS trong giao thông(Luận văn thạc sĩ) Giải thuật tìm đường đi ngắn nhất ứng dụng GPS trong giao thông(Luận văn thạc sĩ) Giải thuật tìm đường đi ngắn nhất ứng dụng GPS trong giao thông(Luận văn thạc sĩ) Giải thuật tìm đường đi ngắn nhất ứng dụng GPS trong giao thông(Luận văn thạc sĩ) Giải thuật tìm đường đi ngắn nhất ứng dụng GPS trong giao thông(Luận văn thạc sĩ) Giải thuật tìm đường đi ngắn nhất ứng dụng GPS trong giao thông(Luận văn thạc sĩ) Giải thuật tìm đường đi ngắn nhất ứng dụng GPS trong giao thông(Luận văn thạc sĩ) Giải thuật tìm đường đi ngắn nhất ứng dụng GPS trong giao thông

CHÂN THÀNH CẢM TẠ Tác giả xin gửi lời tri ân chân thành đến: - Ban Giám Hiệu, Khoa Điện – Điện tử, Phòng ban liên quan thuộc Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh tạo điều kiện học tập nghiên cứu tốt cho toàn thể Học viên - Toàn thể Cán giảng dạy truyền đạt kiến thức trang bị cho Học viên nhiều kỹ làm việc quý giá - Ban Giám Hiệu, Khoa Điện-Điện tử Trường Đại Học Nguyễn Tất Thành tạo điều kiện tốt giúp thân hoàn thành khóa học - Tiến sĩ Võ Tường Quân – Giảng viên Khoa Cơ khí trường Đại Học Bách Khoa Thành phố Hồ Chí Minh tận tâm q trình truyền đạt hướng dẫn sâu rộng nhiệt tình, đầy trách nhiệm suốt thời gian thực thi Luận văn tốt nghiệp - Tất người thân yêu Gia đình, thân hữu gần xa động viên tinh thần, giúp đỡ mặt suốt hai năm học tập nghiên cứu - Tất bạn Học viên khóa có nhiều ý kiến đóng góp lúc, kịp thời giúp Luận văn hồn thành Trân trọng Thành phố Hồ Chí Minh, tháng 10/2013 Học viên thực Hoàng Hải Sơn iii LỜI CAM ĐOAN Tôi xin cam đoan công trình nghiên cứu tơi Các số liệu, kết nêu luận văn trung thực chưa cơng bố cơng trình khác Tp Hồ Chí Minh, ngày …tháng … năm 2013 ( Ký tên ghi rõ họ tên ) Hoàng Hải Sơn iv TÓM TẮT LUẬN VĂN  Luận văn nghiên cứu GPS điều khiển Robot chạy theo đường cho trước thông qua đồ Google Map (Earth) Tín hiệu GPS từ vệ tinh Modun GPS thu nhận đưa vào máy tính xử lí Phần mềm viết lấy kinh độ vĩ độ trí ta đứng Tín hiệu đưa lên đồ Google để xác định vị trí đồ Thơng qua đồ Google Map (Earth) ta tìm vẽ đường ngắn từ vị trí ta đứng tới vị trí ta muốn di chuyển tới Đường băm nhỏ thành tọa độ đưa Vi điều khiển PIC điều khiển Robot chạy theo lộ trình (Kết hợp với cảm biến la bàn CMPS 03) Trong qua trình di chuyển Robot, chạy tới điểm Vi điều khiển so sánh tọa độ (lấy từ GPS) với tọa độ mong muốn (lấy từ đồ Google) Nếu trùng di chuyển tới điểm tiếp theo, khơng trùng Robot tự chạy dị trùng tọa độ mong muốn Robot chạy qua điểm cuối tới điểm đích theo yêu cầu đưa Robot ứng dụng việc di chuyển tự động tương lai sau Tác giả Hoàng Hải Sơn v ABSTRACT  The thesis research on GPS and controllers for robot path before running through the map Google Map (Earth) GPS signals from the GPS satellite receiver module to receive and put into the computer processor Software was written to get the longitude and latitude in the position we are standing This signal will be taken to Google maps to locate on the map Through the map Google Map (Earth) and we find the shortest path is drawn from one position to the standing position we want to move to This path will be shredded into the given coordinates and PIC microcontroller and robot control run according to schedule (Combined with compass sensor CMPS 03) In the process of moving the robot, while running to the next point, the microcontroller will compare current coordinates (from GPS) to the desired coordinates (taken from Google maps) If the insect is moving to the next point, if not identical, the robot will automatically run duplicate detection until the desired coordinates Robot on the run over the final point and destination to satisfy the requirements given Robot applications in the automatic transfer of the latter in the future Author Hoang Hai Son vi DANH SÁCH CÁC HÌNH VẼ HÌNH TRANG Hình 1.1 Chùm vệ tinh GPS Hình 1.2 Các thành phần GPS Hình 1.3 Sơ đồ hoạt động hệ thống GPS Tracking 13 Hình 1.41 Sơ đồ khối luận văn 15 Hình 2.1 Sơ đồ chân Vi điều khiển 16F887 18 Hình 2.2 Các thành phần hệ thống GPS 19 Hình 2.3 Chịm vệ tinh GPS 20 Hình Sơ đồ vi ̣trí các tra ̣m điề u khiể n 21 Hình 2.5 Tở ng quan bơ ̣ phâ ̣n điề u khiể n 22 Hình 2.6 Bộ phận sử dụng 24 Hình 2.7 Nguyên tắc định vị từ vệ tinh 25 Hình 2.8 Nguyên tắc định vị từ vệ tinh 25 Hình 3.1 Sơ đồ chân cảm biến la bàn 26 Hình 3.2 Modun GPS EM - 410 32 Hình 3.3 Sơ đồ chân Module GPS 33 Hình 3.4 Sơ đồ ngun lí mạch cơng suất dùng L298 35 Hình 3.5 Khối điều khiển trung tâm dùng PIC 16F887 36 Hình 3.6 Sơ đồ ngun lí hình mạch FT RS232 37 Hình 3.7 Màn hình LCD 16x2 37 Hình 3.8 Mơ hình tổng qt hệ thống 40 Hình 3.9 Lưu đồ hệ thống 41 Hình 3.10 Giao diện phần mềm nhận tín hiệu từ GPS 42 Hình 3.11 Thuật tốn Dijkstra……………………………………………….44 xii Hình 3.12 Đường ngắn đồ 47 Hình 4.1 Lưu đồ tổng quát phần mềm điều khiển 49 Hình 4.2 Lưu đồ trình gửi liệu xuống vi điều khiển 50 Hình 4.3 Lưu đồ tiến trình lấy liệu từ file đường 52 Hình 4.4 Lưu đồ cập nhật hiển thị GPS 53 Hình 4.5 Nội dung gói tin 53 Hình 4.6 Lưu đồ điều khiển Robot 54 Hình 5.1 Giao diện tìm đường ngắn phân thành nhiều điểm 55 Hình 5.2 Giao diện truyền liệu xuống vi điều khiển 55 Hình 5.3 Hình ảnh Robot di chuyển bám theo tọa độ 56 Hình 5.4 Đường Robot …………………… …………………… 56 DANH SÁCH CÁC BẢNG BẢNG TRANG Bảng 3.1 Chức chân cảm biến la bàn………………………………28 Bảng 3.2 Bảng chức chuỗi tín hiệu đọc từ GPS………………….…… 33 Bảng 3.3 Chức chân LCD 16x2……………………………….38 xiii Giải thuật tìm đường ngắn GPS ứng dụng giao thông MỤC LỤC MỤC LỤC LỜI NÓI ĐẦU CHƢƠNG 1: TỔNG QUAN 1.1 Tổng quan chung lĩnh vực nghiên cứu, kết nghiên cứu nước công bố 1.1.1 Tổng quan GPS 1.1.2 Các thành phần GPS 1.1.3 Các ứng dụng hệ thống định vị GPS 1.1.4 Các công trình nghiên cứu cơng bố 11 1.2 Mục tiêu, khách thể đối tượng nghiên cứu 13 1.2.1 Mục tiêu 13 1.2.2 Khách thể đối tượng nghiên cứu 13 1.3 Nhiệm vụ đề tài phạm vi nghiên cứu 14 1.4 Phương pháp nghiên cứu 14 1.5 Tóm lược nội dung luận văn, điểm so với cơng trình khác 14 CHƢƠNG 2: CƠ SỞ LÝ THUYẾT 16 2.1 TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC 16 2.1.1 Ngơn ngữ lập trình mạch nạp cho PIC 16 2.1.2 Sơ đồ chân vi điều khiển 17 2.2 TỔNG QUAN VỀ GPS 18 2.2.1 Các thành phần hệ thống 19 2.2.2 Nguyên tắc định vị 24 CHƢƠNG 3: THIẾT KẾ PHẦN CỨNG VÀ PHẦN MỀM 26 3.1 THIẾT KẾ PHẦN CỨNG 26 3.1.1 Cảm biến la bàn CMPS-03 26 3.1.2 Module GPS EM - 410 32 3.1.3 Mạch công suất dùng L298 35 GVHD: TS Võ Tƣờng Quân Trang HVTH: Hoàng Hải Sơn Giải thuật tìm đường ngắn GPS ứng dụng giao thông 3.1.4 Sơ đồ khối xử lý trung tâm 36 3.1.5 Mạch chuyển đổi USB – COM 37 3.1.6 Mạch hiển thị dùng LCD 16x2 37 3.1.7 MƠ HÌNH TỔNG QT ĐIỀU KHIỂN HỆ THỐNG 40 3.1.8 LƯU ĐỒ CỦA HỆ THỐNG 41 3.2 THIẾT KẾ PHẦN MỀM 42 3.2.1 Phần mềm nhận tín hiệu từ GPS 42 3.2.2 Tìm đường ngắn bảng đồ 42 3.2.3 Phần mềm hiển thị tọa độ dùng đồ offline 47 CHƢƠNG 4: KẾT QUẢ ĐẠT ĐƢỢC 49 4.1 NHẬN TÍN HIỆU TỪ GPS VÀ HIỂN THỊ LÊN BẢN ĐỒ 49 4.2 TÌM ĐƯỜNG ĐI NGẮN NHẤT TRÊN BẢN ĐỒ GOOGLE VÀ HIỂN THỊ 51 4.2.1 Truyền tín hiệu xuống vi điều khiển 51 4.2.2 Cập nhật hiển thị tọa độ GPS 53 4.2.3 Nội dung gói tin gửi nhận (Protocol) 53 4.3 LẬP TRÌNH ĐIỀU KHIỂN ROBOT 53 CHƢƠNG 5: KẾT LUẬN 55 5.1 Kết đạt 55 5.1.1 Tìm đường ngắn truyền tín hiệu xuống Robot 55 5.1.2 Thử nghiệm Robot đường thực tế 56 5.2 Các vấn đề tồn 57 5.3 Hướng phát triển đề tài 57 PHỤ LỤC 58 TÀI LIỆU THAM KHẢO 66 GVHD: TS Võ Tƣờng Quân Trang HVTH: Hoàng Hải Sơn Giải thuật tìm đường ngắn GPS ứng dụng giao thơng LỜI NĨI ĐẦU Cùng với phát triển sống người yêu cầu xác định vị trí quan trọng Khi muốn đường ta dựa vào tịa nhà, cột mốc… Để xác định đường vị trí đứng Ngày xưa, người muốn qua khu vực rừng sa mạc họ phải để lại dấu vết đánh dấu lên đường, bẻ cành để xác định vị trí qua Tuy nhiên, sau biển để xác định vị trí họ khơng thể dựa vào vật đánh dấu, họ dựa vào thiên văn trời, sử dụng la bàn để xác định phương hướng độ lệch họ định vị vị trí họ biển Tuy nhiên, phương pháp có độ xác không cao phụ thuộc nhiều vào thời tiết Vào kỷ 20, nhà khoa học phát minh cách dùng sóng vơ tuyến để đo khoảng cách Bằng cách sử dụng nhiều trạm phát sóng vơ tuyến, với máy thu sóng vơ tuyến ta bắt sóng từ trạm phát Khoảng cách có sử dụng phương pháp không lớn Những phương pháp phần xác định vị trí, vị trí khơng gian hai chiều, vị trí tìm thường biến thiên khoảng lớn số yêu cầu khác áp dụng phương pháp Trước nhược điểm yêu cầu thực tiễn ngày cao, yêu cầu độ xác lớn vị trí, người ta cần thiết có hệ thống giải vấn đề Vì vậy, hệ thống định vị tồn cầu GPS nghiên cứu triển khai, lắp đặt thành cơng Mỹ Nhờ hệ thống GPS, ta quan sát tồn Trái đất mà khơng bị ảnh hưởng thời tiết Nhờ thông số khoảng cách từ vệ tinh tới điểm khảo sát, ta xác định xác vị trí khơng gian điểm cần tìm Ngồi tham số khơng gian, hệ thống GPS cịn cung cấp nhiều tiện ích dịch vụ khác thơng số thời gian, tần số chuẩn,… Ngoài hệ thống GPS cịn mang lại nhiều tiện ích khác dẫn đường, đo đạc địa chất, khảo sát đáy biển… GVHD: TS Võ Tƣờng Quân Trang HVTH: Hoàng Hải Sơn Giải thuật tìm đường ngắn GPS ứng dụng giao thơng CHƢƠNG 1: TỔNG QUAN Trong q trình phát triển nhanh chóng tồn diện khoa học cơng nghệ, máy móc ngày trở nên thông minh sử dụng nhiều để phục vụ cho người nhiều mặt, quân dân Nhưng hệ thống giới sử dụng tự động hóa khơng ngừng để tạo nên thuận tiện cho người cải tiến khả hoạt động hệ thống Ví dụ xe lập trình để chạy tự động theo đồ, máy bay quan không người lái, robot tự hành hoạt động môi trường độc hại, tàu lặn tự hành dùng để khảo sát địa hình ứng dụng ngành dầu lửa…và nhiều ứng dụng giới khác hoạt động chế độ tự động Và tảng cho ứng dụng giới tự động khả tự định vị Có nhiều hệ thống định vị sử dụng rộng rãi toàn giới Ví dụ hệ thống định vị tồn cầu GPS (Global positioning system) hệ thống định vị tuyệt đối, Hệ thống định vị quán tính INS (Inertial navigation system) hệ thống định vị tương đối Hiện nay, GPS hệ thống sử dụng rộng rãi toàn giới lĩnh vực định vị, nhiên có hạn chế định độ xác thấp (một thu GPS dân loại thường có sai số từ 10 - 20m) thời gian truyền tín hiệu lâu, GPS áp dụng cho hệ thống địi hỏi xác ổn định thời gian ngắn Có nhiều giải pháp để cải thiện độ xác tín hiệu GPS cách áp dụng thuật tốn xử lý tín hiệu DGPS hay dùng lọc số, nhiên tăng tốc độ xử lý GPS Trong thập niên gần đây, nhà nghiên cứu đưa giải pháp tối ưu hết cho việc khắc phục hạn chế GPS cách kết hợp tín hiệu GPS với tín hiệu đo từ hệ thống định vị tương đối riêng biệt khác odometry INS Odometry hệ thống định vị tương đối dùng xe giới, hoạt động nhờ vào việc đo vận tốc quay bánh xe để suy giá trị vị trí xe Tuy nhiên odometry lại có nhược điểm bị ảnh hưởng lớn địa hình, rung động hoạt động phạm vi hẹp INS hệ thống định vị tương đối, cho ta biết vị trí tương đối hệ thống mà cịn cho ta biết trạng thái hệ thống không gian GVHD: TS Võ Tƣờng Quân Trang HVTH: Hồng Hải Sơn Giải thuật tìm đường ngắn GPS ứng dụng giao thông 4.2.2 Cập nhật hiển thị tọa độ GPS Nhận liệu từ GPS Module Check Load liệu N Y Up file tọa độ Chờ 1s Hình 4.4: Lưu đồ cập nhật hiển thị GPS  Cứ sau thời gian 1s tọa độ điểm cập nhật hiển thị lên đồ  Nếu tín hiệu GPS bị tức thời phần mềm hiển thị tọa độ điểm cũ trước 4.2.3 Nội dung gói tin gửi nhận (Protocol) Magic Word byte Len byte Command Data LRC byte Max = 20 byte Hình 4.5: Nội dung gói tin byte  Magic word: Nhận dạng gói tin giao tiếp (Chọn 0xFFAA)  Len: Độ dài Byte cần lấy Độ dài độ dài tồn gói gửi (nhận)  Command: Lệnh truyền hay nhận  Data: Dữ liệu 16 Byte bao gồm điểm tọa độ Byte đầu tiên: Tọa độ điểm đầu (4 Byte kinh độ Byte vĩ độ) byte thứ 2: Tọa độ điểm (4 Byte kinh độ Byte vĩ độ)  LRC: Check liệu 4.3 LẬP TRÌNH ĐIỀU KHIỂN ROBOT GVHD: TS Võ Tƣờng Quân Trang 53 HVTH: Hồng Hải Sơn Giải thuật tìm đường ngắn GPS ứng dụng giao thông Các bước xử lí tín hiệu từ Laptop (PC) gửi xuống PIC điều khiển Robot Laptop UART PIC E(xe,ye) End Y Y D(xd,yd) Y α2 C(xc,yc) α β B(xb,yb) O β A(xa,ya) O Robot Start α γ X O α1 Y X X α1 = β - α α = γ – α2 X Hình 4.6: Lưu đồ điều khiển Robot  Bước 1: Máy tính xử lí tọa độ thành nhiều điểm chuyển thành file txt Dữ liệu dạng float (Do tín hiệu tọa độ ta lấy 10 số lẻ) Kinh độ vĩ độ lưu trữ truyền xuống tín hiệu tốn Byte Do tọa độ điểm ta truyền xuống A(xA,yA) tốn dung lượng Byte  Bước 2: Một lần máy tính truyền xuống điểm PIC lưu trữ vào đệm 16 Byte Robot kết hợp với la bàn định hướng để chạy từ A tới B  Bước 3: Khi tới B trùng với tọa độ GPS đưa Robot ngừng lại máy tính lại gửi tiếp điểm C Robot tương tự lại chạy từ B tới C Cứ Robot chạy tới điểm cuối theo yêu cầu GVHD: TS Võ Tƣờng Qn Trang 54 HVTH: Hồng Hải Sơn Giải thuật tìm đường ngắn GPS ứng dụng giao thông CHƢƠNG 5: KẾT LUẬN 5.1 Kết đạt đƣợc 5.1.1 Tìm đƣờng ngắn truyền tín hiệu xuống Robot Hình 5.1: Giao diện tìm đường ngắn phân thành nhiều điểm Hình 5.2: Giao diện truyền liệu xuống vi điều khiển GVHD: TS Võ Tƣờng Qn Trang 55 HVTH: Hồng Hải Sơn Giải thuật tìm đường ngắn GPS ứng dụng giao thông 5.1.2 Thử nghiệm Robot đƣờng thực tế Hình 5.3: Hình ảnh Robot di chuyển bám theo tọa độ Hình 5.4: Đường Robot GVHD: TS Võ Tƣờng Qn Trang 56 HVTH: Hồng Hải Sơn Giải thuật tìm đường ngắn GPS ứng dụng giao thông 5.2 Các vấn đề tồn  Sai số Module GPS thời tiết không tốt lớn (Có thể lên tới 10m) gây khó khăn việc Robot di chuyển  Phụ thuộc vào đồ Google map nên ln phải dùng Online, khơng có mạng Internet khơng dùng  Cần phải có máy tính xử lí tín hiệu truyền cho Vi điều khiển  Hệ thống khí thiết kế chưa tốt nên Robot hoạt động chưa hoàn toàn theo ý muốn (khi di chuyển robot không thẳng mà dao động quanh vị trí mong muốn) 5.3 Hƣớng phát triển đề tài  Điều khiển Robot từ xa dùng module RF  Dùng Module Sim (GPRS) để lấy tín hiệu Internet giúp cho phần cứng gọn nhẹ  Lưu lại lộ trình đường giám sát cho thiết bị  Chế tạo phương tiện giao thông tự động tương lai gần GVHD: TS Võ Tƣờng Quân Trang 57 HVTH: Hồng Hải Sơn Giải thuật tìm đường ngắn GPS ứng dụng giao thông PHỤ LỤC Code điều khiển động #include #include float kp, ki, kd, a0, a1, a2; signed int16 encoder0=0, encoder1=0, encoder2=0; int16 a4speed_PID=0, v_real=0, v_set=50; int16 speed=0, encoder=0, count=0; void init_systems(void) { // SEGMENT LCD lcd_init(); // PWM setup_timer_2(T2_DIV_BY_1,100,4); // f=5kHz; mode=4; period=100 setup_ccp1(CCP_PWM); set_pwm1_duty(0); // TIMER0 setup_timer_0 (RTCC_EXT_L_TO_H); // dem xung canh len tai chan RA4 set_timer0(0); // TIMER1 setup_timer_1 ( T1_INTERNAL | T1_DIV_BY_8 );// t=100ms set_timer1(40535); // INTERRRUPTS enable_interrupts(INT_TIMER0); enable_interrupts(INT_TIMER1); enable_interrupts(GLOBAL); } void PID_velocity (unsigned int16 set_velocity) { encoder0=set_velocity-v_real;//45 speed_PID= speed_PID+ a0*encoder0 + a1*encoder1 + a2*encoder2;//45.5 encoder2 = encoder1;//0 encoder1 = encoder0;//0 speed = speed_PID/50+15;//50 GVHD: TS Võ Tƣờng Qn Trang 58 HVTH: Hồng Hải Sơn Giải thuật tìm đường ngắn GPS ứng dụng giao thông if(speed80) speed=80; } #INT_RTCC void interrupts_T0(void) { count++ } #INT_TIMER1 void interrupts_T1(void) { v_real=0; encoder=0; encoder=get_timer0()+count*255; set_timer0(0); v_real=encoder; PID_velocity(v_set); } void run_motor(int8 value_PWM) { // 0-100 = -100% output_high(pin_d7); set_pwm1_duty(value_PWM); } void display_encoder(int16 n) { int8 a=0, b=0, c=0, d=0; if(n>=2000) display_NegNegNeg(); else { a=n/1000; b=(n%1000)/100; c=((n%1000)%100)/10; d=((n%1000)%100)%10; if(a==1) display_digit4(); display_digit3(b); display_digit2(c); display_digit1(d); } } void init_PID (void) { #define T0 0.1 GVHD: TS Võ Tƣờng Quân Trang 59 HVTH: Hồng Hải Sơn Giải thuật tìm đường ngắn GPS ứng dụng giao thông kp=40; kd=0.1; ki=0.1; a0 = kp + ki*T0/2.0 + kd/T0;//1 a1 = -kp + ki*T0/2.0 - 2*kd/T0;//-1 a2 = kd/T0;//0 } void main() { init_systems(); init_PID(); while(true) { display_encoder(speed); run_motor(speed); delay_ms(100); } } Code la bàn hiển thị LCD #include #include #define CMP_ADDR_LOW #define CMP_ADDR_HI 0xC0 // Factory supplied default address 0xC1 #define PC_TX PIN_D2 #define CLK PIN_C3 #define DATA PIN_C4 #define REG #define LCD_POWER PIN_D7 #define MOTOR1 PIN_B0 #define MOTOR2 PIN_B1 #define MOTOR1_PWM PIN_C1 #define MOTOR2_PWM PIN_C2 long bearing; #BYTE high_byte = bearing GVHD: TS Võ Tƣờng Quân Trang 60 HVTH: Hoàng Hải Sơn Giải thuật tìm đường ngắn GPS ứng dụng giao thông #BYTE low_byte = bearing + #fuses HS,NOWDT,NOPROTECT,NOLVP #use Delay(Clock=20000000) #use rs232(baud=9600, xmit=PC_TX,stream=PC) //TX line to level converter and PC #use i2c(master, SCL=CLK, SDA=DATA) #include "flex_lcd.c" void get_cmps03(void); void BCD3(unsigned short z) { unsigned char tram, chuc, dvi; tram=z/100; chuc=(z%100)/10; dvi=(z%100)%10; tram=tram + 0x30; chuc=chuc + 0x30; dvi=dvi + 0x30; lcd_gotoxy(1,2); lcd_putc(tram); lcd_gotoxy(4,2); lcd_putc(chuc); lcd_gotoxy(8,2); lcd_putc(dvi); } void main(void) { output_high(LCD_POWER); // Turn on power to LCD output_low(LCD_RW); lcd_init(); // Set R/W pin on LCD to a low level // Initialize the LCD //setup_ccp1 (CCP_PWM); //setup_ccp2 (CCP_PWM); //setup_timer_2 (T2_DIV_BY_16,127,1); lcd_gotoxy(1,1); lcd_putc("DH SPKT D-DT"); lcd_gotoxy(1,2); GVHD: TS Võ Tƣờng Quân Trang 61 HVTH: Hồng Hải Sơn Giải thuật tìm đường ngắn GPS ứng dụng giao thông while(1) { get_cmps03(); // fprintf(PC,"Bearing: %Lu \n\r",bearing); delay_ms(500); } } void get_cmps03() { unsigned char high_byte,low_byte; unsigned short u16_value; #if i2c_start(); i2c_write( 0xC0); // The address of the compass (READ LOW) i2c_write( 0x00); // Command (read 360 degrees) i2c_start(); // Restart to change data dir i2c_write( 0xC1 ); // The address of the compass (READ HIGH) high_byte=I2C_READ(); low_byte=I2C_READ(); u16_value = ((unsigned short)(high_byte)) 2) && (u08_rcv_len >= gst_rcv_buff[u08_buff_rcv_id].u08_len)) { /* Kiem tra LRC */ u08_lrc = 0; for (i = 0; i < u08_rcv_len; i++) { u08_lrc += pu08_data[i]; } u08_lrc = ~u08_lrc + 1; if (u08_lrc == 0) { u16_count ++; if(u16_count >= 0xFFFE) u16_count = 0; gu08_flag = 1; /* Dua frame nhan duoc chinh thuc vao buffer */ // gst_rcv_buff[u08_buff_rcv_id].u08_len = u08_rcv_len; // printf("\n\r Data dung "); } else{; // putc(0xCC); GVHD: TS Võ Tƣờng Quân Trang 64 HVTH: Hồng Hải Sơn Giải thuật tìm đường ngắn GPS ứng dụng giao thông // printf("\n\r sai LRC %d",u08_lrc); } /* Ket thuc nhan frame */ u08_buff_rcv_id = 0xFF; u08_rcv_len = 0; u08_rcv_status = 0; } } #endif /** convert byte array (of size 4) to float * @param test * @return */ float byteArrayToFloat(byte test[]) { int bits = 0; int i = 0; unsigned char shifter ; unsigned char MASK = 0xff; for (shifter = 3; shifter >= 0; shifter ) { bits |= ((int) test[i] & MASK)

Ngày đăng: 17/12/2022, 14:18

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w