Zitat von: opengeiger.de am 27. Mai 2024, 11:034 Brocken Flossi
#include <SPI.h>
#include <SD.h>
const int sdChipSelect = 10;
const String csvFileName = "data.csv";
File csvFile;
void setup()
{
Serial.begin(9600);
Serial.print("Init SD card... ");
if(!SD.begin(sdChipSelect)){
Serial.println("Card failed, or not present!");
// Programmablauf abbrechen durch Trap/Falle.
// Das Programm bleibt bei diesem Endlosschleife stehen...
while(1);
}
Serial.println("Card initialized.");
//SD.remove(csvFileName);
csvFile = SD.open(csvFileName, FILE_WRITE);
if(!csvFile){
Serial.println("File IO error!");
while(1);
}
csvFile.println("Millisekunden ab Start;Wert");
csvFile.flush();
}
void loop()
{
int out = A0;
int adcValue = 0;
unsigned long timeStart, timeStop, dt;
float volt;
pinMode(out, OUTPUT);
digitalWrite(out, LOW); // discharge
delay(1000);
digitalWrite(out, HIGH);
pinMode(out, INPUT);
delay(1000);
volt = 0;
timeStart = millis();
while (volt < 3.0)
{
adcValue = analogRead(out);
volt = (float) adcValue*5/1023.0;
timeStop = millis();
dt=(timeStop-timeStart)/1000.0;
Serial.print("V ");
Serial.println(volt);
delay(1000);
}
csvFile.print(millis());
csvFile.print(";");
csvFile.println(dt);
csvFile.flush();
Serial.print("Wert T ");
Serial.print(dt);
Serial.println("geschrieben.");
}
Seite erstellt in 0.179 Sekunden mit 19 Abfragen.