Stap 4: Instellen van de MicroSD Breakout Board
--5V pin op de Arduino 5V pin
--Gemalen op grond van de Arduino pin
--Klok pin op de Arduino pin13
--Aan Arduino pin12 spelden
--DI pin op de Arduino pin11
--CS pin op de Arduino pin10
Nu zult u wilt openen een voorbeeld uit de SD kaart bibliotheek, die wordt geleverd met Arduino. Wij zullen controleren of onze MicroSD breakout board is goed bekabeld, en als de SD card is geformatteerd correct met de schets van de CardInfo. Voordat u de code naar de Arduino uploadt, zorg ervoor dat u een regel code wijzigen. De chipSelect pin moet zijn ingesteld op 10, niet 4.
Const int chipSelect = 10;
Uploaden van de code naar de Arduino en zet de seriële monitor. Als uw seriële monitor u een bericht geeft dat het kan de kaart niet initialiseren, proberen te FAT32 of FAT16 formatteren met behulp van Schijfhulpprogramma sollicitaties. Als u nog problemen hebt, volg de stappen in het leerprogramma van Adafruit.
Volgende laten we zien als we naar onze SD-kaart bestanden kunnen schrijven. In het voorbeeld van de bestanden van de SD-bibliotheek te openen. Zorg ervoor dat chipSelect op gelijke 10, niet 4 wijzigen. Uploaden van de code en zet de seriële monitor. Met succes maakt en verwijdert u het bestand voorbeeld.txt dan gefeliciteerd, je in staat om te schrijven naar een SD-kaart.
Vervolgens willen we zien als we de Arduino te slaan onze GPS lezingen op de SD-kaart kunnen krijgen. Je Arduino van de computer loskoppelt. Zet de GPS-module terug in plaats. Om zowel de GPS en de MicroSD kaart breakout board verbinden met 5V en Ground op de Arduino, zullen we willen de kracht en de grond brengen met het breadboard en verbind deze vervolgens met elke module.
Nu, het uploaden van de volgende code aan uw Arduino. Het is het beste als de Arduino is terug uit op de richel van uw venster zodat kunt u een GPS-lezing. U kunt controleren om te zien wat er gebeurt door het openen van de seriële monitor, maar zorg ervoor om te wijzigen de baud-rate aan 115200 of anders de tekens zal niet veel zin te maken. U moet zien rijen van drie waarden. Eerst de lengtegraad coördineren, vervolgens de latitude-coördinaat, en ten slotte de unix timestamp.
#include "Wire.h"
#include "SD.h"
#include "SoftwareSerial.h"
#include "TinyGPS.h"
#include "RTClib.h"
Const int chipSelect = 10;
RTC_Millis RTC;
Bestand dataFile;
TinyGPS gps;
SoftwareSerial ss (3, 4);
VOID Setup
{
Serial.begin(115200);
Serial.Print ("initialiseren SD card...");
SS.begin(9600);
pinMode (chipSelect, OUTPUT);
RTC.adjust (DateTime (__DATE__, __TIME__));
Zie als de kaart aanwezig is en kan worden geïnitialiseerd:
if (!. SD.begin(chipSelect)) {}
Serial.println ("kaart mislukte of niet aanwezig");
Doe niets meer:
terwijl (1);
}
Serial.println ("kaart geïnitialiseerd.");
Open het bestand gaan wij aan te melden!
dataFile = SD.open ("GPStest.txt", FILE_WRITE);
Als (! dataFile) {}
Serial.println ("fout bij openen GPStest.txt");
Voor eeuwig wachten, omdat wij niet het schrijven van gegevens
terwijl (1);
}
}
void loop
{
DateTime nu = RTC.now();
BOOL newData = false;
voor (niet-ondertekende lange start = millis(); millis() - start < 1000;)
{
terwijl (ss.available())
{
char c = ss.read();
Serial.write(c); uncomment deze regel als u wilt zien de GPS gegevens stromen
Als (gps.encode(c)) / / kwam een nieuwe geldige zin?
newData = true;
}
}
Als (newData)
{
float plat, flon;
niet-ondertekende long leeftijd;
int. jaar;
byte maand, dag, uur, minuut, seconde honderdsten;
GPS.f_get_position (flat, flon, & leeftijd);
GPS.crack_datetime (& jaar & maand, & dag & uur, minuut, & tweede, & honderdsten, & leeftijd);
char sz [32];
sprintf (sz, "% 02d/%02d/%02d, % 02d: % 02d: % 02d,",
maand, dag, jaar, uur, minuut, seconde);
Serial.Print("");
Serial.Print (flon TinyGPS::GPS_INVALID_F_ANGLE ==? 0.0: flon, 6);
Serial.Print (",");
Serial.Print (vlakke == TinyGPS::GPS_INVALID_F_ANGLE? 0.0: plat, 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 (vlakke == TinyGPS::GPS_INVALID_F_ANGLE? 0.0: plat, 6);
dataFile.print (",");
dataFile.println(now.unixtime());
}
dataFile.flush();
delay(500);
}
Nu haal je Arduino en verwijder de MicroSD-kaart uit de breakout board. Zoek de SD card-adapter en het invoegen van uw computer, of met een kaartlezer rechtstreeks hebt u een SD kaartslot. Zien of er een tekstbestand genaamd GPSTEST. TXT. Als er, yay! Zo niet, dan zou ik proberen het opnieuw formatteren van uw kaart en probeert te schrijven naar het weer. Open het tekstbestand en controleer of dat de gegevens heeft geschreven. Soms het bestand wordt gemaakt, maar geen gegevens wordt opgeslagen, en als dit uw zaak, Controleer uw bedrading, en probeer het volgende LadyAda van SD kaart tutorials.