I’m sorry, I couldn’t be more descriptive because I didn’t really know what was wrong.
I’ve found the “solution” and this is the code:
/*
SD card datalogger
This example shows how to log data from three analog sensors
to an SD card using the SD library.
The circuit:
* analog sensors on analog ins 0, 1, and 2
* SD card attached to SPI bus as follows:
** MOSI - pin 11
** MISO - pin 12
** CLK - pin 13
** CS - pin 4
created 24 Nov 2010
modified 9 Apr 2012
by Tom Igoe
This example code is in the public domain.
*/
#include <SD.h>
// On the Ethernet Shield, CS is pin 4. Note that even if it's not
// used as the CS pin, the hardware CS pin (10 on most Arduino boards,
// 53 on the Mega) must be left as an output or the SD library
// functions will not work.
const int chipSelect = 10;
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
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:
return;
}
Serial.println("card initialized.");
char filename[16]; // make it long enough to hold your longest file name, plus a null terminator
int n = 0;
snprintf(filename, sizeof(filename), "data%03d.csv", n); // includes a three-digit sequence number in the file name
while(SD.exists(filename)) {
n++;
snprintf(filename, sizeof(filename), "data%03d.csv", n);
}
Serial.println(n);
Serial.println(filename);
//now filename[] contains the name of a file that doesn't exist
File dataFile = SD.open(filename, FILE_WRITE);
}
void loop()
{
}
The files are being created as I wanted. The problem is:
-
Since I’m using the function setup() to create them, I can’t use the “filename” to write in the loop();
-
If I use my logic inside of the function loop(), it creates a lot of files because it’s a loop and that’s not what I want.
Can I use a variable defined inside of setup(), to manage files inside of the function loop()?