Skip to main content

Kalibracja czujnika wilgotności DHT22 (AM2302) – 1/2

W pierwszej części wpisu przedstawię sposób kalibracji czujnika DHT22 stosując drugi czujnik (referencyjny), w moim przypadku SHT31-D, któremu mocno ufam 😉

Dokładność sensorów:

Czujnik Dokładność Jednostka
SHT31-D ±2 %RH
DHT22 ±5 %RH

Do wyliczeń użyłem danych z 24h (interwał 1 min), które miałem zapisane w bazie danych.
Obliczyłem średnią różnicę między wskazaniami i wyliczyłem współczynnik korygujący poniższym zapytaniem SQL:

SELECT AVG(sht_hum) / AVG(hum_out) AS gain
FROM weather_pms
WHERE dt BETWEEN '2018-05-29 21:00:00' AND '2018-05-30 21:00:00'

Dla jasności, pole sht_hum przechowuje wskazania z czujnika SHT, a pole hum_out z DHT.

W wyniku otrzymałem:

1.159184536790648

Teraz już wystarczy wyliczony współczynnik przemnożyć przez wartość wilgotności odczytaną z DHT22 i otrzymamy wynik zbliżony do naszego czujnika referencyjnego.

Poniżej zamieszczam przykładowy kod w PHP, który dodatkowo sprawdza, czy nie doszło do przekroczenia granicy 100% RH.

function readHum($rh) {
  $rh = $rh * 1.16;
  return $rh > 100 ? 100 : $rh;
}

echo readHum(50); // otrzymamy 58

Poniżej przygotowałem wykres, który przedstawia wskazania czujnika referencyjnego i kalibrowanego.

W następnej części wpisu przedstawię sposób kalibracji czujnika bez użycia czujnika referencyjnego, za pomocą roztworu soli.

markac

Full-stack Web Developer

One thought to “Kalibracja czujnika wilgotności DHT22 (AM2302) – 1/2”

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.