Difference between revisions of "GPS Shield With SD Card Slot for Arduino V2.0 A"
(→Programming) |
(→How to buy) |
||
(8 intermediate revisions by 2 users not shown) | |||
Line 8: | Line 8: | ||
== Features == | == Features == | ||
− | + | *On-board SD card slot can be used to data log. | |
− | |||
*Easy adoption with best performance | *Easy adoption with best performance | ||
− | |||
*Integrated antenna and EMC protection | *Integrated antenna and EMC protection | ||
− | |||
*Built-in backup battery allowing hot/warm starts and better performance | *Built-in backup battery allowing hot/warm starts and better performance | ||
− | |||
*No external component demand, just connect and use. | *No external component demand, just connect and use. | ||
− | |||
*Minimum RF and EMI efforts | *Minimum RF and EMI efforts | ||
− | |||
*Small size of 18 (W) x 21 (L) x 7 (H) (mm) with patch antenna of 18x18x4mm. | *Small size of 18 (W) x 21 (L) x 7 (H) (mm) with patch antenna of 18x18x4mm. | ||
− | |||
*Fully implementation of ultra-high performance SiRFstarIII single chip architecture | *Fully implementation of ultra-high performance SiRFstarIII single chip architecture | ||
− | |||
*High tracking sensitivity of -159dBm | *High tracking sensitivity of -159dBm | ||
− | |||
*Low power consumption of 40mA at full tracking | *Low power consumption of 40mA at full tracking | ||
− | |||
*Hardware power saving control pin allowing power off GPS via GPIO | *Hardware power saving control pin allowing power off GPS via GPIO | ||
− | |||
− | |||
− | |||
− | |||
== Application Ideas == | == Application Ideas == | ||
Line 46: | Line 32: | ||
== Schematic == | == Schematic == | ||
− | [https://s3.amazonaws.com/linksprite/Shields/GPS+shield/ | + | [https://s3.amazonaws.com/linksprite/Shields/GPS+shield/arduino_gps_sd_sch_v2.pdf GPS Shield with SD Card Slot for Arduino V2.0 Schematic in PDF] |
== Specification == | == Specification == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Pin definition and Rating == | == Pin definition and Rating == | ||
Line 93: | Line 61: | ||
− | + | *[http://learn.linksprite.com/?p=1211 Use TinyGPS Library with LinkSprite GPS V2A Shield] | |
Line 367: | Line 335: | ||
== Resources == | == Resources == | ||
− | |||
− | |||
*[https://s3.amazonaws.com/linksprite/Shields/GPS+shield/SR-92_User+Manual_EN.pdf SR92 Datasheet in PDF] | *[https://s3.amazonaws.com/linksprite/Shields/GPS+shield/SR-92_User+Manual_EN.pdf SR92 Datasheet in PDF] | ||
− | |||
− | |||
− | |||
*[https://s3.amazonaws.com/linksprite/Shields/GPS+shield/SD-GPS-Shield.mpg VIDEO] | *[https://s3.amazonaws.com/linksprite/Shields/GPS+shield/SD-GPS-Shield.mpg VIDEO] | ||
+ | *[http://learn.linksprite.com/?p=1211 Use TinyGPS Library with LinkSprite GPS V2A Shield] | ||
== How to buy == | == How to buy == | ||
− | Here to buy Shield With SD Card Slot for Arduino[http:// | + | Here to buy Shield With SD Card Slot V2.0 A for Arduino on [http://store.linksprite.com/gps-shield-with-sd-card-slot-for-arduino-v2a/ store] |
== See Also == | == See Also == |
Latest revision as of 07:08, 18 February 2014
Contents
Introduction
This GPS shield is designed for Arduino Uno. This shield integrates SR-92 GPS module and a SD card slot. As the SR-92 module and SD works with 3.3V, a 3.3V power supply module is embedded to the shield. This shield can work independently from Arduino, and you can use the PC to receive the data from the board. User can use a serial terminal in PC to read the SR-92 data and read/write to the SD card.
Features
- On-board SD card slot can be used to data log.
- Easy adoption with best performance
- Integrated antenna and EMC protection
- Built-in backup battery allowing hot/warm starts and better performance
- No external component demand, just connect and use.
- Minimum RF and EMI efforts
- Small size of 18 (W) x 21 (L) x 7 (H) (mm) with patch antenna of 18x18x4mm.
- Fully implementation of ultra-high performance SiRFstarIII single chip architecture
- High tracking sensitivity of -159dBm
- Low power consumption of 40mA at full tracking
- Hardware power saving control pin allowing power off GPS via GPIO
Application Ideas
Cautions
The warnings and wrong operations possible cause dangerous.
Schematic
GPS Shield with SD Card Slot for Arduino V2.0 Schematic in PDF
Specification
Pin definition and Rating
The following material are for SR92 and are for reference only:
This GPS receiver comes with embedded antenna and only needs 5 pins to talk to your Arduino or MCU.
- Pin 1: GND Ground
- Pin 2: VCC Power supply of 3.3 ~ 3.5 VDC
- Pin 3: TX Port A serial data output (GPS out); N-8-1, NMEA v3.00 output
- Pin 4: RX Port A serial data input (GPS in); N-8-1, accepts commands from external applications, e.g. SiRFDemo.
- Pin 5: 5 PWR_CTRL Hardware controlled power saving pin.
- If this function is used, it is usually connected to a GPIO pin of a micro-processor.
- "Low": for normal run
- "High" or floating: turn off VCC for power saving
- Tie it to low if this pin is not used.
Mechanic Dimensions
Usage
Hardware Installation
- Software Serial Port Configuration:
- Short TX and D2 of J2.
- Short RX and D3 of J1.
- Hardware Serial Port Configuration:
- Short TX and MRX of J2.
- Short RX and MTX of J1.
Programming
Sample code for Hard Serial Port:
<syntaxhighlight lang="c">
- include <SD.h>
- include <SoftwareSerial.h>
File myFile; const int chipSelect = 10; SoftwareSerial mySerial = SoftwareSerial(4,3);
unsigned char inByte;
void setup() {
pinMode(4, INPUT); pinMode(3, OUTPUT); pinMode(2, OUTPUT); pinMode(6, OUTPUT); digitalWrite(2, LOW); digitalWrite(6, LOW);
///////////////////UART////////////////////////
mySerial.begin(9600); Serial.begin(9600); Serial.println("Initializing SD card...");
////////////////////SD_INITIAL///////////////////////////
if (!SD.begin(chipSelect)) { Serial.println("initialization failed, or not present"); return; } else { Serial.println("initialization done."); }
//////////////////////create/////////////
if (SD.exists("example.txt")) { Serial.println("example.txt exists."); } else { Serial.println("example.txt doesn't exist."); Serial.println("Creating example.txt..."); myFile = SD.open("example.txt", FILE_WRITE); myFile.close(); if (SD.exists("example.txt")) { Serial.println("example.txt create success!"); } else { Serial.println("example.txt create failed!"); return; } } /////////////////////////write//////////////////////// myFile = SD.open("example.txt", FILE_WRITE); if (myFile) { Serial.println("Writing to example.txt...");
// myFile.println("testing 1, 2, 3.");
myFile.close(); Serial.println("done."); } else { Serial.println("error opening example.txt"); } ////////////////////////read///////////////////////// myFile = SD.open("example.txt"); if (myFile) { Serial.println("read example.txt:"); while (myFile.available()) { Serial.write(myFile.read()); } myFile.close(); } else { Serial.println("error opening example.txt"); } ///////////////////////Removing//////////////////////////
/*Serial.println("Removing example.txt...");
if(SD.remove("example.txt")) { Serial.println("success!."); } else { Serial.println("failed"); }
if (SD.exists("example.txt")){ Serial.println("Removing example.txt failed!."); } else { Serial.println("Removing example.txt success!"); } */ ////////////////////////////////////////////////
// myFile = SD.open("example.txt", FILE_WRITE);
// Serial.end(); //digitalWrite(5, LOW);
}
///////////////////////////////////////////////// /////////////////////////////////////////////////
void loop() {
while(1) { myFile = SD.open("example.txt", FILE_WRITE); while(Serial.available()) { inByte = Serial.read(); myFile.print(inByte); } myFile.close();
} }
</syntaxhighlight>
Software Serial sample program:
<syntaxhighlight lang="c">
- include <SD.h>
- include <NewSoftSerial.h>
File myFile; const int chipSelect = 10; NewSoftSerial mySerial(2, 3);
unsigned char inByte;
void setup() {
pinMode(6, OUTPUT); digitalWrite(6, LOW);
///////////////////UART////////////////////////
mySerial.begin(9600); Serial.begin(9600); Serial.println("Initializing SD card...");
////////////////////SD_INITIAL///////////////////////////
if (!SD.begin(chipSelect)) { Serial.println("initialization failed, or not present"); return; } else { Serial.println("initialization done."); }
//////////////////////create/////////////
if (SD.exists("example.txt")) { Serial.println("example.txt exists."); } else { Serial.println("example.txt doesn't exist."); Serial.println("Creating example.txt..."); myFile = SD.open("example.txt", FILE_WRITE); myFile.close(); if (SD.exists("example.txt")) { Serial.println("example.txt create success!"); } else { Serial.println("example.txt create failed!"); return; } } /////////////////////////write//////////////////////// myFile = SD.open("example.txt", FILE_WRITE); if (myFile) { Serial.println("Writing to example.txt...");
// myFile.println("testing 1, 2, 3.");
myFile.close(); Serial.println("done."); } else { Serial.println("error opening example.txt"); } ////////////////////////read///////////////////////// myFile = SD.open("example.txt"); if (myFile) { Serial.println("read example.txt:"); while (myFile.available()) { Serial.write(myFile.read()); } myFile.close(); } else { Serial.println("error opening example.txt"); } ///////////////////////Removing//////////////////////////
/*Serial.println("Removing example.txt...");
if(SD.remove("example.txt")) { Serial.println("success!."); } else { Serial.println("failed"); }
if (SD.exists("example.txt")){ Serial.println("Removing example.txt failed!."); } else { Serial.println("Removing example.txt success!"); } */ ////////////////////////////////////////////////
// myFile = SD.open("example.txt", FILE_WRITE);
// Serial.end(); //digitalWrite(5, LOW);
}
///////////////////////////////////////////////// /////////////////////////////////////////////////
void loop() {
while(1) { myFile = SD.open("example.txt", FILE_WRITE); while(mySerial.available()) { inByte = mySerial.read(); myFile.print(inByte); } myFile.close();
} } </syntaxhighlight>
FAQ
Please list your question here:
Support
If you have questions or other better design ideas, you can go to our forum to discuss or creat a ticket for your issue at linksprite support.
Resources
How to buy
Here to buy Shield With SD Card Slot V2.0 A for Arduino on store
See Also
Other related products and resources.
Licensing
This documentation is licensed under the Creative Commons Attribution-ShareAlike License 3.0 Source code and libraries are licensed under GPL/LGPL, see source code files for details.