Arduino Nano: Show GPS Location on I2C 2 X 16 LCD Display With Visuino

by BoianM in Circuits > Arduino

29476 Views, 169 Favorites, 0 Comments

Arduino Nano: Show GPS Location on I2C 2 X 16 LCD Display With Visuino

Arduino Nano: Show GPS location on I2C 2 X 16 LCD Display With Visuino

Few days ago somebody asked me to make Instructable on how to show GPS Latitude, and Longitude on a LCD Display. I promised to make one, and here it is.

In this Instructable, I will show you how you can connect Serial GPS Module, and I2C LCD Display to Arduino Nano, and show the location data from the GPS on the LCD.

Please note that since the Arduino Nano has only one Serial Port and it is used to program the board, you will need to program the Arduino before you connect the Serial GPS Module!

Components

572a7fbf937ddb53c000073e.jpeg
5682e57f45bceb5b0200115f.jpeg
  1. One Arduino compatible board (I use Arduino Nano, because I have one, but any other will be just fine)
  2. One GPS module
  3. One I2C 16x2 LCD Display (Back side of the LCD with the I2C adapter showed on Picture 2)
  4. One small Breadboard (Any breadboard can be used, or any other way to connect 3 wires together)
  5. 3 Female-Male jumper wires
  6. 5 Female-Female jumper wires

Start Visuino, and Select the Arduino Board Type

SelectBoardTolsEdited.png
Select BoardNano.png

Since the Arduino Nano has only one Serial port, and it is needed to program the Arduino, you will need to program the Arduino Nano before the GPS is connected.

To start programming the Arduino, you will need to have the Arduino IDE installed from here: http://www.arduino.cc/ .

Make sure that you install 1.6.7 or higher, otherwise this Instructable will not work!

The Visuino: https://www.visuino.com also needs to be installed.

  1. Start Visuino as shown in the first picture
  2. Click on the "Tools" button on the Arduino component (Picture 1) in Visuino
  3. When the dialog appears, select Arduino Nano as shown in Picture 2

In Visuino: Add and Connect GPS, and LCD Components

ComponentGPS.png
ComponentGPSConnect.png
ComponentLCD.png
ComponentLCDConnect1.png
  1. Type "GPS" in the Filter box of the Component Toolbox then select the "Serial GPS" component (Picture 1), and drop it in the design area
  2. Connect the "Out" pin of the GPS1 component to the to the "In" pin of the "Serial[ 0 ]" of the Arduino component (Picture 2)
  3. Type "lcd" in the Filter box of the Component Toolbox then select the "Liquid Crystal Display (LCD) - I2C" component (Picture 3), and drop it in the design area
  4. Connect the "Out" pin of the LiquidCrystalDisplay1 component to the to the "In" pin of the "I2C channel" of the Arduino component (Picture 4)

In Visuino: Add, and Setup Text and Analog Value Elements to Display the Latitude

ComponentLCD_Tools.png
ComponentLCDElement1.png
ComponentLCDElement1Prop.png
ComponentLCDElement2.png
ComponentLCDElement2Prop1.png
ComponentLCDElement2Prop2.png

We will add a Text field with the description of the value, and Analog field to display the value for the Latitude and Longitude values.

First we will add Description and value fields for the Latitude:

  1. Click on the "Tools" button (Picture 1) to open the "Elements" editor (Picture 2)
  2. In the "Elements" editor select the "Text Field" in the right window, and click on the "+" button on the left (Picture 2)
  3. In the Object Inspector set the value of the "Initial Value" property of the element to "Lat. :" (Picture 3)
  4. Select the "Analog Field" in the right window of the "Elements" editor, and clicking on the "+" button on the left (Picture 4)
  5. In the Object Inspector set the value of the "Column" property of the element to "7" (Picture 5)
  6. In the Object Inspector set the value of the "Width" property of the element to "8" (Picture 6)

In Visuino: Add, and Setup Text Element for the Longitude

ComponentLCDElement3.png
ComponentLCDElement3Prop1.png
ComponentLCDElement3Prop2.png

Next we will add Description for the Longitude:

  1. In the "Elements" editor select the "Text Field" in the right window, and click on the "+" button on the left (Picture 1)
  2. In the Object Inspector set the value of the "Initial Value" property of the element to "Long.: " (Picture 2)
  3. In the Object Inspector set the value of the "Row" property of the element to "1" (Picture 3)

In Visuino: Add, and Setup Analog Value Element to Display the Longitude

ComponentLCDElement4.png
ComponentLCDElement4Prop1.png
ComponentLCDElement4Prop2.png
ComponentLCDElement4Prop3.png

Next we will add Analog Element to display the value for the Longitude:

  1. Select the "Analog Field" in the right window of the "Elements" editor, and clicking on the "+" button on the left (Picture 1)
  2. In the Object Inspector set the value of the "Column" property of the element to "7" (Picture 2)
  3. In the Object Inspector set the value of the "Row" property of the element to "1" (Picture 3)
  4. In the Object Inspector set the value of the "Width" property of the element to "8" (Picture 4)
  5. Close the "Elements" dialog

In Visuino: Connect the GPS Component to the Elements of the LCD Component

ComponentLCDElementsConnect1.png
ComponentLCDElementsConnect2.png
  1. Connect the "Latitude" output pin of the "Location" box of the GPS1 component to the "In" pin of the Elements.AnalogField1 element of the LiquidCrystalDisplay1 component (Picture 1)
  2. Connect the "Longitude" output pin of the "Location" box of the GPS1 component to the "In" pin of the Elements.AnalogField2 element of the LiquidCrystalDisplay1 component (Picture 2)

Generate, Compile, and Upload the Arduino Code

GenerateCtopped.png
ArduinoIDE.png
  1. In Visuino, Press F9 or click on the button shown on Picture 1 to generate the Arduino code, and open the Arduino IDE
  2. In the Arduino IDE, click on the Upload button, to compile and upload the code (Picture 2)

Connect the LCD Module to the Arduino

DSC02168.JPG
56afb58915be4d97d90016ca.jpeg
56afb5dd45bceb4f86000926.jpeg

Once the Arduino Nano is programmed, it is time to connect the hardware:

  1. Connect Ground(Black wire), Power(Red wire), SDA(Green wire), and SCL(Yellow wire) to the LCD Module (Picture 1)
  2. Connect the other end of the Ground wire(Black wire) to Ground pin of the Arduino board(Picture 2)
  3. Connect the other end of the SDA wire(Green wire) to SDA/Analog pin 4 of the Arduino Nano board(Picture 2)
  4. Connect the other end of the SCL wire(Yellow wire) to SCL/Analog pin 5 of the Arduino Nano board(Picture 2)
  5. Connect another Female-Male Power wire(Red wire) to the 5V Power pin of the Arduino board(Picture 2), and leave the Male end unconnected
  6. Picture 3 shows where are the Ground, 5V Power, SDA/Analog pin 4, and SCL/Analog pin 5 pins of the Arduino Nano

Connect the GPS Module to the Arduino

572a80b74936d4eb0800122a.jpeg
572a80d8937ddb4e42000325.jpeg
572a8fb72e7fb664f800117b.jpeg
  1. Connect Female-Male Power(Red wire) to the GPS Module
  2. Connect Female-Female Ground(Black wire), and TX(Gray wire) to the GPS Module
  3. Connect the other end of the Ground wire(Black wire) to Ground pin of the Arduino board (Picture 2)
  4. Connect the other end of the TX (Gray wire) to RX pin of the Arduino board (Picture 2)
  5. Picture 3 shows in Red where are the Ground, and RX pins of the Arduino Nano (In Blue are shown the connections made in the previous step)

Connect the Power Wires Together

5695929050e1b652510007ee.jpeg

Connect the Male ends of the 3 Power wires(Red wires) - from the Display, the GPS Module, and the Arduino together as example with the help of a Breadboard (Picture) - In my case I used a small Breadboard

And Play...

572a72d815be4df52800055a.jpeg
VisuinoDiagramCrop.png
Arduino Nano: Show GPS location on I2C 2 X 16 LCD Display With Visuino

Congratulations! You have completed the project.

Picture 1 shows the connected and powered up project. If you power up the project, after a while the blue LED of the GPS will start blinking about once a second as you can see on the Video. Usually shortly after that, the GPS will start sending location data, and it will be shown on the LCD. Depending on the location, it can take up to few minutes to show the location data. If after few minutes the data is still not shown, power down the project wait about a minute and power it again to reset the GPS.

On Picture 2 you can see the complete Visuino diagram.
Also attached is the Visuino project, that I created for this Instructable. You can download and open it in Visuino: https://www.visuino.com