Der Temperatur und Luftfeuchtigkeitssensor SHT21 wurde mir von einem Kollegen geliehen. Da ich schon diverse Sensoren habe und dieser noch für ein Review offen war, danke ich nun Florian W. ganz herzlich.
Technische Daten des SHT21
- Betriebsspannung – 2.1V bis 5V
- Temperaturmessbereich – -40 °C bis +125 °C
- Auflösung 0,01 °C
- Messbereich der relativen Luftfeuchtigkeit – 0 bis 100 %
- Auflösung 0,03 %
Anschluss
Der Sensor verfügt über 4 Pins welche wie folgt angeschlossen werden:
SHT21 | Arduino UNO |
---|---|
VIN | 3.3V |
GND | GND |
SCL | analoger PIN A5 |
SDA | analoger PIN A4 |
Bezug
Der Sensor kann über ebay.de bei MakerShop.de* für knapp 7 € bezogen werden.
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!
Quellcode
Für den unten stehenden Quellcode wird die HTU21D Bibliothek von Sparkfun benötigt. Diese Bibliothek kann vom GitHub Repository heruntergeladen werden.
Der Bibliothek liegen bereits 2 Beispiele bei.
Das Beispiel “SparkFun_HTU21D_Demo” habe ich als Grundlage für das nachfolgende Beispiel genommen.
Wie man eine Bibliothek der Arduino IDE hinzufügt, habe ich bereits im gleichnamigen Tutorial Arduino IDE, Einbinden einer Bibliothek erläutert.
#include <Wire.h> #include "SparkFunHTU21D.h" HTU21D sht21; //Objekt instanzieren void setup(){ Serial.begin(9600); //Begin der seriellen Kommunikation mit 9600 baud //eine einfache Ausgabe auf dem seriellen Monitor. Serial.println("Temperatur & Luftfeuchtigkeitssensor SHT21"); Serial.println("******************************************"); sht21.begin(); //Beginn der kommunikation mit dem Sensor. } void loop(){ Serial.print("Temperatur:"); Serial.print(sht21.readTemperature(), 1); //Ausgabe der Temperatur in Grad Celsius Serial.print("°C"); Serial.print("\tLuftfeuchtigkeit:"); Serial.print(sht21.readHumidity(), 1); //Ausgabe der Luftfeuchtigkeit Serial.println("%"); delay(1000); //kleine Pause von 1 sek. }
Ausgabe auf dem seriellen Monitor
Der oben gezeigte Sketch erzeugt folgende Ausgabe auf dem seriellen Monitor der Arduino IDE.