Минимум, максимум и среднее

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

Продвинутый уровень Arduino Uno C++
Схема подключения: Минимум, максимум и среднее
Схема в симуляторе. Нажмите «Открыть в симуляторе», чтобы запустить её и поменять.

Что понадобится

Как подключить

ОткудаКуда
Arduino Uno5V→DHT11VCC
Arduino UnoGND→DHT11GND
Arduino UnoD2→DHT11DATA

Скетч

#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»

Попробуйте сами

Симулятор работает прямо в браузере: схему можно менять, код — править, а результат видно сразу. Бесплатно, без установки и регистрации.

Открыть «Минимум, максимум и среднее» в симуляторе