Self-made GPS map navigation system prototype based on Arduino

Source: Internet
Author: User

This is an article on the hands-on production based on Arduino and 12864 LCD module graphical display of GPS navigation system posts, works and costs may not be comparable with TB navigation products, but the hands-on process will bring you fun and knowledge.

You should have some background knowledge before you do it:
1. Arduino related Foundation;
2. Can use 12864 LCD module;
3. Can use Arduino to obtain GPS module positioning information through serial communication;
4. Can operate SD card module with Arduino;
Search the Geek Workshop forum to find relevant content.


Make the required main hardware:
1. Arduino UNO 1 tablets;
2.12864 LCD Module 1 pieces;
3.1 pieces of GPS module;
4. SD card module and SD card 1 sets;

Principle:
The map data is stored in the SD card according to the tile algorithm, the GPS positioning information is obtained through the serial port and the latitude and longitude coordinates are analyzed, and the corresponding map data are displayed on the 12864 LCD module according to the latitude and longitude coordinates, and the locating coordinate points are displayed.
1. Map storage Algorithms-Tile systems (Maps Tile System)
This production uses the map data and the map storage algorithm from Microsoft's Bing Maps and has made the corresponding modification, specific may refer to:
Bing Maps Tile system[1*]
Virtual Earth Tile Image URI parameter analysis
Goolge and Microsoft Map Url Parameters
In the tile system, the map adopts pyramid hierarchical storage structure, different layers have different level of map resolution (map fine degree), each layer map is divided into equal pixel size (256X256) of tile, The problem that the algorithm solves is to get the specific tile number given the latitude and longitude coordinates and the zoom level (layer index).
The code that is implemented at the end of the connection [1*] can be referenced together.
2. For the 12864 LCD module design
12864 LCD module is 128 pixel wide 64 pixel high monochrome liquid crystal display module, the production in order to adapt to the module display made two design.
1. Cut 256x256 pixel tiles into 8-part tiles of 128x64 pixel size, as shown in the following illustration:

Each tile on each floor is processed accordingly.
2. Convert the 8-bit PNG indexed image (road data from Bing Maps) to a binary map data file through a threshold value method, in order to be able to display the text information in the original image, a multiple threshold extraction or method is used to extract the background, object and annotation text data from the source map, and the disturbance between the text and the background The extraction effect needs to be improved.

Display effect:

Arduino Code Description:
1. Add a dot function to the "LCD12864RSPI" file to reduce the redraw area;
2. Use of small memory, with read-only capacity of the SD module library "Petit_fatfs";
3. Allocate 1K memory for map data cache, because the SD card library only supports 8.3 file names, the map data file name uses the hexadecimal indefinite length compression coding method to name.
Code Download:

Petit_fatfs

Lcd12864rspi

Arduinotile

To generate a map program (need to connect to the Internet):

By setting the map range latitude and longitude information to obtain the use of the location of the area, Google Earth can show latitude and longitude of the software or Web pages to obtain latitude and longitude of the maximum minimum value (up and down small, right big left small),

Zoom level recommended set range 1~15, larger map range and higher zoom level will increase the download time of the map and display the load.
Maptile need. net2.0 above library support.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.