Sehr geehrter Damen und Herren,
dies ist mein erster Beitrag in einem Forum, deswegen hoffe ich, dass Sie meine fehlerhafte Problemschilderung entschuldigen. Auch mit dem Arduino selbst hab ich noch nicht so viel Erfahrung, weswegen ich auch meine schlechte Programmierschreibweise entschuldige.
Mein Problem ist folgendes: Ich möchte mit einem Arduino UNO R3 eine SD Card Modul ansteuern und eine txt Datei erstellen, in welcher Zahlen und Buchstarben gespeichert werden.
Dazu habe ich einen Quellcode geschrieben, welcher einmal überprüft ob die SD Card sich im Modul befindet und dann eine txt Datei erstellt und mit einfachen Daten füllt. Leider erkennt das Programm die SD Card, schreibt aber nicht die txt Datei hinein. Meine Hardware sollte korrekt sein, da ja die SD Card gefunden wird. Auch alle Kabel habe ich überprüft.
Falls es aber an der SD Card selbst liegt, wäre das für mich eine wichtige Information, da ich nicht weiß ob jede SD Card mit einem Arduino kompatibel ist. Es handelt sich hierbei um eine Lexar Micro SD Karte 64GB (UHS-I, U3, A1, V30, C10, 4K UHD microSDXC Memory Card). Ich habe die SD Card vorher am Laptop Formatiert.
Falls es am Quellcode liegt, bin ich offen für Verbesserungen. Ich bedanke mich für Ihre Hilfe und hoffe, dass ich bald weiterkomme.
CS = Pin 10
QUELLCODE::::>
/*
SD card test
This example shows how use the utility libraries on which the'
SD library is based in order to get info about your SD card.
Very useful for testing a card when you're not sure whether its working or not.
The circuit:
* SD card attached to SPI bus as follows:
** MOSI - pin 11 on Arduino Uno/Duemilanove/Diecimila
** MISO - pin 12 on Arduino Uno/Duemilanove/Diecimila
** CLK - pin 13 on Arduino Uno/Duemilanove/Diecimila
** CS - depends on your SD card shield or module.
Pin 4 used here for consistency with other Arduino examples
*/
// include the SD library:
#include <SPI.h>
#include <SD.h>
File Textdatei;
// Diese Befehle sind die Einzigen, wo ich nicht weiß, wofür sie da sind
Sd2Card card;
SdVolume volume;
SdFile root;
const int chipSelect = 10;
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(9600);
pinMode(10, OUTPUT);
digitalWrite(10, HIGH);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
Serial.print("\nInitializing SD card...");
// we'll use the initialization code from the utility libraries
// since we're just testing if the card is working!
if (!card.init(SPI_HALF_SPEED, chipSelect)) {
Serial.println("initialization failed. Things to check:");
Serial.println("* is a card inserted?");
Serial.println("* is your wiring correct?");
Serial.println("* did you change the chipSelect pin to match your shield or module?");
return;
} else {
Serial.println("Wiring is correct and a card is present.");
}
//=====================================================================================
Serial.println("Initialisierung abgeschlossen");
if(!SD.begin(10))
{
Serial.println("Verbindung zur SD Karte fehlgeschlagen");
return;
}
Textdatei = SD.open("t.txt", FILE_WRITE); // An dieser Stelle wird die Textdatei erstellt.
if (Textdatei)
{ // Wenn die Textdatei ("test.txt") gefunden wurde....
Serial.println("Schreibe in Textdatei..."); // ... soll eine Meldung im seriellen Monitor erscheinen...
Textdatei.println("Funduino GmbH"); // ... und die Textdatei anschließend befüllt
Textdatei.println("1, 2, 3, 4, 5");
Textdatei.println("a, b, c, d, e");
Textdatei.println();
Textdatei.close(); // Anschließend wird die Textdatei wieder geschlossen...
Serial.println("Abgeschlossen.");
Serial.println();
}
else
{ // Wenn !keine! Textdatei gefunden werden kann ...
Serial.println("Textdatei konnte nicht ausgelesen werden");
}
//=====================================================================================
}
void loop(){
}