Show Posts
Pages: [1]
1  Using Arduino / Networking, Protocols, and Devices / Re: GPS w/ NMEA 0183 and Arduino Uno on: February 25, 2013, 09:13:06 pm
This might answer my own question. It will not work unless I get a new GPS chip that is TTL. I believe the one i have is not TTL.

Is this correct?
2  Using Arduino / Networking, Protocols, and Devices / Re: GPS w/ NMEA 0183 and Arduino Uno on: February 25, 2013, 08:31:08 pm
The RS-422 at the top is the correct schematic
3  Using Arduino / Networking, Protocols, and Devices / GPS w/ NMEA 0183 and Arduino Uno on: February 25, 2013, 08:26:29 pm
I have a GPS that outputs NMEA 0183 standard with 5 wires coming out
Green, Orange, Yellow, Blue, Ground

Schematic from GPS for wire color


Right now i have ground hooked to ground
Orange to pin 0
Green to pin 1

When uploading the sketch from the link it tells me that BYTE is no longer supported. I changed BYTE to (Serial.write(byteGPS))
Original Code:
http://playground.arduino.cc/Tutorials/GPS

My Code:
Code:
/*
 Example code for connecting a Parallax GPS module to the Arduino
 Igor Gonz�lez Mart�n. 05-04-2007
 igor.gonzalez.martin@gmail.com
 English translation by djmatic 19-05-2007
 Listen for the $GPRMC string and extract the GPS location data from this.
 Display the result in the Arduino's serial monitor.
 */
 #include <string.h>
 #include <ctype.h>
 int ledPin = 13;                  // LED test pin
 int rxPin = 0;                    // RX PIN
 int txPin = 1;                    // TX TX
 int byteGPS=-1;
 char linea[300] = "";
 char comandoGPR[7] = "$GPRMC";
 int cont=0;
 int bien=0;
 int conta=0;
 int indices[13];
 void setup() {
   pinMode(ledPin, OUTPUT);       // Initialize LED pin
   pinMode(rxPin, INPUT);
   pinMode(txPin, OUTPUT);
   Serial.begin(4800);
   for (int i=0;i<300;i++){       // Initialize a buffer for received data
     linea[i]=' ';
   }  
 }
 void loop() {
   digitalWrite(ledPin, HIGH);
   byteGPS=Serial.read();         // Read a byte of the serial port
   if (byteGPS == -1) {           // See if the port is empty yet
     delay(100);
   } else {
     linea[conta]=byteGPS;        // If there is serial port data, it is put in the buffer
     conta++;                      
     Serial.print(byteGPS, (Serial.write(byteGPS)));
     if (byteGPS==13){            // If the received byte is = to 13, end of transmission
       digitalWrite(ledPin, LOW);
       cont=0;
       bien=0;
       for (int i=1;i<7;i++){     // Verifies if the received command starts with $GPR
         if (linea[i]==comandoGPR[i-1]){
           bien++;
         }
       }
       if(bien==6){               // If yes, continue and process the data
         for (int i=0;i<300;i++){
           if (linea[i]==','){    // check for the position of the  "," separator
             indices[cont]=i;
             cont++;
           }
           if (linea[i]=='*'){    // ... and the "*"
             indices[12]=i;
             cont++;
           }
         }
         Serial.println("");      // ... and write to the serial port
         Serial.println("");
         Serial.println("---------------");
         for (int i=0;i<12;i++){
           switch(i){
             case 0 :Serial.print("Time in UTC (HhMmSs): ");break;
             case 1 :Serial.print("Status (A=OK,V=KO): ");break;
             case 2 :Serial.print("Latitude: ");break;
             case 3 :Serial.print("Direction (N/S): ");break;
             case 4 :Serial.print("Longitude: ");break;
             case 5 :Serial.print("Direction (E/W): ");break;
             case 6 :Serial.print("Velocity in knots: ");break;
             case 7 :Serial.print("Heading in degrees: ");break;
             case 8 :Serial.print("Date UTC (DdMmAa): ");break;
             case 9 :Serial.print("Magnetic degrees: ");break;
             case 10 :Serial.print("(E/W): ");break;
             case 11 :Serial.print("Mode: ");break;
             case 12 :Serial.print("Checksum: ");break;
           }
           for (int j=indices[i];j<(indices[i+1]-1);j++){
             Serial.print(linea[j+1]);
           }
           Serial.println("");
         }
         Serial.println("---------------");
       }
       conta=0;                    // Reset the buffer
       for (int i=0;i<300;i++){    //  
         linea[i]=' ';            
       }                
     }
   }
 }

My code compiles and uploads fine as long as I do not have the GPS wired into the board. When its wired I get the error
avrdude: stk500_getsync(): not in sync: resp=0xe0


I'm stuck trying to get the GPS to output the normal NMEA strings. Not sure if it is wiring or code or both.
Any help would be greatly appreciated.
4  Using Arduino / Project Guidance / Re: Uno --> GPS Shield --> WAV Shield on: January 14, 2013, 01:26:01 am
Over how large an area and with what positional accuracy and indoors or out?
GPS inside is nearly worthless for accurate position inside and the uncertainty is > 3 meters typically outside.

Bob

Hi Bob,
For the first prototype it would be a total of 10 miles in distance. And it will be outside. I have an HDS 5m Gen 2 GPS with a networking port however from my research it seems as if i could make a stand alone unit incase I didnt bring my GPS with me.

Marc
5  Using Arduino / Project Guidance / Uno --> GPS Shield --> WAV Shield on: January 14, 2013, 12:23:19 am
The goal of the project is to play an output file based on GPS location.

I would be Building a box with 5 buttons:
   O
O O O
   O

There is going to be 5 wave files:
1.wav
2.wav
3.wav
4.wav
5.wav

That correspond to the buttons:
   4
1  2  3
   5

On a button press, ideally it would log the GPS location and which wav file to play at that location (a total of about 50 max gps locations would have to be saved).

Then after programmed, I would like it to play the corresponding wav file when the GPS gets back within 50 or so feet.

I have no experience with a GPS shield and am curious if this can even be done on an arduino or if I should begin looking for other alternatives. I have yet to come across something my Arduino can't do!

Any help would be greatly appreciated!
6  Community / Exhibition / Gallery / Re: LPD8806 LED strip project on: October 04, 2012, 02:07:12 am
Yes i thought it was too good to be true. I have verified multiple times with them. Time will tell. I am also pretty good at talking the Chinese down in price. They all want to make a sale you just have to be persistant when they say no the first time.
7  Community / Exhibition / Gallery / Re: LPD8806 LED strip project on: October 02, 2012, 12:02:57 am
Cool project! I am looking to start my first arduino project with lpd8806 lights. Hopefully I can learn it as fast as you did  smiley-grin

I have spoken to a few (15) china suppliers. Looks like the going rate is about $40 for 5m and then $40-50 shipping via DHL.


Well, $98.89 was the total after shipping and paypal fees for 3 - 5m 5050 PD8806 Strips, 300/5m, ip68, Tape Backing.
8  Using Arduino / Project Guidance / Re: LED Beer Pong Table on: October 01, 2012, 11:48:37 pm
Thank you PaulS. That makes a lot of sense and easier down the road. Which pins should I try to leave free?
9  Using Arduino / Project Guidance / LED Beer Pong Table on: October 01, 2012, 12:01:44 am
Well I have just purchased a bunch of misc parts and a ruggeduino, this will be my first project.

The ultimate goal:

A beer pong table much like this one:


I am in the process of buying some 5m RGB LED Strips lpd8806 for the lights. I am going to have 6 different strips in total
     2 for the perimeter, 1 for each ball washer, 1 for each triangle.

I want to set up a website with buttons (I have built a few websites before) to control the controller where I can set it up to have different modes of patterns of light and then one mode where it goes with the music.

My question is where I should start tinkering. I would like the BP table asap however i'm not sure how hard it would be to change the code to work with an ethernet shield later on down the road. I havent purchased an ethernet shield yet. Where should i start playing around to ultimately get me to the final goal?
Pages: [1]