Measuring temperature with the SHT20, SHT35, and SHT40
FunduinoLast updated on
Drei I2C-Sensoren für Temperatur und Luftfeuchtigkeit im Vergleich
Material
Die drei Sensoren im Überblick
1 / 2
Der SHT40
1 / 3
Sketch fuer den SHT40
// Benoetigte Bibliothek einbinden
#include "Adafruit_SHT4x.h"
// Name des Sensors (sht4)
Adafruit_SHT4x sht4 = Adafruit_SHT4x();
void setup()
{
Serial.begin(9600);
delay(1000);
// SHT40 starten, im Fehlerfall Meldung anzeigen
Serial.println("SHT40 Test");
if (!sht4.begin()) Serial.println("Sensor SHT40 nicht gefunden");
else Serial.println("Sensor SHT40 gefunden!");
/*
Genauigkeit bestimmen, moegliche Werte:
SHT4X_LOW_PRECISION (niedrig)
SHT4X_MED_PRECISION (mittel)
SHT4X_HIGH_PRECISION (hoch)
*/
sht4.setPrecision(SHT4X_HIGH_PRECISION);
}
void loop()
{
// Sensorwerte erfassen (Luftfeuchtigkeit, Temperatur)
sensors_event_t Luftfeuchtigkeit, Temperatur;
sht4.getEvent(&Luftfeuchtigkeit, &Temperatur);
// Gemessene Temperatur in String umwandeln und Punkt durch Komma ersetzen
String gemesseneTemperatur = String(Temperatur.temperature);
gemesseneTemperatur.replace(".", ",");
Serial.println("Temperatur: " + gemesseneTemperatur + " Grad C");
// Gemessene Luftfeuchtigkeit in String umwandeln und Punkt durch Komma ersetzen
String gemesseneLuftfeuchtigkeit = String(Luftfeuchtigkeit.relative_humidity);
gemesseneLuftfeuchtigkeit.replace(".", ",");
Serial.println("Luftfeuchtigkeit: " + gemesseneLuftfeuchtigkeit + "%");
Serial.println("------------------------");
delay(2000);
}Der SHT20
Sketch fuer den SHT20
#include "SHT2x.h"
// sht dem I2C-Bus (Wire) zuordnen
SHT2x sht(&Wire);
void setup()
{
Serial.begin(9600);
delay(1000);
// I2C-Bus starten
Wire.begin();
// SHT20 starten, im Fehlerfall Meldung anzeigen
Serial.println("SHT20 Test");
if (!sht.begin()) Serial.println("Sensor SHT20 nicht gefunden");
else Serial.println("Sensor SHT20 gefunden!");
}
void loop()
{
// Sensor lesen
sht.read();
// Gelesene Temperatur mit 2 Nachkommastellen in einen String umwandeln
String gemesseneTemperatur = String(sht.getTemperature(), 2);
gemesseneTemperatur.replace(".", ",");
Serial.println("Temperatur: " + gemesseneTemperatur + " Grad C");
// Gelesene Luftfeuchtigkeit mit 2 Nachkommastellen in einen String umwandeln
String gemesseneLuftfeuchtigkeit = String(sht.getHumidity(), 2);
gemesseneLuftfeuchtigkeit.replace(".", ",");
Serial.println("Luftfeuchtigkeit: " + gemesseneLuftfeuchtigkeit + "%");
Serial.println("------------------------");
delay(2000);
}Der SHT35
Sketch fuer den SHT35
// Benoetigte Bibliothek einbinden
#include "Adafruit_SHT31.h"
// Name des Sensors (sht31)
Adafruit_SHT31 sht31 = Adafruit_SHT31();
void setup()
{
Serial.begin(9600);
delay(1000);
// SHT35 starten, im Fehlerfall Meldung anzeigen.
// Die Standardadresse ist 0x44. Manche Module sitzen auf 0x45,
// dann lautet die Zeile: sht31.begin(0x45)
Serial.println("SHT35 Test");
if (!sht31.begin()) Serial.println("Sensor SHT35 nicht gefunden");
else Serial.println("Sensor SHT35 gefunden!");
}
void loop()
{
// Sensorwerte erfassen und Punkt durch Komma ersetzen
String Temperatur = String(sht31.readTemperature());
String Luftfeuchtigkeit = String(sht31.readHumidity());
Temperatur.replace(".", ",");
Luftfeuchtigkeit.replace(".", ",");
Serial.println("Temperatur: " + Temperatur + " Grad C");
Serial.println("Luftfeuchtigkeit: " + Luftfeuchtigkeit + "%");
Serial.println("------------------------");
delay(2000);
}Rate the instructions