Tọa độ trên google map

Hiện tại thì em đang sử dụng Module neo 6 GPS trả về tọa độ của vị trí !
EM muốn code để tách chuỗi thông tin nó trả về kinh độ và vĩ độ nhưng e=không biết phải biến đổi con số đó về độ , phút giây như thế nào ! :(( Mn giúp e với ạ


mình chưa hiểu lắm , module đã cho bạn thông tin vậy rồi thì đâu cần tính toán gì nữa :smiley:
Còn việc tách chuỗi thì mình chắc là bạn dùng Arduino Studio( hay cái gì đó lâu rồi mình không nhớ ) , mình không chắc là nó hỗ trợ các thư viện của C++ về chuỗi. Vậy cách trâu bò bây giờ mình nghĩ là bạn chạy một vòng for đọc chuỗi sau đó nếu phát hiện ra ký tự "LAT = " thì bắt đầu đọc kinh vĩ độ , lưu nó vào một biến chuỗi , đến khi gặp ký tự “LON =” thì dừng lại và tiếp tục đọc biến kinh độ, …
Sau đó dùng một số hàm của C++ để convert string sáng biến float ( cái này bạn tra mạng là ra ngay ấy mà :smiley: )

1 Like

Theo như bạn nói thì có 2 vấn đề bạn cần giải đáp:

  1. Tách giá trị tọa độ.
  2. Chuyển tọa độ về giờ, phút, giây.

Ý 1 đã được bạn trên giải thích.
Đổi về giờ, phút, giây thì dùng phép tính cơ bản thôi.

  • Phần nguyên là giờ.
  • Phần thập phân gồm phút và giây.
  • Nhân với 60 và lấy phần nguyên sẽ ra phút.
  • Lấy phần thập phân của tích phép nhân trước nhân với 60 lấy phần nguyên sẽ ra giây. Thực ra kết quả của giây là số nguyên rồi.

h=(int)x;
m=(int)x*60 % 60;
s=(int)x*3600 % 60;

2 Likes

Hi Đăng Huy.
Không nhầm thì có lib luôn.
https://randomnerdtutorials.com/guide-to-neo-6m-gps-module-with-arduino/

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?