• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
AMEGA + karta sd zapis jednego rekordu
#4
Wgrałem Twój program i nieco go uporządkowałem.
Zmieniłem tylko dostęp do karty SD z pinu 53 na 10, bo testowałem na Arduino UNO.
Wszystko działa dobrze.

Poniżej screen z zapisanego pliku na karcie i oczywiście listing programu.

[Obrazek: karta_sd.jpg]

Kod programu:
Kod:
// ----------------------------------------------------------------------
// Karta SD
// ----------------------------------------------------------------------
#include <SPI.h>
#include <SD.h>

// Dla Arduino UNO ustawione: 10, dla Arduino MEGA ustawić: 53
const int chipSelect = 10;

// ----------------------------- SETUP ----------------------------------
void setup()
{
 // Open serial communications and wait for port to open:
 Serial.begin(9600);
 while (!Serial)
 {
   ; // wait for serial port to connect. Needed for native USB port only
 }

 Serial.print("Initializing SD card...");

 // see if the card is present and can be initialized:
 if (!SD.begin(chipSelect))
 {
   Serial.println("Card failed, or not present");
   // don't do anything more:
   return;
 }
 Serial.println("card initialized.");
}

// ------------------------------- LOOP ----------------------------------
void loop()
{
 // make a string for assembling the data to log:
 String dataString = "";

 // read three sensors and append to the string:
 for (int analogPin = 0; analogPin < 3; analogPin++)
 {
   int sensor = analogRead(analogPin);
   dataString += String(sensor);
   if (analogPin < 2)
   {
     dataString += ",";
   }
 }

 // open the file. note that only one file can be open at a time,
 // so you have to close this one before opening another.
 File dataFile = SD.open("datalog.txt", FILE_WRITE);

 // if the file is available, write to it:
 if (dataFile)
 {
   dataFile.println(dataString);
   dataFile.close();
   // print to the serial port too:
   Serial.println(dataString);
 }
 // if the file isn't open, pop up an error:
 else
 {
   Serial.println("error opening datalog.txt");
 }
}

Pozdrawiam,
ANT
Jeżeli pomogłem, to poproszę o punkt reputacji Big Grin
 
Odpowiedź
  


Wiadomości w tym wątku
RE: AMEGA + karta sd zapis jednego rekordu - przez ANT - 26-11-2017, 13:49

Skocz do:


Przeglądający: 1 gości