0
我有一個由Sparkfun測量溫度的Arduino溫度計。這非常精確,但我需要更多的平均水平。Arduino的平均溫度
我正在使用的代碼是直接從Sparkfun(https://learn.sparkfun.com/tutorials/sik-experiment-guide-for-arduino---v32/experiment-7-reading-a-temperature-sensor)
const int temperaturePin = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
float voltage, degreesC, degreesF;
voltage = getVoltage(temperaturePin);
degreesC = (voltage - 0.5) * 100.0;
degreesF = degreesC * (9.0/5.0) + 32.0;
Serial.print("voltage: ");
Serial.print(voltage);
Serial.print(" deg C: ");
Serial.print(degreesC);
Serial.print(" deg F: ");
Serial.println(degreesF);
delay(1000);
}
float getVoltage(int pin)
{
return (analogRead(pin) * 0.004882814);
}
我期待得到一個閱讀每10秒的平均每分鐘,並拋出了異常,而不僅僅是什麼是每分鐘。例如,如果它在一分鐘內讀取65,64,66,67,65,44 ...它將平均前5個並拋出44個,平均爲65.4。
您可以通過首先執行[五位數摘要](https://en.wikipedia.org/wiki/Five-number_summary) – Charles
來計算哪些值是異常值。一種方法是丟棄最低和最高讀數,並將平均值休息。還有其他方法...谷歌?一個更復雜的方法是知道可能的溫度變化率,除此之外的任何變化必須*持續*一定數量的讀數。 –
問題是什麼? –