int ThermistorPin = 35; //setting variables int Vo; float R1 = 10000; float logR2, R2, T, Tc, Tf; float c1 = 1.009249522e-03, c2 = 2.378405444e-04, c3 = 2.019202697e-07; float average10min[145]; int i, t; float averageTemp; float totalAverage; float minimum = 100; float maximum; int length; void setup() { Serial.begin(9600); } void loop() { i++; //setting times to keep track for averages Vo = analogRead(ThermistorPin); //read voltage Serial.print (" Vo ="); //print voltage Serial.print(Vo); Serial.print(" mA"); R2 = R1 * (4096.0 / (float)Vo - 1.0); //Math for the temperature Serial.print("\t R2 ="); Serial.print(R2); logR2 = log(R2); Serial.print("\t logR2 ="); Serial.print(logR2); T = (1.0 / (c1 + c2 * logR2 + c3 * logR2 * logR2 * logR2)); Serial.print("\t T ="); //temperature in Kelvin Serial.print(T); Serial.print(" K"); Tc = T - 273.15; //Temperature conversion Tf = (Tc * 9.0)/ 5.0 + 32.0; length = millis(); length = length/1000; Serial.print("\t Temperature: "); //writing temperature in celcius and fahrenheit Serial.print(Tc); Serial.println(" C"); Serial.print("\t Temperature(F): "); Serial.print(Tf); Serial.println(" F"); averageTemp = averageTemp + Tf; //collecting values for 10 minute averages totalAverage = totalAverage + Tf; //collecting values for total average if (i==600){ averageTemp = averageTemp/600; average10min[t] = averageTemp; Serial.println(averageTemp); averageTemp = 0; t++; i = 0; } if (Tf < minimum){ minimum = Tf; } if (Tf > maximum){ maximum = Tf; } if (t==144){ totalAverage = totalAverage/86400; Serial.println("Total Average: "); Serial.print(totalAverage); Serial.print("Minimum Temperature: "); Serial.println(minimum); Serial.print("Maximum Temperature: "); Serial.println(maximum); for (int j = 0; j < 144; j++){ Serial.print("Average "); Serial.print(j); Serial.print(": "); Serial.print(average10min[j]); Serial.println(" F"); } delay(100000); } if (Serial.available() > 0){ char message = Serial.read(); if (message == '1'){ for (int j = 0; j < 145; j++){ Serial.print("Average "); Serial.print(j); Serial.print(": "); Serial.print(average10min[j]); Serial.println(" F"); } Serial.print("Minimum Temperature: "); Serial.println(minimum); Serial.print("Maximum Temperature: "); Serial.println(maximum); } else if (message == '2'){ Serial.print("Time since start: "); Serial.print(length); Serial.println(" Seconds"); } } delay(1000); }