/**10K@25℃ NTC thermistor connected in series with a 10K resistor**/
#include <SD.h>
#define CS_PIN 10
String filename = "Analysis_Script.txt";
File curFile;
void setup() {
Serial.begin(9600);
if (!SD.begin(CS_PIN)) {
Serial.println("FAILED");
while (true);
}
}
void loop() {
/**Analog signal to temperature value**/
int tempValue = analogRead(A0);
float temperature = 1 / (log(1 / (1023. / tempValue - 1)) / 3950 + 1.0 / 298.15) - 273.15;
Serial.print("Current Temperature = ");
Serial.print(temperature);
Serial.println(" C");
/**Save temperature's output into SD card**/
curFile = SD.open(filename, FILE_WRITE);
if (curFile) {
curFile.println(temperature);
curFile.close();
} else {
Serial.println("Error writting to file");
}
/**Read temperature logs and return average result**/
curFile = SD.open(filename, FILE_READ);
if (curFile) {
float tempSum = 0.0;
int tempCount = 0;
while (curFile.available()) {
tempSum += curFile.readStringUntil('\n').toFloat();
tempCount++;
}
curFile.close();
Serial.print("Average Temperature = ");
Serial.print(tempSum / tempCount);
Serial.println(" C \n");
} else {
Serial.println("Error reading from file");
}
delay(2000);
}