Hİ guys firstly it is my code
#define Grove_Water_Sensor 8 // Attach Water sensor to
Arduino Digital Pin 8
#define LED 9 // Attach an LED to Digital Pin 9 (or use
onboard LED)
#include <SPI.h>
#include <SD.h>
const int GSR=A1;
int sensorValue=0;
int gsr_average=0;
const int chipSelect = 10;
File dataFile;
void setup() {
/*
Serial.begin(9600);
while (!Serial) {
;
}*/
pinMode(Grove_Water_Sensor, INPUT); // The Water Sensor is an Input
pinMode(LED,OUTPUT); // The LED is an Output
Serial.begin(9600);// open serial port, set the baud rate to 9600 bps
while (!Serial) {
;
}
Serial.print("Initializing SD card...");
// make sure that
the default chip select pin is set to
// output, even if
you don't use it:
pinMode(10, OUTPUT);
// 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:
while (1) ;
}
Serial.println("card initialized.");
// Open up the file
we're going to log to!
dataFile =SD.open("datalog.txt", FILE_WRITE);
if (! dataFile) {
Serial.println("error opening datalog.txt");
// Wait forever
since we cant write data
while (1) ;
}
}
void loop() {
String dataString ="";
long sum=0;
for(int i=0;i<10;i++) //Average the 10 measurements to remove the glitch
{
sensorValue=analogRead(GSR);
sum += sensorValue;
delay(20);
}
gsr_average =
sum/10;
Serial.print("GSR ");
Serial.print(gsr_average);
dataString +="GSR " + String(gsr_average);
int sensorValue;
sensorValue =
analogRead(0);
Serial.print(",");
Serial.print("STEAM ");
Serial.print(sensorValue); //print the value to serial
dataString +=", STEAM " + String(sensorValue);
delay(20);
if(digitalRead(Grove_Water_Sensor) == LOW) {digitalWrite(LED,LOW);
Serial.print(",");
Serial.print("WATER ");
Serial.println(LOW);
dataString +=", WATER " + String("LOW");
}else {
digitalWrite(LED,HIGH);
Serial.print(",");
Serial.print("WATER ");
Serial.println(HIGH);
dataString +=", WATER " + String("HIGH");
}
/*
StringgroveWaterSensorValue = (digitalRead(Grove_Water_Sensor) ==LOW?"LOW":"HIGH");
digitalWrite(LED,groveWaterSensorValue);
Serial.print(",");
Serial.print("WATER ");
Serial.println(groveWaterSensorValue);dataString +=", WATER " +String(groveWaterSensorValue);
*/
dataString +="\n";
dataFile.println(dataString);
dataFile.flush();
delay(20);
}
I can initliaze my sd card and i can open a file for writing data but file is empty but sometimes it is working can you help me pleas