Hi!
I'm trying to get my code to write a matrix of numbers to an SD-card. The txt-file is generated, but it turns out empty. At the same time, a number of strange folders and files without a format appear on the SD card. The card is formatted, size 32 GB. I have arduino uno. I also tried to just write a string to the file, same result.
I'm following this template: https://www.arduino.cc/en/Tutorial/ReadWrite
The only difference is that I put it in the loop, and not the template, since I want it to continually write out numbers to the SD card. The matrix is renewed with a rand-function each time, that part works fine).
Here is the relevant part of my code:
#include <SPI.h>
#include <SD.h>
File mockDataGenerator;
[...]
void loop() {
[...]
mockDataGenerator = SD.open("MOCKDATA.txt", FILE_WRITE);
if (mockDataGenerator) {
Serial.print("Writing to MOCKDATA.txt...");
for (int k = 0; k < antDatapkt; k++)
{
for (int j = 0; j < antMaalepkt; j++)
{
mockDataGenerator.println(maalinger[k][j]);
}
}
mockDataGenerator.close();
Serial.println("Done.");
} else {
Serial.println("Couldn't open mockData.txt");
}
}
I didn't realize [...] was C++ code .
Ok sorry, I didn't think the rest of the code was relevant. This the entire code:
#include <SPI.h>
#include <SD.h>
File mockDataGenerator;
void setup() {
Serial.begin(9600);
while (!Serial) {
;
}
Serial.print("Initierer SD-kort...");
while (!SD.begin(10)) {
Serial.println("Initialization failed!");
}
Serial.println("Initialization done.");
delay(1000);
}
void loop() {
int antMaalepkt = 11;
int antDatapkt = 2;
long maalinger[antDatapkt][antMaalepkt];
long strom1;
long strom2;
long strom3;
long strom4;
long spenning1;
long spenning2;
long spenning3;
long temp;
long relativLuftfukt;
long atmTrykk;
long posisjon;
for (int i = 0; i <= antDatapkt; i++) {
strom1 = random(500, 1001);
maalinger[i][1] = strom1;
//Serial.println(strom1);
strom2 = random(500, 1001); // [A]
maalinger[i][2] = strom2;
strom3 = random(500, 1001); // [A]
maalinger[i][3] = strom3;
strom4 = random(500, 1001); // [A]
maalinger[i][4] = strom4;
spenning1 = random(210, 241); // [V]
maalinger[i][5] = spenning1;
spenning2 = random(210, 241); // [V]
maalinger[i][6] = spenning2;
spenning3 = random(210, 241); // [V]
maalinger[i][7] = spenning3;
temp = random(-40, 51); // [degrees C]
maalinger[i][8] = temp;
relativLuftfukt = random(20, 101); // [%]
maalinger[i][9] = relativLuftfukt;
atmTrykk = random(30, 102); // [kPa]
maalinger[i][10] = atmTrykk;
posisjon = random(0, 2); // 0 = right, 1 = left
maalinger[i][11] = posisjon;
}
mockDataGenerator = SD.open("MOCKDATA.txt", FILE_WRITE);
if (mockDataGenerator) {
Serial.print("Skriver til MOCKDATA.txt...");
for (int k = 0; k < antDatapkt; k++)
{
for (int j = 0; j < antMaalepkt; j++)
{
mockDataGenerator.println(maalinger[k][j]);
}
}
mockDataGenerator.close();
Serial.println("Done.");
} else {
Serial.println("Couldn't open mockData.txt");
}
}
It didn't accept my filename, apparently. Renamed it myfile, case solved.