int analogPin = 34; int val = 0; float R1 = 10000; float logR2, R2, Temp; float c1 = 1.009249522e-03, c2 = 2.378405444e-04, c3 = 2.019202697e-07; float Min; float Max; float total; float average; float totalAverage; float Time; // variable setup void setup() { Serial.begin(115200); delay(100); } void loop() { totalAverage = 0; for(int i = 0; i < 144; i++){ // for loop that runs once every 10 minutes Min = 999999; Max = 0; total = 0; for(int j = 0; j < 600; j++){ // for loop that runs every second val = analogRead(analogPin); float val_t = (float)val - 1; R2 = R1 * (1023.0 / val_t); logR2 = log(R2); Temp = (1.0 / (c1 + c2 * logR2 + c3 * logR2 * logR2 * logR2)); Temp = Temp - 273.15; Temp = (Temp * 9.0)/5.0 + 32.0; Temp = Temp - 31; // calculation to convert temp readings to degrees fahrenheit if(Temp < Min){ // if statements set min and max values Min = Temp; } if(Temp > Max){ Max = Temp; } total += Temp; delay(1000); } average = total/600; Serial.print("Minimum Temp: "); // temp statistics print once every 10 minutes Serial.print(Min); Serial.println(" F"); Serial.print("Maximum Temp: "); Serial.print(Max); Serial.println(" F"); Serial.print("Average Temp: "); Serial.print(average); Serial.println(" F"); Serial.print("Time: "); Time = millis(); // millis() used to print the time passed after each 10 minute interval Time = Time/3600000; Serial.print(Time); Serial.println(" hours"); totalAverage += average; } totalAverage = totalAverage/144; Serial.print("Total average: "); // total average prints after 24 hours Serial.print(totalAverage); Serial.println(" F"); delay(100); }