Mörker karta Data insamling enhet (4 / 6 steg)
Steg 4: Ställ in MicroSD Breakout styrelsen
--5V stift till Arduino 5V stift
--Marken till Arduino marken pin
--Klockan stift till Arduino's pin13
--Pin till Arduino pin12
--DI pin till Arduino pin11
--CS stift till Arduino pin10
Nu ska du öppna ett exempel från SD kortet biblioteket, som kommer med Arduino. Vi kommer att kontrollera om vår MicroSD breakout styrelse är trådbunden upp ordentligt och i SD-kortet är formaterat korrekt använder CardInfo skissen. Innan du överför koden till Arduino, se till att du ändrar en kodrad. ChipSelect PIN-koden ska anges till 10, inte 4.
CONST int chipSelect = 10;
Ladda upp koden till Arduino och aktivera följetong bildskärmen. Om din följetong monitor ger dig ett meddelande att det inte går att initiera kortet, prova omformateringen till FAT32 eller FAT16 använder din Disk Utility program. Om du har ytterligare problem, Följ stegen i Adafruit tutorial.
Nästa låt oss se om vi kan skriva filer till våra SD-kort. Öppna filer exemplet från SD biblioteket. Se till att ändra chipSelect till lika 10, inte 4. Ladda upp koden och aktivera följetong bildskärmen. Om det lyckas skapar och tar bort den example.txt filen så Grattis, du kan skriva till ett SD-kort.
Nästa vill vi se om vi kan få Arduino att spara våra GPS avläsningar till SD-kortet. Koppla bort din Arduino från datorn. Sätt tillbaka GPS-modulen. För att ansluta både GPS och MicroSD-kort breakout styrelsen till 5V och marken på Arduino, vill vi få makt och marken till bakbord, och sedan ansluta den till varje modul.
Nu, ladda upp följande kod till din Arduino. Det är bäst om Arduino är tillbaka ut på dina fönster avsats så du kan få en GPS läsning. Du kan kontrollera för att se vad som händer genom att öppna den seriella bildskärmen, men se till att ändra överföringshastigheten till 115200 eller annat tecken inte kommer vettigt. Du ska få se rader av tre värden. Först longituden samordna nästa latitude koordinaten, och slutligen unix-tidsstämpel.
#include "Wire.h"
#include "SD.h"
#include "SoftwareSerial.h"
#include "TinyGPS.h"
#include "RTClib.h"
CONST int chipSelect = 10;
RTC_Millis RTC;
Fil dataFile;
TinyGPS gps;
SoftwareSerial ss (3, 4);
void setup()
{
Serial.BEGIN(115200);
Serial.Print ("initiera SD-kortet...");
SS.BEGIN(9600);
pinMode (chipSelect, produktionen);
RTC.adjust (DateTime (__DATE__, __TIME__));
se om kortet är närvarande och kan initieras:
IF (!. SD.begin(chipSelect)) {
Serial.println ("kort misslyckades, eller inte finns");
inte göra något mer:
samtidigt (1).
}
Serial.println ("kort initierats.");
Öppna filen vi ska logga in!
dataFile = SD.open ("GPStest.txt", FILE_WRITE);
om (! dataFile) {
Serial.println ("fel öppna GPStest.txt");
Vänta för evigt eftersom vi inte skriva data
samtidigt (1).
}
}
void loop()
{
DateTime nu = RTC.now();
bool newData = false;
för (osignerade långa start = millis(); millis() - start < 1000;)
{
samtidigt (ss.available())
{
char c = ss.read();
Serial.write(c); avkommentera den här raden om du vill se GPS data flödar
om (gps.encode(c)) / / kom en ny giltig mening?
newData = sant;
}
}
om (newData)
{
float platt, flon;
osignerade långa ålder;
int år.
byte månad, dag, timme, minut, sekund, hundradelar;
GPS.f_get_position (& platt, och flon, och ålder);
GPS.crack_datetime (& år, & månad & dag, & timme, & minut, & andra, & hundradelar, och ålder);
char sz [32];
sprintf (sz, "% 02d/%02d/%02d, % 02d: % 02d: % 02d,",
månad, dag, år, timme, minut, sekund);
Serial.Print("");
Serial.Print (flon == TinyGPS::GPS_INVALID_F_ANGLE? 0,0: flon, 6);
Serial.Print (",");
Serial.Print (platt == TinyGPS::GPS_INVALID_F_ANGLE? 0,0: platt, 6);
Serial.Print (",");
Serial.println(Now.unixtime());
dataFile.print("");
dataFile.print (flon == TinyGPS::GPS_INVALID_F_ANGLE? 0,0: flon, 6);
dataFile.print (",");
dataFile.print (platt == TinyGPS::GPS_INVALID_F_ANGLE? 0,0: platt, 6);
dataFile.print (",");
dataFile.println(now.unixtime());
}
dataFile.flush();
Delay(500);
}
Nu koppla ur din Arduino och mata ut MicroSD-kortet från breakout styrelsen. Hitta den SD kort adaptern och infoga den i din dator, antingen med en kortläsare eller direkt om du har en SD-kortplats. Se om det finns en text arkivera alarmerat GPSTEST. TXT. Om det finns, yay! Om inte, då jag skulle försöka omformatering ditt kort och försöker skriva till dem igen. Öppna textfilen och kontrollera att data som har skrivits. Skapas ibland filen men inga uppgifter får sparas, och om detta är ditt fall, kontrollera ditt ledningar och försök följande LadyAda SD kort handledning.