#include <SPI.h>
#include <SD.h>
#include <LiquidCrystal_I2C.h>
File thisFile;
const int SD_CardSelect = 5; // CS-Pin of the SD-Card
LiquidCrystal_I2C lcd(0x27, 20, 4);
void setup()
{
lcd.init();
lcd.backlight();
SD_Setup(SD_CardSelect);
//Testing
SD_WriteFile("Data.txt", "TestData");
}
void loop(){}
bool SD_Setup(int sd_Connection)
{
if(SD.begin(sd_Connection))
{
Serial.println("Connected to SD");
Serial.println("Card Type: " + (String)SD.cardType()); // Prints 2
return true;
}
else{
Serial.println("Connection to SD failed. \n- Card Inserted?");
return false;
}
}
bool SD_WriteFile(String file, String data)
{
Serial.println("File exists: " + (String)SD.exists(file));
// Open File for Write
Serial.println("OF 1");
lcd.setCursor(0,0);
lcd.println("OF 1");
thisFile = SD.open(file,FILE_WRITE);
Serial.println("OF 2");
lcd.setCursor(10,0);
lcd.println("OF 2");
if(!thisFile)
{
lcd.setCursor(0,1);
lcd.println("Can't open: " + file);
Serial.println("Can't open File: " + file);
return false; // Return when File not opened
}
// Write to File
Serial.println("WF 1");
lcd.setCursor(0,2);
lcd.println("WF 1");
thisFile.print(data);
Serial.println("WF 2");
lcd.setCursor(10,2);
lcd.println("WF 2");
thisFile.close();
lcd.setCursor(0,3);
Serial.println("CF");
return true;
}