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 ạ
Tọa độ trên google map
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
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à )
Theo như bạn nói thì có 2 vấn đề bạn cần giải đáp:
- Tách giá trị tọa độ.
- 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;
►
Hi Đăng Huy.
Không nhầm thì có lib luôn.
https://randomnerdtutorials.com/guide-to-neo-6m-gps-module-with-arduino/