ESP32 ist eine erweiterte Mikrocontroller -Karte, mit der mehrere Anweisungen ausgeführt werden können, um Ausgänge zu generieren. Ein OLED -Bildschirm wird verwendet, um verschiedene Arten von Daten anzuzeigen. Mit ESP32 mit DHT11 -Sensor können wir Temperatur- und Feuchtigkeitswerte aufnehmen. Alle diese Daten können über eine OLED -Anzeige dargestellt werden. Dieses Tutorial deckt alle Schritte ab, die zur Schnittstelle dieser Sensoren mit ESP32 erforderlich sind.
Dieses Tutorial deckt den folgenden Inhalt ab:
1: Einführung in den DHT11 -Sensor
2: DHT11 -Sensor -Pinout
2.1: 3 Pin DHT11 -Sensor
2.2: 4 Pin DHT11 -Sensor
3: OLED -Anzeigemodul mit ESP32
4: Installation der erforderlichen Bibliotheken
4.1: Arduino -Bibliothek für DHT -Sensor
4.2: Arduino -Bibliothek für OLED -Anzeige
5: Schnittstelle ESP32 mit DHT11 -Sensor
5.1: Schema
5.2: Code
5.3: Ausgabe
1: Einführung in den DHT11 -Sensor
DHT11 ist eine der häufig verwendeten Temperatur- und Feuchtigkeitsüberwachungssensoren in der Elektronikgemeinschaft. Es ist genauer, Temperatur und relative Luftfeuchtigkeit zu verleihen. Es gibt ein kalibriertes digitales Signal aus, das in zwei verschiedene Ablesungen von Temperatur und Luftfeuchtigkeit ausspuckt wird.
Es verwendet die Digital-Signal-Akquisitionstechnik, die Zuverlässigkeit und Stabilität verleiht. Der DHT11. Beide sind in einen 8-Bit-Mikrocontroller integriert, der schnelle Reaktion, Anti-Interferenz-Fähigkeit und Kostenwirksamkeit bietet.
Hier sind einige wichtige technische Spezifikationen von DHT11:
Da wir eine grundlegende Einführung in den DHT11 -Sensor behandelt haben.
2: DHT11 -Sensor -Pinout
Meistens wird der DHT11 -Sensor in zwei verschiedenen Pinkonfigurationen geliefert. Der DHT11 -Sensor, der in 4 Stiftenkonfiguration erhältlich ist.
Das 3 -Pin -DHT11 -Sensormodul wird in drei Stiften ausgestattet, darunter Power, GND und Data Pin.
1: 3 Pin DHT11 -Sensor
Das gegebene Bild zeigt 3 Pin -Konfigurationen des DHT11 -Sensors.
Diese drei Stifte sind:
1. | Daten | Ausgangstemperatur und Luftfeuchtigkeit in seriellen Daten |
2. | VCC | Eingabestrick 3.5 V bis 5.5v |
3. | GND | GND der Schaltung |
2: 4 Pin DHT11 -Sensor
Das folgende Bild veranschaulicht 4 Pin DHT11 -Sensormodul:
Diese 4 Stifte umfassen:
1. | VCC | Eingabestrick 3.5 V bis 5.5v |
2. | Daten | Ausgangstemperatur und Luftfeuchtigkeit in seriellen Daten |
3. | NC | Keine Verbindung oder nicht verwendet |
4. | GND | GND der Schaltung |
3: OLED -Anzeigemodul mit ESP32
Das OLED -Display wird hauptsächlich mit zwei verschiedenen Kommunikationsprotokollen ausgestattet. Die beiden Protokolle sind I2C und SPI. Die serielle periphere Grenzfläche (SPI) ist im Allgemeinen schneller als I2C, aber wir haben I2C gegenüber dem SPI -Protokoll vorgezogen, da eine geringere Anzahl von Stiften erforderlich war.
Das folgende Bild zeigt das ESP32 -Verbindungsdiagramm mit 128 × 64 Pixel (0.96 ") OLED -Anzeige.
Unten finden Sie die Verbindungstabelle:
Sobald ESP32 mit einer OLED -Anzeige miteinander verbunden ist, wird der nächste Schritt in der Liste alle erforderlichen Bibliotheken für die ESP32 -Programmierung mit Arduino IDE installiert.
4: Installation der erforderlichen Bibliotheken
Hier werden wir zwei verschiedene Sensoren mit ESP32 anstellen, daher erfordern beide separate Bibliotheken, um zu arbeiten. Jetzt installieren wir Bibliotheken für DHT11 und OLED -Anzeige.
1: Arduino -Bibliothek für DHT -Sensor
Öffnen Sie Arduino ide, gehen Sie zu: Skizze> Bibliothek einschließen> Bibliotheken verwalten
Alternativ können wir den Bibliotheksmanager auch über die Seitentaste an der Arduino IDE -Schnittstelle öffnen.
Suchen Sie nach der DHT -Bibliothek und installieren Sie die neueste aktualisierte Version. Die DHT -Bibliothek hilft beim Lesen von Sensordaten.
Nach der Installation der DHT -Bibliothek müssen wir a installieren a Einheitliche Sensorbibliothek von Adafruit.
2: Arduino -Bibliothek für OLED -Anzeige
In Arduino IDE sind mehrere Bibliotheken erhältlich, um ESP32 mit einer OLED -Anzeige zu programmieren. Hier verwenden wir zwei Bibliotheken von Adafruit: SSD1306 und GFX Library.
Öffnen Sie die IDE und klicken Sie auf Bibliotheksmanager und suchen Sie nach der OLED SSD1306 -Bibliothek. Installieren Sie die SSD1306 -Bibliothek mit Adafruit aus der Suchleiste.
Alternativ kann man auch gehen: Skizze> Bibliothek einschließen> Bibliotheken verwalten
Die nächste Bibliothek, die wir installieren müssen, ist die GFX Bibliothek von Adafruit.
Wir haben Bibliotheken sowohl für den OLED -Display als auch für den DHT11 -Sensor installiert. Jetzt können wir beide leicht mit ESP32 interpretieren.
5: Schnittstelle ESP32 mit DHT11 -Sensor und OLED
Für die Schnittstellen von ESP32 mit DHT11 -Sensor benötigen wir einen digitalen Pin für das Lesen von Sensordaten und zum Durchführen von DHT11.
Für OLED -Displays werden I2C -Pins SDA und SCL verwendet. Zum Stromverbrauch können wir Vin oder einen 3V3 -Pin von ESP32 verwenden.
1: Schema
Im angegebenen Bild können wir das schematische Diagramm von ESP32 mit DHT11 sehen und für die Ausgabe wird ein OLED -Bildschirm verwendet. Dieses Bild repräsentiert das 3-polige Sensormodul-Schnitt mit ESP32. Denken Sie daran, einen Pull -Up -Widerstand von 10 kΩ zu verbinden.
In ähnlicher Weise kann auch 4 -Pin -DHT11 angeschlossen werden. Der einzige Unterschied ist hier der 3 -Stift, der nicht nützlich oder als keine Verbindung bezeichnet wird. Der Datenstift befindet sich an Pin 2 des Sensors.
Das OLED -Display wird mit den I2C SDA- und SCL -Stiften bei D21 bzw. D22 verbunden.
2: Code
Schließen Sie ESP32 mit PC an und öffnen Sie Arduino IDE. Laden Sie den angegebenen Code in das ESP32 -Board hoch.
#Include /*Einschließen der Drahtkommunikationsbibliothek* /
#enthalten
#include /*OLED -Display -Bibliothek* /
#enthalten
#Include /*Temperatur- und Feuchtigkeitssensorbibliothek* /
#define screen_width 128 /*OLED -Bildschirmbreite 128 Pixel* /
#define screen_height 64 /*OLED -Bildschirmhöhe 64 Pixel* /
Adafruit_ssd1306 display (screen_width, screen_height & draht, -1); /*SSD1306 I2C Anzeigeinitialisierung*/
#define dhtpin 4 /*Signalstift für DHT11 -Sensor* /
#define dhttype dht11
DHT DHT (DHTPIN, DHTTYPE);
void setup ()
Serie.Beginnen Sie (115200);
DHT.Start();
Wenn(!Anzeige.Start (SSD1306_Switchcapvcc, 0x3c)) /*I2C -Adresse, an der OLED angeschlossen ist* /
Serie.println (f ("SSD1306 -Allokation fehlgeschlagen");
für(;;);
Verzögerung (2000);
Anzeige.ClearDisplay ();
Anzeige.setTextColor (weiß); / *Ausgabe von Textfarbe weiß *////
void Loop ()
Verzögerung (5000);
float t = DHT.ReadTemperature (); /*Temperatur lesen*/
float h = dht.lesheuchtigkeits (); /*Feuchtigkeit lesen*/
if (isnan (h) || isnan (t))
Serie.println ("konnte nicht vom DHT -Sensor gelesen werden!");
Anzeige.ClearDisplay (); /*OLED -Anzeige löschen, bevor Sie Lesen anzeigen*/
Anzeige.setTextSize (1); /*OLED -Text Schriftgröße*/
Anzeige.setCursor (0,0);
Anzeige.print ("Temperatur:");
Anzeige.setTextSize (2);
Anzeige.setCursor (0,10);
Anzeige.print (t); /*Druckenstemperatur in Celsius*/
Anzeige.drucken(" ");
Anzeige.setTextSize (1);
Anzeige.cp437 (wahr);
Anzeige.schreiben (167);
Anzeige.setTextSize (2);
Anzeige.print ("c");
Anzeige.setTextSize (1);
Anzeige.setCursor (0, 35);
Anzeige.print ("Feuchtigkeit:");
Anzeige.setTextSize (2);
Anzeige.setCursor (0, 45);
Anzeige.Druck (h); /*druckt Feuchtigkeitsprozentsatz*//
Anzeige.drucken(" %");
Anzeige.Anzeige();
Der Code begann mit den erforderlichen Bibliotheken für OLED- und DHT11 -Sensoren. Danach sind die Dimensionen der OLED -Anzeige definiert. Als nächstes wird der DHT -Sensortyp für den Fall definiert, wenn Sie DHT22 verwenden, ihn entsprechend ersetzen.
Im Setup -Teil DHT -Sensor und OLED -Display werden initialisiert. Der OLED -Bildschirm ist an einer I2C -Adresse von 0x3c angeschlossen. Wenn man die I2C -Adresse überprüfen möchte, lade der in diesem Artikel angegebene Code hoch.
Die Temperatur- und Luftfeuchtigkeitswerte werden in der Schwimmervariablen gespeichert T Und H bzw. Danach werden beide Werte auf einer OLED -Anzeige gedruckt.
3: Ausgabe
In der Ausgabe sehen wir die in Echtzeit gemessene Temperatur und Luftfeuchtigkeit auf dem OLED -Bildschirm.
Wir haben die Schnittstelle von ESP32 mit DHT11 -Sensor und OLED -Bildschirm erfolgreich abgeschlossen.
Abschluss
OLED -Anzeigen mit ESP32 können mehrere Daten anzeigen, die mit den externen Sensoren gelesen werden. Hier deckt dieser Artikel alle Schritte zur Schnittstelle von ESP32 mit DHT11 -Sensor ab, um die Temperatur und Luftfeuchtigkeit eines Raums zu messen. Danach werden alle Lesedaten im I2C OLED -Anzeigemodul angezeigt.