Wettersensoren für die eigene Wetterstation

Kaum ein Arduino Bastler der nicht auch einmal eine Wetterstation bastelt. Egal ob auf Basis eines Arduino mit Display oder doch mit Webanbindung mit einem ESP8266 - Sensoren für Temperatur, Luftfeuchtigkeit, Luftdruck, Luftgüte oder gar Beleuchtungsstärke braucht eine Wetterstation.

Zunächst eine Übersicht an Sensoren für die Wetterstation. Allen hier angeführten Sensoren ist gemeinsam, dass sie Daten auf einer digitalen Schnittstelle zur Verfügung stellen. Es sind keine analogen Eingangspins erforderlich, was besonders für den ESP8266 sehr angenehm ist.

Modell Werte Verfügbarkeit Interface und Anmerkungen
DS18B20 Temperatur Amazon (*) OneWire (busfähig)
DHT11 Temperatur, Feuchte Amazon (*) proprietär 1 Draht
DHT22 Temperatur, Feuchte Amazon (*) proprietär 1 Draht
AM2301 Temperatur, Feuchte Aliexpress (*) proprietär 1 Draht, kompatibel zum DHT22
AM2305 Temperatur, Feuchte Aliexpress (*) proprietär 1 Draht, kompatibel zum DHT22
AM2306 Temperatur, Feuchte Aliexpress (*) proprietär 1 Draht, kompatibel zum DHT22, sehr robuste Ausführung
AM2320B Temperatur, Feuchte Aliexpress (*) I2C
SI7021, SHT21 Temperatur, Feuchte Amazon (*) I2C
BMP180 Temperatur, Luftdruck Amazon (*) I2C
BMP280 Temperatur, Luftdruck Amazon (*) I2C, SPI
BME280 Temperatur, Feuchte, Luftdruck Amazon (*) I2C, SPI, in 3.3 und 5V Modulen erhältlich
BME680 Temperatur, Feuchte, Luftdruck, Luftqualität (Luftgüte, VOC) Amazon (*) I2C (je nach Modell auch mit SPI) und meist als 3.3 + 5V Variante
BH1750FVI Beleuchtungsstärke Amazon (*) I2C

Nachfolgende Sensoren können mittels entsprechender Arduino Libraries problemlos angesprochen werden. Sie laufen auch stabil mit langen Kabeln. Sie eignen sich daher gut für den verteilten Einsatz im Haus - oder zur Verkabelung von Sensoren nach draußen.

DS18B20

Die DS18B20 kommen in der Bauform TO-92. Das kennt der Bastler von kleinen Transistoren. Oft sind diese Temperatursensoren (sie messen wirklich nur die Temperatur) in eine Metallhülse eingegossen und man bekommst sie mit unterschiedlichen Kabellängen. Auch große Kabellängen (>10m) sind relativ unproblematisch. Der Sensor hat eine One-Wire Schnittstelle. Jeder Sensor hat vom Werk aus eine individuelle Adresse und somit kann man auch viele Sensoren an einer Datenleitung im Bus betreiben. Neben der Datenleitung (One Wire) werden noch VCC und GND benötigt, wobei es auch eine Anschlussvariante mit nur zwei Leitungen gibt - siehe dazu der parisitäre Modus.

DHT11

Die DHT11 sind der kostengünstige Einstieg in die Welt der Temperatur/Luftfeuchtesensoren. Sie haben den Ruf eher ungenau zu sein und daher soll man besser auf einen DHT22 (oder kompatiblen) zurückgreifen.

DHT22/AM2302

Die DHT22 Sensoren kommen in vielen Varianten. Sie messen Temperatur und Luftfeuchtigkeit und können (jeweils einzeln) mit einem einzigen Arduino Pin ausgelesen werden. Kabellängen mit 10m laufen problemlos.

AM2301

Der AM2301 ist kompatibel zum DHT22. Er kommt in einem kleinen schwarzen Gehäuse. Ich empfehle diesen Temperature/Luftfeuchtesensor gerne als kostengünstige Variante zu seinen größeren Brüdern AM2305 und AM2306 für die Werkbank bzw während der Sketch Entwicklung.

AM2305

Der AM2305 besitzt einen besseren Temperatursensor und ist in einem stabilen Gehäuse untergebracht. Das originale Verbindungskabel ist etwa 1m lang. In den Dauerregen sollte er aber auch nicht kommen. Aber in einem typischen "Feuchtraum", in der Gartenlaube oder regengeschützt im Carport kann man den schon einsetzen. Der Temperaturbereich umfasst - 40... . +80C, die Luftfeuchtigkeit 0 ... 99.9%RH.

AM2306

Der AM2306 ist eine wetterfeste Ausführung mit DHT22 Schnittstelle. Spritzwasser oder Regen wird ihm keinen Schaden zuführen. Natürlich muss man diesen Sensor auch im Schatten aufstellen, den bei direkter Sonneneinstrahlung würde die Temperaturmessung verfälscht werden. Aber im Außenbereich gibt es imho keinen besseren Temperatursensor/Feuchtigkeitssensor für den Bastler. Meinen ersten AM2306 habe ich 2018 auf einer Hauswand nach Norden montiert und dieser verichtet seit dem klaglos seinen Dienst.

Sonstige busfähige Wettersensoren

Will man mehrere Sensoren betreiben oder Pins einsparen greift man gerne auf die Schnittstellen I2C oder SPI zurück. Dabei muss beachtet werden, dass bei diesen Bus Systemen die  Kabel so kurz wie möglich sein sollten. Lange Leitungen sind hier bei den nachfolgenden Wettersensoren ein No-Go.

AM2320B

Der AM2320B ist ein SHT21 digital Temperatursensor/Feuchtigkeitssensor und kommt in einem kleinen Gehäuse. Er hat eine I2C Schnittstelle - daher das Kabel zum Arduino / ESP8266 so kurz wie möglich halten!

SI7021, SHT21, HT21

Der SI7021/SHT21 misst Lufttemperatur und Luftfeuchtigkeit. Auf der Platine ist manchmal auch GY-21 angegeben. Teilweise wird der SI7021/SHT21 mit einem weißen "Aufkleber" am Sensor ausgeliefert. Dieser Aufkleber ist lt. Datenblatt luftdurchlässig und braucht nur dann entfernt werden, wenn man schnellere Reaktion auf sich rasch änderende Klimabedingungen erhalten möchte. Als Bus wird I2C verwendet, der Sensor lässt sich aber mit relativ wenigen Befehlen auslesen und braucht daher wenig Speicher.

BMP180

Der BMP180 mit I2C Schnittstelle misst Lufttemperatur und Luftdruck (hPA).

BMP280

Der BMP280 kann sowohl über I2C als auch SPI ausgelesen werden. Der Sensor misst die Lufttemperatur und ermittelt den Luftdruck. Dazu muss man im Sketch die Meereshöhe bekannt geben.

BME280

Der BME280 misst Lufttemperatur, Luftfeuchtigkeit und Luftdruck. Er kann sowohl mit I2C als auch SPI ausgelesen werden. Achte beim Kauf darauf, dass diese Sensoren in zwei Varianten angeboten werden: entweder für Microcontroller mit 5V (z.B. Arduino UNO/NANO/MEGA) oder als 3.3 V Variante (ideal für den ESP8266 oder ESP32). Leider kommt es bei einigen Händlern vor, dass sie irrtümlich den BMP280 senden, da diese Module meist auf ähnlichen Platinen montiert werden. Wenn es Schwierigkeiten mit der BME280 Library gibt, lohnt sich mal Testweise die BMP280 Library zu testen bevor man das Modul in die Tonne wirft.

BME680

Der BME680 misst Lufttemperatur, Luftfeuchtigkeit, Luftdruck und Luftgüte (VOC). Er kann mittels I2C (Addressen 0x76 oder 0x77) oder mit SPI gelesen werden. Die Luftgüte (Luftqualität) wird mittles VOC (Volatile Organic Compounds) ermittelt (ein Mix aus Ethanol, Alkohol und Kohlenmonoxyd).

Genaugikeiten
Lufttemperatur: +/- 1 °C
Luftfeuchtigkeit: +/- 3%
Luftdruck: +/- 1hPa

BH1750FHI

Der BH1750FHI ist ein Lichtsensor. Er liefert die aktuelle Beleuchtungsstärke in Lux zurück. Wenn man bereits I2C Sensoren (oder ein I2C Display) auf seiner Wetterstation betreibt, so passt dieser Sensor ausgezeichnet dazu. Ich verwende diesen Sensor um von verschiedenen Wetterstationen annähernd vergleichbare Werte zu erhalten. Die Library für den Beleuchtungsstärke-Sensor benötigt relativ wenig speicher. Als I2C Adressen kann 0x23 oder 0x5c gewählt werden.

Resümee

Lang ist die Liste an Wettersensoren. Entscheidend für den richtigen Sensor soll nicht nur der Preis sein, sondern auch, welche Werte gemessen werden sollen und wie weit der Sensor vom Microcontroller aufgestellt werden wird.

Links

Die mit Sternchen (*) gekennzeichneten Verweise sind sogenannte Affiliate/Provision-Links. Wenn du auf so einen Verweis klickst und über diesen Link einkaufst, bekomme ich von deinem Einkauf eine (kleine) Provision. Für dich verändert sich der Preis dadurch nicht. Ich empfehle nur Produkte die ich selber besitze und wenn ich überzeugt bin, dass sie für andere interesssant sind.

History

First upload: 2021-02-08 | Version: 2023-12-31