int analogPin = 35; unsigned long myTime = 0; unsigned int temperature = 0; int numReadings = 0; float temperatureSum = 0; float minTemperature; float maxTemperature = 0; float averageTemperature = 0; float rollingAverage = 0; const int BUFFER_SIZE = 10; float temperatureBuffer[BUFFER_SIZE]; int bufferIndex = 0; int val1 = 0; int val2 = 0; int val3 = 0; int val4 = 0; int val5 = 0; int val6 = 0; int val7 = 0; int val8 = 0; int val9 = 0; int val10 = 0; int val11 = 0; int val12 = 0; int val13 = 0; int val14 = 0; int val15 = 0; int val16 = 0; int val17 = 0; int val18 = 0; int val19 = 0; int val20 = 0; int val21 = 0; int val22 = 0; int val23 = 0; int val24 = 0; int val25 = 0; int val26 = 0; int val27 = 0; int val28 = 0; int val29 = 0; int val30 = 0; int val31 = 0; int val32 = 0; int val33 = 0; int val34 = 0; int val35 = 0; int val36 = 0; int val37 = 0; int val38 = 0; int val39 = 0; int val40 = 0; int val41 = 0; int val42 = 0; int val43 = 0; int val44 = 0; int val45 = 0; int val46 = 0; int val47 = 0; int val48 = 0; int val49 = 0; int val50 = 0; int val51 = 0; int val52 = 0; int val53 = 0; int val54 = 0; int val55 = 0; int val56 = 0; int val57 = 0; int val58 = 0; int val59 = 0; int val60 = 0; int val61 = 0; int ThermistorPin = 0; int Vo; float R1 = 22000; float logR2, R2, T; float c1 = 1.009249522e-03, c2 = 2.378405444e-04, c3 = 2.019202697e-07; void setup() { // put your setup code here, to run once: Serial.begin(115200); } void loop() { val1 = analogRead(analogPin); delay(1000); val2 = analogRead(analogPin); delay(1000); val3 = analogRead(analogPin); delay(1000); val4 = analogRead(analogPin); delay(1000); val5 = analogRead(analogPin); delay(1000); val6 = analogRead(analogPin); delay(1000); val7 = analogRead(analogPin); delay(1000); val8 = analogRead(analogPin); delay(1000); val9 = analogRead(analogPin); delay(1000); val10 = analogRead(analogPin); delay(1000); val11 = analogRead(analogPin); delay(1000); val12 = analogRead(analogPin); delay(1000); val13 = analogRead(analogPin); delay(1000); val14 = analogRead(analogPin); delay(1000); val15 = analogRead(analogPin); delay(1000); val16 = analogRead(analogPin); delay(1000); val17 = analogRead(analogPin); delay(1000); val18 = analogRead(analogPin); delay(1000); val19 = analogRead(analogPin); delay(1000); val20 = analogRead(analogPin); delay(1000); val21 = analogRead(analogPin); delay(1000); val22 = analogRead(analogPin); delay(1000); val23 = analogRead(analogPin); delay(1000); val24 = analogRead(analogPin); delay(1000); val25 = analogRead(analogPin); delay(1000); val26 = analogRead(analogPin); delay(1000); val27 = analogRead(analogPin); delay(1000); val28 = analogRead(analogPin); delay(1000); val29 = analogRead(analogPin); delay(1000); val30 = analogRead(analogPin); delay(1000); val31 = analogRead(analogPin); delay(1000); val32 = analogRead(analogPin); delay(1000); val33 = analogRead(analogPin); delay(1000); val34 = analogRead(analogPin); delay(1000); val35 = analogRead(analogPin); delay(1000); val36 = analogRead(analogPin); delay(1000); val37 = analogRead(analogPin); delay(1000); val38 = analogRead(analogPin); delay(1000); val39 = analogRead(analogPin); delay(1000); val40 = analogRead(analogPin); delay(1000); val41 = analogRead(analogPin); delay(1000); val42 = analogRead(analogPin); delay(1000); val43 = analogRead(analogPin); delay(1000); val44 = analogRead(analogPin); delay(1000); val45 = analogRead(analogPin); delay(1000); val46 = analogRead(analogPin); delay(1000); val47 = analogRead(analogPin); delay(1000); val48 = analogRead(analogPin); delay(1000); val49 = analogRead(analogPin); delay(1000); val50 = analogRead(analogPin); delay(1000); val51 = analogRead(analogPin); delay(1000); val52 = analogRead(analogPin); delay(1000); val53 = analogRead(analogPin); delay(1000); val54 = analogRead(analogPin); delay(1000); val55 = analogRead(analogPin); delay(1000); val56 = analogRead(analogPin); delay(1000); val57 = analogRead(analogPin); delay(1000); val58 = analogRead(analogPin); delay(1000); val59 = analogRead(analogPin); delay(1000); val60 = analogRead(analogPin); delay(1000); val61= (val1+val2+val3+val4+val5+val6+val7+val8+val9+val10+val11+val12+val13+val14+val15+val16+val17+val18+val19+val20+val21+val22+val23+val24+val25+val26+val27+val28+val29+val30+val31+val32+val33+val34+val35+val36+val37+val38+val39+val40+val41+val42+val43+val44+val45+val46+val47+val48+val49+val50+val51+val52+val53+val54+val55+val56+val57+val58+val59+val60)/60; if (millis() > (myTime + 600000)){ Serial.println("It has been 10 minutes"); myTime = millis(); } Vo = val61; R2 = R1 * (1023.0 / (float)Vo - 1.0); R2 = R2 * -1; logR2 = log(R2); T = (1.0 / (c1 + c2*logR2 + c3*logR2*logR2*logR2)); T = T - 273.15; T = (T * 9.0)/ 5.0 + 32.0; temperature = T; temperatureSum += temperature; numReadings++; temperatureBuffer[bufferIndex] = temperature; bufferIndex = (bufferIndex + 1) % BUFFER_SIZE; float rollingAverage = 0.0; if(numReadings == 10){ int averageTemperature = ((float)temperatureSum / numReadings); for (int i = 0; i < BUFFER_SIZE; i++) { rollingAverage += temperatureBuffer[i]; } rollingAverage /= BUFFER_SIZE; rollingAverage = rollingAverage; if(numReadings == 1){ minTemperature = averageTemperature; maxTemperature = averageTemperature; } else { if(averageTemperature < minTemperature){ minTemperature = averageTemperature; } if(averageTemperature > maxTemperature){ maxTemperature = averageTemperature; } } Serial.print("Rolling Average Temperature: "); Serial.print(rollingAverage); Serial.println(" F"); Serial.print("Average Temperature: "); Serial.print(averageTemperature); Serial.println(" F"); Serial.print("Minimum Temperature: "); Serial.print(minTemperature); Serial.println(" F"); Serial.print("Maximum Temperature: "); Serial.print(maxTemperature); Serial.println(" F"); temperatureSum = 0; numReadings = 0; } }