Gå direkte til indhold
  • Sensorer

DHT11

DHT11 kan nemt måle temperatur og fugtighed

Lab
ITT Lab
Programområde
Digital
Placering

EK Guldbergsgade
Bygning E, lokale A448

Adgang til komponenten

Komponenten er kun tilgængelig for studerende på IT-teknolog-uddannelsen.

DHT11 er en billig temperatur og fugtighedsmåler, som kan måle rimelig nøjagtigt.

Den kan måle temperatur fra 0 til 50 grader med en svingning af 2 grader fra det rigtige resultat. Med fugt kan den måle 20-90% fugtighed med en fejl svingning af 5%.

Hvis man gerne vil opnå bedre resultater er det bedre at bruge DHT22.

Tekniske specifikationer

Operativ spænding 5 V
Temperatur 0-50 °C fejl med ± 2 °C
Fugtighed 20-90% RH ± 5% RH fejl
Sampling periode 1 sekund
Interface Digital

Pinout

Navn Funktion
VCC Positiv forsyning
GND Negativ forsyning
DO Output signal digital

Hvordan fungerer den?

På den måde som DHT11 virker er, at den er bygget på med 2 forskellige måleenheder.

For at måle fugt bliver der sendt strøm igennem et fugt holdene plade som normalt er salt eller andet ledende plastic polymer. Der bliver sendt strøm fra en ledende top elektrode igennem det fugt holdene plade og ned til den nedre ledende under elektrode. 

Jo fugtigere luften er som er blevet absorberet af den fugt holdene plade jo mindre modstand bliver der sat på kredsløbet. Omvendt hvis at der ikke er så meget fugt, bliver modstanden højere, hvilket ud fra dette kan den aktuelle luftfugtighed kan blive udregnet.

For at måle temperaturen bliver der benyttet sig af en NTC(Negative Temperature Coefficient) temperatur sensor/Termistor . 

Denne sensor fungerer lidt på samme måde som fugtighedsmåleren, men hvor at resistansen bliver højere jo koldere det lukkede system i termistoren er.

Der findes også termistore hvor at resistansen går ned når temperaturen går op, disse bliver kaldt for PTC (Positive Temperature Coefficient), der ofte bliver brugt til at lukke systemer ned hvis at der kommer for meget varme/effekt i et kredsløb.

Kodeeksempel

from machine import Pin
from time import sleep
import dht 
sensor = dht.DHT11(Pin(14))
while True:
  try:
    sensor.measure()
    temp = sensor.temperature()
    hum = sensor.humidity()
    print('Temperature: %3.1f C' %temp)
    print('Humidity: %3.1f %%' %hum)
    sleep(2)
  except OSError as e:
    print('Failed to read sensor.')