Wow, cool vielen Dank für die ganzen Informationen und die Hilfsbereitschaft!
Was ich jetzt noch nicht so ganz verstanden haben ist die Aussage von Mardetuino:
Dabei würde ich aber imm einen Widerstand von ca. 1k dazwischen hängen, nur zur Sicherheit.
Warum einen Wiederstand dazwischen hängen?
Meinen Aufbau für das GPS Modul würde ich dann wie folgt realisieren:
Pin 1 ziehe ich auf GND,
Pin 2 schliesse ich an einen digital I/O des Arduinos,
Pin 3 ziehe ich auch GND,
Pin 4 und 5 schliesse ich an die 3.3 Volt des Arduinos an.
diesen Hinweis hat mir der Verkäufer noch zukommen lassen:
The only thing you'll need to watch for is that the module is designed to run at about 3.3V, and shouldn't be powered by 5.0V. If you're using an Arduino, simply connect the GPS power pin to the 3.3V pin. If you want to configure the module, you'll want to put a 10K resistor divider on the RX pin so you don't put 5V on the data pin. We include these resistors, as well as a 6 pin header you can solder to the module in order to plug it into a breadboard.
Ich weis nur nicht was er mit den Wiedertänden und dem Konfigurieren meint. Falls jemand eine Idee hat, wäre ich dankbar
Hier ist noch der Code:
// Test code for Adafruit GPS modules using MTK driver
// such as UP501 Breadboard-friendly 66 channel GPS module w/10 Hz updates [MTK3329] : ID 660 : $49.95 : Adafruit Industries, Unique & fun DIY electronics and kits
// Pick one up today at the Adafruit electronics shop
// and help support open source hardware & software! -ada
#if (ARDUINO >= 100)
#include <SoftSerial.h>
SoftSerial mySerial(2, 3);
#else
// If you're using Arduino IDE v23 or earlier, you'll
// need to install NewSoftSerial
#include <NewSoftSerial.h>
NewSoftSerial mySerial(2, 3);
#endif
// Connect the GPS Power pin to 3.3V
// Connect the GPS Ground pin to ground
// Connect the GPS VBAT pin to 3.3V if no battery is used
// Connect the GPS TX (transmit) pin to Digital 2
// Connect the GPS RX (receive) pin to Digital 3
// For 3.3V only modules such as the UP501, connect a 10K
// resistor between digital 3 and GPS RX and a 10K resistor
// from GPS RX to ground.
// different commands to set the update rate from once a second (1 Hz) to 10 times a second (10Hz)
#define PMTK_SET_NMEA_UPDATE_1HZ "$PMTK220,10001F"
#define PMTK_SET_NMEA_UPDATE_5HZ "$PMTK220,2002C"
#define PMTK_SET_NMEA_UPDATE_10HZ "$PMTK220,100*2F"
// turn on only the second sentence (GPRMC)
#define PMTK_SET_NMEA_OUTPUT_RMCONLY "$PMTK314,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,029"
// turn on ALL THE DATA
#define PMTK_SET_NMEA_OUTPUT_ALLDATA "$PMTK314,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,028"
// to generate your own sentences, check out the MTK command datasheet and use a checksum calculator
// such as the awesome NMEA MTK checksum calculator
void setup()
{
Serial.begin(57600);
Serial.println("Adafruit MTK3329 NMEA test!");
// 9600 NMEA is the default baud rate
mySerial.begin(9600);
// uncomment this line to turn on only the "minimum recommended" data for high update rates!
//mySerial.println(PMTK_SET_NMEA_OUTPUT_RMCONLY);
// uncomment this line to turn on all the available data - for 9600 baud you'll want 1 Hz rate
mySerial.println(PMTK_SET_NMEA_OUTPUT_ALLDATA);
// Set the update rate
// 1 Hz update rate
mySerial.println(PMTK_SET_NMEA_UPDATE_1HZ);
// 5 Hz update rate- for 9600 baud you'll have to set the output to RMC only (see above)
//mySerial.println(PMTK_SET_NMEA_UPDATE_5HZ);
// 10 Hz update rate - for 9600 baud you'll have to set the output to RMC only (see above)
//mySerial.println(PMTK_SET_NMEA_UPDATE_10HZ);
}
void loop() // run over and over again
{
if (mySerial.available()) {
Serial.print((char)mySerial.read());
}
if (Serial.available()) {
mySerial.print((char)Serial.read());
}
}