der Code ist wirklich easy. Ich hatte Ihn bereits ähnlich aufgebaut. Dies funktionierte allerdings nicht.
Anbei ist mein bisher sehr einfach gehaltener und leider Kommentarloser Code den ich nutze.
LED_G an PIN 7 soll bei 0 bzw. 1 angesteuert werden.
LED_R an PIN 8 zeigt das Auslesen der SD Card an.
#include <SPI.h>
#include <SD.h>
File Text;
int LED_R = 8;
int LED_G =7;
int Taster = 2;
int Status = 0;
void setup()
{
Serial.begin(9600);
while (!Serial)
Serial.print("Initializing SD card...");
pinMode(10, OUTPUT);
pinMode(LED_R, OUTPUT);
pinMode(LED_G, OUTPUT);
pinMode(Taster, INPUT);
if (!SD.begin(4)) {
Serial.println("initialization failed!");
return;
}
Serial.println("initialization done.");
}
void loop() {
Status = digitalRead(Taster);
if (Status == HIGH) {{
Text = SD.open("test_1.txt", FILE_READ);
}
if (Text) {
Serial.println("test_1.txt:");
while (Text.available()) {
Serial.write(Text.read());
digitalWrite(LED_R, HIGH);
delay(100);
digitalWrite(LED_R, LOW);
delay(100);
}
Text.close();
digitalWrite(LED_R, LOW);
delay(5000);
} else {
Serial.println("Fehler beim öffnen von test_1.txt");
digitalWrite(LED_R, LOW);
}
}else {
Serial.println("Taster deaktiv");
digitalWrite(LED_R, LOW);
}
}