I've written a VERY short code to create a csv file in my SD card, using sd.h. It works perfectly, the file is created and I can write to it.
Then I copy and paste the code so it creates 12 different files it gets stuck, output into serial becomes gibberish, and NONE of the files are created anymore.
And what I found out, is that I can only create 5 csv files without problems. If I try to make my shield create 6 or more files, it cannot create ANY files at all.
How many files can I create with SD shield?
void setup() {
Serial.begin(9600);
Serial.print("SD Card initializing ");
pinMode(10,OUTPUT);
if (!SD.begin(10)) {Serial.println("Initialization failed!"); return;}
Serial.println("Initialization done!");
delay(2000);
myFile = SD.open("A.csv", FILE_WRITE);
if(myFile){
Serial.println("A.csv");}
else {Serial.println("A.csv failed.");}
myFile.close();
myFile = SD.open("B.csv", FILE_WRITE);
if(myFile){
Serial.println("B.csv");}
else {Serial.println("B.csv failed.");}
myFile.close();
myFile = SD.open("C.csv", FILE_WRITE);
if(myFile){
Serial.println("C.csv");}
else {Serial.println("C.csv failed.");}
myFile.close();
myFile = SD.open("D.csv", FILE_WRITE);
if(myFile){
Serial.println("D.csv");}
else {Serial.println("D.csv failed.");}
myFile.close();
myFile = SD.open("E.csv", FILE_WRITE);
if(myFile){
Serial.println("E.csv");}
else {Serial.println("E.csv failed.");}
myFile.close();
myFile = SD.open("F.csv", FILE_WRITE);
if(myFile){
Serial.println("F.csv");}
else {Serial.println("F.csv failed.");}
myFile.close();
myFile = SD.open("G.csv", FILE_WRITE);
if(myFile){
Serial.println("G.csv");}
else {Serial.println("G.csv failed.");}
myFile.close();
myFile = SD.open("H.csv", FILE_WRITE);
if(myFile){
Serial.println("H.csv");}
else {Serial.println("H.csv failed.");}
myFile.close();
myFile = SD.open("I.csv", FILE_WRITE);
if(myFile){
Serial.println("I.csv");}
else {Serial.println("I.csv failed.");}
myFile.close();
myFile = SD.open("J.csv", FILE_WRITE);
if(myFile){
Serial.println("J.csv");}
else {Serial.println("J.csv failed.");}
myFile.close();
myFile = SD.open("K.csv", FILE_WRITE);
if(myFile){
Serial.println("K.csv");}
else {Serial.println("K.csv failed.");}
myFile.close();
As you can see, the file creating subsection of each code is identical to the other. Oh yeah, all these code are in the setup, the faults are happening before I even got into the loop