sitemap link mailform link home

DHT11 Temperatursensor

Überarbeitet am 30. September 2020

Der DHT11 ist ein kombinierter Sensor für Temperatur und Luftfeuchte.

Der unten stehende Arduino-Sketch zeigt die Temperatur und Luftfeuchte auf einem LC-Display an.

Externer Link  Siehe auch die Funduino-Anleitung

Die folgende Bibliothek muss installiert werden:

Screenshot

 

Screenshot

 

Verkabelung des DHT11 und eines LC-Displays mit Hintergrundbeleuchtung :

Fritzing-Plan

 

Display

 

----------------------------------------------------------------------------------------------------------------------------

Die Beschaltung des originalen DHT11-Sensors mit 4 Pins findet man leicht über das Datenblatt heraus. Allerdings gibt es auch 3-polige Versionen - meist in Arduino-Starterkits. Hier kann die Beschaltung  jedoch variieren. Der DHT11-Sensor in meinem Elegoo-Set ist folgendermaßen beschaltet:

DHT11

Am besten einmal mit dem Durchgangsprüfer testen, wie die dreipolige Variante beschaltet ist!

---------------------------------------------------------------------------------------------------------------------------

Das Potentiometer 10 kΩ (unten links im Bild) wird für die Einstellung des Kontrastes benötigt.
Bei den meisten Displays funktioniert es aber auch ohne das Potentiometer. Testweise kann der "gelbe Draht" vom Display einfach mit GND/Minus verbunden werden. Sollte funktionieren

Es wird empfohlen, einen 10 kΩ-Festwiderstand als sog. pull-up-Widerstand zwischen +5V und dem "Serial-Data-Pin" des DHT11 einzubauen. Das ist der blaue Widerstand in der Mitte. Meist funktioniert es aber auch ohne...

Die Hintergrundbeleuchtung ist meist ein Problem. Einige Displays funktionieren wie oben abgebildet. Bei einigen Displays muss aber Pin 15 und Pin 16 des Displays vertauscht werden. Darüber gibt das Datenblatt des Displays Auskunft. Bei einigen Displays kann der Widerstand
220 Ω (oberhalb des Displays) auch weggelassen werden.
Aber Vorsicht - das kann zum "Durchbrennen" der LED-Hintergrundbeleuchtung führen!

Die meisten Displays sind am Tage auch ohne Hintergrundbeleuchtung gut lesbar.

Quellcode Arduino:

Anmerkung: Das Grad-Zeichen ist in der Zeichentabelle des Displays dauerhaft gespeichet und kann über diese Schreibweise aufgerufen werden : \337

lcd.print("\337C "); // Darstellung von Grad Celsius auf Display

Dies hier funktioniert nicht:

lcd.print("°C ");


// Wetterstation mit einem einfachen LC-Display

#include ‹dht.h› // "DHT sensor library" by Adafruit
#include ‹LiquidCrystal.h› // Library für LCD

#define DHTPIN 2 //Der Sensor wird an PIN 2 angeschlossen    
#define DHTTYPE DHT11    // Es handelt sich um den DHT11 Sensor

DHT dht(DHTPIN, DHTTYPE); //Der Sensor wird ab jetzt mit „dth“ angesprochen
LiquidCrystal lcd(12, 11, 6, 5, 4, 3); // Pins des LCD festlegen


void setup()
{
  dht.begin(); //DHT11 Sensor starten
  // LCD einschalten
  lcd.begin(16, 2); // Display mit 16 Zeichen und 2 Zeilen
  lcd.setCursor(0, 0); //Startposition: Erstes Zeichen in der oberen Zeile
  lcd.print("Wetterstation"); // Das soll permanent in der oberen Zeile angezeigt werden
}

void loop()
{
   delay(2000); //Zwei Sekunden Vorlaufzeit bis zur Messung (der Sensor ist etwas träge)

  float Luftfeuchtigkeit = dht.readHumidity(); //die Luftfeuchtigkeit auslesen /speichern
  float Temperatur = dht.readTemperature();//die Temperatur auslesen / speichern
 
  // Ausgabe auf LCD
  lcd.setCursor(0, 1);
  lcd.print(Temperatur);
  lcd.print("\337C "); // \337 -> Grad
  lcd.print(Luftfeuchtigkeit);
  lcd.print("%");
}

 


.

Letzte Änderung:
March 23. 2023 21:04:40
«    top    »