Raspberry Pi Pico: Temperatursensoren DHT11, DHT22 und DS18B20 vergleichen

DHT11, DHT22 und DS18B20 sind beliebte digitale Temperatursensoren. Die beiden DHT11 und DHT22 können sogar die Luftfeuchtigkeit messen. Wir wollen hier aber nur die Temperaturmessung betrachten.

Wie wäre es, einfach mal diese drei unterschiedlichen Temperatursensoren miteinander zu vergleichen, um herauszufinden wie gut oder wie schlecht diese Temperatursensoren messen?

Sensoren im Vergleich

Sensor DHT11 DHT22 DS18B20
Temperatur (Bereich) 0°C bis 50°C -40°C bis 80°C -10ºC bis 85ºC
Temperatur (Genauigkeit) ±2 °C ±0,5 °C ±0,5 °C
Luftfeuchtigkeit (Bereich) 20% bis 90% 0% bis 100% -
Luftfeuchtigkeit (Genauigkeit) 5% 2 bis 5% -
Abtastrate 1 Hz 0,5 Hz -

Aufbau und Bauteile

Raspberry Pi Pico: Temperatursensoren DHT11, DHT22 und DS18B20 vergleichen

Raspberry Pi Pico DHT11
Pin 36 3V3 +3,3V 1 (VCC)
Pin 19 GPIO 14 2 (Data)
Pin 18 GND 4 (GND)
Raspberry Pi Pico DHT22
Pin 36 3V3 +3,3V 1 (VCC)
Pin 20 GPIO 15 2 (Data)
Pin 18 GND 4 (GND)
Raspberry Pi Pico DS18B20
Pin 36 3V3 +3,3V 3 (VCC)
Pin 21 GPIO 16 2 (Data)
Pin 23 GND 1 (GND)

Hinweis: Beim DS18B20 wird normalerweise ein 4,7-kOhm-Widerstand zwischen VCC und Data geschaltet. In diesem Versuchsaufbau verzichten wir darauf. Im praktischen Einsatz sollte der DS18B20 mit dem Widerstand beschaltet sein.

Schnell und einfach alle Bauteile zusammen bestellen

Programmcode

Der Programmcode verwendet die interne DHT11- und DHT22-Unterstützung in MicroPython.

Dank der direkten Unterstützung von OneWire und des DS18B20 in MicroPython für den Raspberry Pi Pico ist die Integration in einem Programmcode ein Kinderspiel.

# Bibliotheken laden
from machine import Pin
from time import sleep, sleep_ms
from onewire import OneWire
from ds18x20 import DS18X20
from dht import DHT11, DHT22

# 1 Sekunde auf den Sensor warten
sleep(1)

# Initialisierung GPIO und DHT11
print('DHT11 initialisieren')
dht11_sensor = DHT11(Pin(14, Pin.IN, Pin.PULL_UP))

# Initialisierung GPIO und DHT22
print('DHT22 initialisieren')
dht22_sensor = DHT22(Pin(15, Pin.IN, Pin.PULL_UP))

# Initialisierung GPIO, OneWire und DS18B20
print('DS18B20 über OneWire initialisieren')
ds_sensor = DS18X20(OneWire(Pin(16)))
devices = ds_sensor.scan()
print()

# Wiederholung (Endlos-Schleife)
while True:
    # DHT11
    dht11_sensor.measure()
    temp = dht11_sensor.temperature()
    print('  DHT11 Sensor:', temp, '°C')
    # DHT22
    dht22_sensor.measure()
    temp = dht22_sensor.temperature()
    print('  DHT22 Sensor:', temp, '°C')
    # DS18B20
    ds_sensor.convert_temp()
    sleep_ms(750)
    for device in devices:
        print('DS18B20 Sensor:', ds_sensor.read_temp(device), '°C')
    sleep(5)
    print()

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren