View Full Version : PIC16F877 with GPS receiver

- 18th October 2006, 09:55
I'm doing a project on car security system that sends a text message to the owner when the alarm is triggered. I am using PIC16F877 with siemens TC35i Gsm modem.

For the next step of my project, I am supposed to add a GPS receiver, and have the PIC to send a text message to the owner with the location information, every 5 minutes.

My problem is that I am not sure if I could use the PIC to extract only the necessary NMEA code from the GPS receiver, and send the info through the modem.

Is there a specific coding I could use to extract the info (I am using PIC-CCSC)? And I am not sure whether to us $GPGGA or $GPGLL?

Furthermore, I still don't know which GPs receiver I should use. I heard about Garmin, but I read that Garmin don't use NMEA... Am I correct?

If any of you guys could help me out with this, it'll be great.
Feel free to email me at [email protected]

- 18th October 2006, 13:00

Darrel Taylor
- 18th October 2006, 21:14

That forum has over 15,000 threads. Any one in particular you are referring too?

- 18th October 2006, 22:15
I've got a Garmin Etrex that output NMEA. Not sure which brand your leaning towards, but I would think it would be silly if a GPS receiver didn't have the ability to output NMEA. HERE'S (http://www.sparkfun.com/commerce/categories.php?cPath=4_17) a list of small GPS receivers to select from. And HERE (http://www.sparkfun.com/commerce/product_info.php?products_id=7917) is an all in one solution with cellular, GPS, and camera capabilities. It can be programmed with Python scripts, but as Steve is inferring to, you would have to go to that forum for the best support as such with the CCS compiler. Good luck! Sounds like a neat project.

- 19th October 2006, 00:12

That forum has over 15,000 threads. Any one in particular you are referring too?

Nope, but rocket queen said

(I am using PIC-CCSC)

Darrel Taylor
- 19th October 2006, 00:25
I gotta start reading this stuff with my Glasses ON.

How dare those outsiders come in here :eek:


- 19th October 2006, 00:40
Could be worst... you know what i mean ;)

- 7th November 2006, 21:42
I do not know, if it helps you but just in case..
I developed a PIC-"filter" of NMEA-messages. Pic12f629 (INTRCIO mode) monitors GPS (Falcom JP7 but this should not be important) output stream and when it finds a $GPRS message with no receiver warning (got sattelite fix), outputs it in preformatted form via bit-banged RS232 at 4800 bd (if PIC-s pin "enable" - see code comments) is HIGH. Since i am an assembly language fan, it is written in such but ready to burn .hex is also provided. Source commented in english.
Download: http://parsek.yf.ttu.ee/~felc/gps.zip

Fred Sanford
- 15th November 2006, 21:45
I am designing a car with a LCD gauge cluster display. The design of the display will be totally digital. This will allow flexiblity in the display of information. Information will can be displayed as analog gauges or a completely different interface including a GPS and radio controls. What is the best way to go about it?

- 15th November 2006, 22:13
Well, the GLCD option is still nice, some elm OBDII chip could be used too.

Doing everything you said.. maybe a standalone PC with a VB (c, Delphi) software would be much easier....

- 15th November 2006, 22:56
I see biggest problem in...the LCD screen itself. In car it must have enough contrast at daylight and it must be easily readable (but not disturbing!) at night.
Everything else is a question of programming (skills). I'd preferr to write the code for some higher-end PIC (18xx series) and in assembly (to provide speed) but naturally it would be much easier and quicker to write in some high-level language. Say, C++ etc. This might increase amount of needed resources (memory, processing speed) but not necessarily.
Writing in PC-like languages (Delphi...) in my opinion demands using much better processors: ARM, may-be even a small PC.
Correct me if i am wrong.
On the other hand....using a small PC gives many additional features- displaying videos etc.
It's up to You!