Zum Inhalt springen
Wetterstation mit Arduino GY-21 sht21 htu21 si7021 Wetterstation

Wetterstation mit Arduino GY-21 (SHT 21 HTU21 SI7021) und LCD

    In diesem Arduino-Tutorial zeige ich dir, wie du eine Wetterstation mit dem GY-21-Sensor (auch bekannt als SHT 21, HTU21 oder SI7021), einem Arduino UNO und einem I2C-LCD umsetzen kannst. Wir werden Temperatur und Luftfeuchtigkeit messen und die Daten auf einem LCD-Display anzeigen.

    Der GY-21-Sensor

    Der GY-21-Sensor ist ein vielseitiges Bauteil, das einen Temperatur- und Feuchtigkeitssensor kombiniert. Er verwendet den Sensorchip SHT 21 oder HTU21 und in einigen Fällen den SI7021. Der Sensor ist für seine hohe Genauigkeit und einfache Handhabung bekannt, was ihn zu einer idealen Wahl für wetterbezogene Projekte macht.

    Er ist gleichzeitig eine sehr gute Alternative zu der DHT-Reihe, wie z.B. dem DHT22.


    Sieh dir jetzt meinen neuen Arduino-Videokurs an: Jetzt ansehen!


    Bevor wir in den Code eintauchen, widmen wir uns erstmal der Hardware:

    Benötigte Bauteile

    Beschreibung der Schaltung

    Arduino Wetterstation GY-21 SHT21 HTU21 SI7021 I2C Schaltung

    Schließe den GY-21-Sensor wie folgt an das Arduino-Board an:

    • VCC an 5V
    • GND an GND
    • SDA an A4 oder an den SDA-Pin des Arduinos
    • SCL an A5 oder an den SCL-Pin des Arduinos

    Verbinde das I2C LCD mit dem Arduino-Board:

    • VCC an 5V
    • GND an GND
    • SDA an A4 oder an den SDA-Pin des Arduinos
    • SCL an A5 oder an den SCL-Pin des Arduinos

    Installation der Libraries

    Um den Sensor zu betreiben, wird die Library Adafruit HTU21DF benötigt. Klicke in der Arduino-Software auf Libraries und suche nach ihr. Dann installiere sie in der aktuellen Version. Falls du gefragt wirst, installiere auch alle dazugehörigen Dependencies (Klicke auf Install All).

    Code

    #include <Wire.h>
    #include <LiquidCrystal_I2C.h>
    #include <Adafruit_HTU21DF.h>
    
    LiquidCrystal_I2C lcd(0x27, 16, 2);
    Adafruit_HTU21DF sht21 = Adafruit_HTU21DF();
    
    void setup() {
      Serial.begin(115200);
      lcd.init();
      lcd.backlight();
      sht21.begin();
    }
    
    void loop() {
      float temperature = sht21.readTemperature();
      float humidity = sht21.readHumidity();
    
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print("Temp: " + String(temperature, 1) + " C");
      lcd.setCursor(0, 1);
      lcd.print("Humidity: " + String(humidity, 1) + " %");
    
      Serial.print("Temperature: ");
      Serial.print(temperature, 1);
      Serial.print(" C\tHumidity: ");
      Serial.print(humidity, 1);
      Serial.println(" %");
    
      delay(1000);
    }
    

    Code-Erklärungen

    • Wir beginnen mit der Einbindung der erforderlichen Bibliotheken für die I2C-Kommunikation, die LCD-Steuerung und den HTU21 (SHT21)-Sensor.
    • Wir richten ein LCD-Objekt (lcd) ein, um mit dem I2C-LCD-Bildschirm zu kommunizieren, und ein HTU21 (SHT21)-Sensorobjekt (sht21) zum Lesen von Temperatur- und Luftfeuchtigkeitsdaten.

    In der setup-Funktion:

    • Initialisieren wir die serielle Kommunikation mit einer Baudrate von 115200, um Daten an den Serial Monitor zu senden.
    • Initialisieren wir den LCD-Bildschirm und schalten die Hintergrundbeleuchtung ein.
    • Starten wir die Kommunikation mit dem HTU21 (SHT21)-Sensor.

    In der loop-Funktion:

    • Lesen wir Temperatur- und Luftfeuchtigkeitsdaten vom HTU21 (SHT21)-Sensor.
    • Löschen wir den LCD-Bildschirm und setzen den Cursor, um die Daten auf zwei Zeilen anzuzeigen.
    • Die Temperatur und Luftfeuchtigkeit werden auf dem LCD-Bildschirm angezeigt.
    • Wir geben dieselben Daten auch im Serial Monitor aus, um sie in Echtzeit zu überwachen oder aufzuzeichnen.
    • Am Ende der Schleife wird eine Verzögerung von 1 Sekunde hinzugefügt, um periodische Sensorablesungen zu ermöglichen.

    Wenn dir das Projekt gefallen hat und du von weiteren interessanten Projekten inspiriert werden willst, sieh dir doch mal mein neues E-Book »Arduino Projekte Volume 1« an!

    • Die beliebtesten Arduino-Projekte von StartHardware
    • Inklusive Schaltplan, Beschreibung und Code
    • Arduino-Schnellstart-Kapitel
    • Kompakter Programmierkurs


    Ein Gedanke zu „Wetterstation mit Arduino GY-21 (SHT 21 HTU21 SI7021) und LCD“

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

     

    Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.