Sir I tried this one but i am not getting 100 sample per second. This way I was try to read one analog sensor data and store on memory card. Please check the code and output.
Code:
#include <SPI.h>
#include <SD.h>
#include <Wire.h> //for I2C Comm library.
#include "RTClib.h" //for RTC librarystrong text
RTC_DS1307 RTC; //RTC_DS1307 class object declaration
const int chipSelect = 53;
void setup()
{
Serial.begin(115200);
RTC.begin();
if (! RTC.isrunning())
Serial.println("RTC is running!");
RTC.adjust(DateTime(DATE, TIME));
while (!Serial)
{
;
}
Serial.print("Initializing SD card...");
if (!SD.begin(chipSelect))
{
Serial.println("Card failed, or not present");
while (1);
}
Serial.println("Card initialized.");
}
void loop()
{
Serial.println("Data LOG");
DateTime now = RTC.now();
String dataString = " ";
String dataStringa = " ";
String dataStringb = " ";
String dataStringc = " ";
String dataStringd = " ";
String dataStringe = " ";
String dataStringf = " ";
for (int i = 0; i <= 100; i++)
{
int sensor = analogRead(A0);
dataString = String(now.day(), DEC);
dataStringa = String(now.month(), DEC);
dataStringb = String(now.year(), DEC);
dataStringc = String(now.hour(), DEC);
dataStringd = String(now.minute(), DEC);
dataStringe = String(now.second(), DEC);
dataStringf += String(sensor);
dataStringf += ",";
}
File dataFile = SD.open("mon.txt", FILE_WRITE);
if (dataFile)
{
// dataFile.println("Data Log");
dataFile.print(dataString);
dataFile.print('/');
dataFile.print(dataStringa);
dataFile.print('/');
dataFile.print(dataStringb);
dataFile.print(' ');
dataFile.print(dataStringc);
dataFile.print(':');
dataFile.print(dataStringd);
dataFile.print(':');
dataFile.print(dataStringe);
dataFile.print('=');
dataFile.print(dataStringf);
dataFile.close();
Serial.print(dataString),Serial.print("/");
Serial.print(dataStringa),Serial.print("/");
Serial.print(dataStringb),Serial.print(" ");
Serial.print(dataStringc),Serial.print(":");
Serial.print(dataStringd),Serial.print(":");
Serial.print(dataStringe),Serial.print(" =");
Serial.print(dataStringf);
Serial.print(",");
}
else
{
Serial.println("error opening datalog.txt");
}
}
Output:
thanks
himanshu
