Минимум, максимум и среднее
Плата копит статистику за сеанс: крайние значения и скользящее среднее.

Что понадобится
Как подключить
| Откуда | Куда | |||
|---|---|---|---|---|
| Arduino Uno | 5V | → | DHT11 | VCC |
| Arduino Uno | GND | → | DHT11 | GND |
| Arduino Uno | D2 | → | DHT11 | DATA |
Скетч
#include <DHT.h>
// Копим статистику по температуре: минимум, максимум и среднее по 10
// последним измерениям (кольцевой буфер — классика для датчиков).
DHT dht(2, DHT11);
const int N = 10;
float buf[N];
int count = 0;
int pos = 0;
float tMin = 1000;
float tMax = -1000;
void setup() {
dht.begin();
Serial.begin(9600);
}
void loop() {
float t = dht.readTemperature();
if (t < tMin) tMin = t;
if (t > tMax) tMax = t;
buf[pos] = t;
pos = (pos + 1) % N;
if (count < N) count++;
float sum = 0;
for (int i = 0; i < count; i++) sum += buf[i];
Serial.print("сейчас "); Serial.print(t);
Serial.print(" среднее "); Serial.print(sum / count);
Serial.print(" мин "); Serial.print(tMin);
Serial.print(" макс "); Serial.println(tMax);
delay(1000);
}
Коротко о детали: DHT11
Цифровой датчик температуры и влажности. Отдаёт уже готовые значения по однопроводному протоколу, опрашивать его чаще раза в секунду бессмысленно. В симуляторе температура и влажность задаются двойным кликом по компоненту.
Ещё примеры с деталью «DHT11»
Попробуйте сами
Симулятор работает прямо в браузере: схему можно менять, код — править, а результат видно сразу. Бесплатно, без установки и регистрации.
Открыть «Минимум, максимум и среднее» в симуляторе