Es werden bis zu 5 Dateien mit jeweils 10 MB Größe unterstützt. OK
Shenzhen XinZhanHong Technology Co., Ltd. 86-136-0044-7889 ella@xzhpcba.com
News Ein Angebot bekommen
Startseite - News - Arduino DHT11 Temperatur- und Luftfeuchtigkeitssensorprojekt

Arduino DHT11 Temperatur- und Luftfeuchtigkeitssensorprojekt

January 7, 2025

Arduino DHT11 Temperatur- und Feuchtigkeitssensorprojekt

neueste Unternehmensnachrichten über Arduino DHT11 Temperatur- und Luftfeuchtigkeitssensorprojekt  0

Die DHT-Sensorreihe (DHT11/22) ist aufgrund ihrer Einfachheit und Kompaktheit als Temperatur-/Feuchtigkeitssensor einer der am häufigsten verwendeten in vielen elektronischen Projekten, von Heimwetterstationen bis hin zu Anlagenautomatisierungssystemen. Obwohl das genauere und teurere DHT22 ersetzt werden kann (mit einigen Änderungen im Code), wird in diesem Projekt das DHT11-Sensormodul verwendet. Mit einer einfachen 3-Pin-Schnittstelle handelt es sich bei dem DHT11-Sensor, der in diesem Projekt verwendet wird, nicht um die eigenständige 4-Pin-Sensorversion, sondern um ein 3-Pin-Modul mit integriertem Kondensator und Pull-up-Widerstand die Notwendigkeit zusätzlicher Komponenten beim Aufbau dieser Schaltung. Daher kann das DHT11-Sensormodul bei Anschluss an ein Arduino-Board direkt an einen digitalen Pin angeschlossen werden, der die seriellen Daten vom Sensor verarbeitet und an den Mikrocontroller weiterleitet, damit wir sie lesen können.

DabeiDIY PCBA-Projekt, werden die Temperatur- und Feuchtigkeitsdaten des DHT11-Sensors auf einem 0,96″ 128×64 OLED-Display (organische Leuchtdiode) angezeigt, damit wir sie gut ablesen können. Ein Vorteil der Verwendung eines i2c-OLED-Displays im Vergleich zu anderen Displaytypen besteht darin, dass es nur eine 4-Draht-Verbindung zum Arduino-Board erfordert und mit einer Vielzahl von Bibliotheken problemlos programmiert werden kann. Ein auffälliges Merkmal eines OLED-Displays ist seine Klarheit, Schärfe und visuelle Qualität der Texte, Zahlen und Bilder, die es darstellen kann.

Insgesamt handelt es sich um ein recht einfaches Schaltungsprojekt, das auch für absolute Anfänger geeignet ist, da es nur wenige Komponenten und einige grundlegende Programmierkenntnisse erfordert. Für Fortgeschrittene kann dieses Projekt jedoch definitiv verbessert und erweitert werden, um weitere Funktionen wie drahtlose Kommunikation (RF, LoRa,Bluetooth-Platine, WLAN usw.), RTC-Daten (Echtzeituhr), zusätzliche Sensordaten (Höhe, Luftdruck, Gaskonzentrationen usw.) und viele andere Funktionen. Um dieses Projekt zu realisieren, müssen Sie folgende Komponenten erwerben:

  • Arduino Nano (andere Arduino-kompatible Boards funktionieren)
  • USB-Kabel (kompatibel mit dem Arduino-Board)
  • Steckbrett
  • Stecker-Stecker-Überbrückungsdrähte (7)
  • 0,96″ 128×64 i2c OLED-Display
  • DHT11-Sensormodul

Verdrahtung

Wenn Sie ein anderes Entwicklungsboard verwenden, ist möglicherweise ein anderer Steckbretttyp erforderlich. Für dieses Projekt verwendet FS Technology einen Arduino Nano, der den Einsatz eines Steckbretts erfordert. Wenn jedoch stattdessen ein Arduino Uno verwendet wird, können die Überbrückungsdrähte direkt in die Platinenstifte gesteckt werden, sodass kein Steckbrett erforderlich ist. Trotz des Platinenwechsels bleibt die Verkabelung des DHT11-Sensormoduls und des OLED-Displays zur Arduino-Platine konsistent. Darüber hinaus finden Sie unten den Schaltplan für den Schaltkreis des DHT11-Temperatur- und Feuchtigkeitssensors.

  • DHT11-Sensormodul: Verbinden Sie den Signalpin (S) des Sensors mit D2, den positiven (+) Pin mit +5 V und den negativen (-) Pin mit GND.
  • OLED: Verbinden Sie SDA (serielle Daten) mit A4, SCL/SCK (serielle Uhr) mit A5, VDD/VCC (Versorgungsspannung) mit +5 V und GND mit GND.
  • Jetzt können Sie Ihr Arduino-Board über das USB-Kabel an den Computer anschließen.
neueste Unternehmensnachrichten über Arduino DHT11 Temperatur- und Luftfeuchtigkeitssensorprojekt  2

Projektcode

#enthalten  

#enthalten  

#enthalten  

 

#definieren screen_width 128 

#definieren screen_height 64

#definieren OLED_RESET 4 

Adafruit_SSD1306Anzeige(screen_width, screen_height);

 

#enthalten „DHT.h“

#definieren DHTPIN 2

#definieren DHTTYPEDHT11

DHTdht(DHTPIN, DHTTYPE);

 

 Leere aufstellen() {

 dht.beginnen();

 

 Anzeige.beginnen(SSD1306_SWITCHCAPVCC, 0x3C);

 Anzeige.klareAnzeige();

}

 

 Leere Schleife() {

 Anzeige.klareAnzeige();

 Anzeige.setTextSize(1);

 Anzeige.setTextColor(SSD1306_WHITE);

 

 Anzeige.setCursor(0,15);

 Anzeige.drucken("Temperatur:");

 Anzeige.setCursor(80,15);

 Anzeige.drucken(dht.readTemperature());

 Anzeige.setCursor(110,15);

 Anzeige.drucken(" C");

 

 Anzeige.setCursor(0,35);

 Anzeige.drucken("Luftfeuchtigkeit:");

 Anzeige.setCursor(80,35);

 Anzeige.drucken(dht.lesenFeuchtigkeit());

 Anzeige.setCursor(110,35);

 Anzeige.drucken(„%“);

 Anzeige.Anzeige();

 Verzögerung(2000);

Über den Code

  • Einer der Vorteile der Arbeit mit einem i2c-OLED-Display ist die unglaubliche Menge an Unterstützung, die online in Form von Open-Source-Bibliotheken verfügbar ist und die bei der Programmierung des Displays über die Arduino IDE sehr hilfreich sein kann. In diesem Projekt sind die Adafruit SSD1306- und GFX-Bibliotheken die beiden wichtigsten Bibliotheken, die als Schnittstelle zwischen dem OLED-Display und dem Arduino verwendet werden. Da alle Setup-Informationen bereits in den Bibliotheksdateien konfiguriert sind, werden grundlegende Befehle innerhalb der IDE verwendet, was das vereinfacht Nutzung des Displays. Wenn Sie diese Bibliotheken nicht heruntergeladen und auf Ihrer IDE installiert haben, kann es zu Kompilierungsfehlern kommen. Stellen Sie daher bitte sicher, dass Sie die neuesten Bibliotheksversionen in der Arduino IDE installiert haben.
  • Der Code beginnt mit der Definition der Bibliotheken, die zum Einrichten des OLED-Displays benötigt werden: Wire, Adafruit SSD1306 und Adafruit GFX. Diese sind notwendig, damit das OLED mit dem Arduino funktioniert.
  • Im zweiten Block werden mehrere Parameter rund um das OLED-Display definiert, darunter die Bildschirmbreite und -höhe (128 x 64 Pixel) sowie der OLED-Reset-Pin (A4).
  • Als nächstes werden die Bibliotheken definiert, die für die Schnittstelle des DHT11-Sensors mit dem Arduino erforderlich sind, wobei es sich insbesondere um die „DHT“-Bibliothek handelt. Der digitale Pin, mit dem der DHT-Sensor auf der Arduino-Platine verbunden ist (digitaler Pin 2 – D2), wird zusätzlich neben dem speziellen Modell des von uns verwendeten DHT-Sensors, dem DHT11-Sensor, definiert.
  • Nun wird der Abschnitt „Void-Setup“ vorgestellt, eine der beiden wesentlichen Funktionen in jedem Arduino-Code. Hier starten wir den DHT11-Sensor (dht.begin()) sowie das OLED-Display und bevor wir mit dem Abschnitt „Void Loop“ fortfahren, wird das OLED-Display von allen vorherigen Visuals gelöscht (display.clearDisplay()).
  • Der Void-Loop-Abschnitt, der Hauptteil des Codes, der sich kontinuierlich (in einer Schleife) wiederholt, solange das Arduino-Board mit Strom versorgt wird, besteht hauptsächlich aus OLED-spezifischen Funktionen, die zunächst die Textgröße und die Textfarbe festlegen und Cursor (wo Text auf dem OLED gedruckt werden soll). Anschließend befehlen wir dem OLED, an verschiedenen Stellen des Displays Textzeilen zu drucken. Dabei handelt es sich hauptsächlich um die Temperatur- (in Grad Celsius) und Luftfeuchtigkeitsinformationen (%), die vom DHT11-Sensor gelesen werden. Allein durch die Verwendung dieser einfachen Befehle, die aus den definierten Bibliotheken erstellt wurden, können wir problemlos beliebige Informationen auf dem Display ausgeben.
  • Mit der Verzögerungsfunktion ganz am Ende des Codes ist es so eingestellt, dass das OLED-Display alle 2000 Millisekunden mit den neuesten vom Sensor gelesenen Daten aktualisiert wird. Sie können diesen Zeitpunkt jedoch ändern, je nachdem, wie oft Sie aktuelle Informationen direkt vom Sensor erhalten möchten.

Zusammenfassen

Mit einem grundlegenden Verständnis dieses Projekts und der Grundprinzipien, die bei der Anbindung eines Sensors an ein OLED-Display eine Rolle spielen, gibt es sicherlich eine Vielzahl von Möglichkeiten, dieses Projekt zu erweitern und zu verbessern. Am häufigsten lässt sich ein solches Setup in ein viel größeres Wetterstationsprojekt integrieren, indem man möglicherweise weitere Sensoren, ein größeres Display, drahtlose Funktionen, ein Gehäuse usw. hinzufügt. Wie dieses Projekt zeigt, reicht es aus, sich einfach mit einigen davon vertraut zu machen Mit den verfügbaren Arduino-Bibliotheken können Sie dann relativ mühelos Ihre eigene Wetterstation programmieren. Ein zukünftiges Projekt könnte die drahtlose Übertragung solcher Wetterdaten von einem Mikrocontroller-Board zu einem anderen umfassen, um eine entfernte Umgebung zu überwachen oder ein autonomes System zentral zu steuern. Dennoch eignen sich Projekte wie dieses hervorragend, um absolute Anfänger an die Hobbyelektronik heranzuführen, und können durchaus auch an erfahrenere Menschen gerichtet werdenPCBA-Herstellerdie vielleicht andere Aspekte der Elektronik erforschen möchten.