Lektion 35: Verwendung des HTU21D-Temperatursensors mit dem Arduino

Lektion 35: Verwendung des HTU21D-Temperatursensors mit dem Arduino

Dieses Projekt zeigt Ihnen, wie Sie mit einem Arduino Temperatur- und Feuchtigkeitsdaten von einem HTU21D-F-Sensor auslesen. Dieser Sensor ist preiswert und weit verbreitet, wodurch er sich ideal für eine Vielzahl von Projekten eignet. Der Sensor gibt Daten über I2C aus, ein gängiges digitales Kommunikationsprotokoll. Das Erlernen der Nutzung dieses Sensors und von I2C eröffnet viele Möglichkeiten für Ihre Projekte.

HTU21D module

Praktische Anwendungen:

  • Einen smarten Umweltmonitor für das Smart Home bauen
  • Eine Wetterstation erstellen
  • Entwicklung eines klimatisierten Gehäuses für empfindliche Elektronik
  • Überwachung von Temperatur und Luftfeuchtigkeit in einem Gewächshaus oder Terrarium

Hardware/Komponenten

Sie benötigen die folgenden Komponenten:

  • Arduino-Board (z. B. Uno, Nano)
  • HTU21D-F Temperatur- und Feuchtigkeitssensor (im Video bei 00:22)
  • Verbindungsdrähte
  • Breadboard (optional, aber empfohlen)

Verdrahtungsanleitung

Die Verkabelung ist unkompliziert. Schließen Sie den Sensor wie folgt an den Arduino an (im Video bei 02:28):

  • Sensor VCC an Arduino 3,3 V
  • Sensor-GND an Arduino-GND
  • Sensor SDA an Arduino A4
  • Sensor SCL an Arduino A5

Arduino wiring for HTU21DF light intesity sensor
Arduino wiring for HTU21DF light intesity sensor

Erklärung des Codes

Der bereitgestellte Code verwendet die Adafruit HTU21D-F-Bibliothek (im Video bei 03:03), um mit dem Sensor zu interagieren. Die wichtigsten Teile sind:


// These are the lines that you can configure:
const int inPin =A0;//can change
const int iteration = 1000; //can change (see video at 00:22)
const float LM35_FACTOR =0.01;// do not change

inPin: Gibt den analogen Pin an, der mit dem Temperatursensor verbunden ist. Sie können dies ändern, um es an Ihre Verdrahtung anzupassen.

iteration: Diese Variable steuert die Anzahl der Messwerte, die zur Mittelung der Temperatur genommen werden. Eine Erhöhung verbessert die Genauigkeit, verlangsamt jedoch die Messungen (im Video bei 00:22).

DergetHTU()Die Funktion (im Video bei 08:46) ermöglicht es, durch Übergabe eines Zeichens ('C', 'F', 'K' oder 'H') als Argument die Temperatur in Celsius, Fahrenheit oder Kelvin oder die Luftfeuchtigkeit abzurufen. Der Code verwendet dann diese Funktion, um die Daten im seriellen Monitor anzuzeigen.


float getTemperature(char type) {
  // ... (code to read temperature and humidity) ...
  if (type == 'F') {
    value = averageTemperature * 9 / 5 + 32; // Fahrenheit
  } else if (type == 'K') {
    value = averageTemperature + 273.15; // Kelvin
  } else {
    value = averageTemperature; // Celsius
  }
  return value;
}

Live-Projekt/Vorführung

Das Video demonstriert die Funktionalität des Sensors (im Video bei 07:34). Der serielle Monitor zeigt die Temperatur- und Feuchtigkeitswerte an. Der Präsentator zeigt auch, wie der Code Aktionen basierend auf Temperaturgrenzwerten auslösen kann (im Video bei 06:45).

Kapitel

  • [00:00] Einleitung
  • [00:22] Sensorübersicht
  • [01:22] Überprüfung des Datenblatts
  • [02:28] Verkabelung
  • [03:03] Bibliotheksinstallation
  • [04:05] Code-Erklärung (Teil 1)
  • [08:33] Code-Erklärung (Teil 2)
  • [07:34] Live-Demonstration

Bilder

thumb_robojax_HTU21DF_types-1756423961-8524
thumb_robojax_HTU21DF_types-1756423961-8524
Arduino wiring for HTU21DF light intesity sensor
Arduino wiring for HTU21DF light intesity sensor
HTU21D module
HTU21D module
HTU21D module-back
HTU21D module-back
503-Lesson 42: Using an LM35 Temperature Sensor with Arduino
Sprache: C++
Kopiert!

Dinge, die Sie vielleicht brauchen

Ressourcen & Referenzen

Dateien📁

Andere Dateien