ESPTOP 10 DHTTOP 10 Odczyty temperatury i wilgotności w wyświetlaczu OLED przy użyciu Arduino IDE

ESPTOP 10 DHTTOP 10 Odczyty temperatury i wilgotności w wyświetlaczu OLED przy użyciu Arduino IDE

ESP32 to zaawansowana płyta mikrokontrolera, która może uruchamiać wiele instrukcji w celu wygenerowania wyjść. Ekran OLED służy do wyświetlania różnych rodzajów danych. Używając ESP32 z czujnikiem DHT11, możemy przyjmować odczyty temperatury i wilgotności. Wszystkie te dane mogą być reprezentowane na wyświetlaczu OLED. Ten samouczek obejmuje wszystkie kroki potrzebne do połączenia tych czujników z ESP32.

Ten samouczek obejmuje następujące treści:

1: Wprowadzenie do czujnika DHT11

2: Pinout czujnika DHT11

2.1: 3 PIN CENTOR DHT11

2.2: 4 PIN DHT11 czujnik

3: Moduł wyświetlacza OLED z ESP32

4: Instalowanie wymaganych bibliotek

4.1: Biblioteka Arduino dla czujnika DHT

4.2: Biblioteka Arduino dla wyświetlacza OLED

5: Interfejs ESP32 z czujnikiem DHT11

5.1: Schemat

5.2: Kod

5.3: Wyjście

1: Wprowadzenie do czujnika DHT11

DHT11 jest jednym z powszechnie stosowanych czujników monitorowania temperatury i wilgotności w społeczności elektronicznej. Jest to bardziej precyzyjne w dawaniu temperatury i wilgotności względnej. Wyświetla skalibrowany sygnał cyfrowy, który wypluwa na dwa różne odczyty temperatury i wilgotności.

Wykorzystuje technikę cyfrowego-sygnału, która zapewnia niezawodność i stabilność. Czujnik DHT11 zawiera komponent pomiaru wilgotności typu rezystancyjnego i ma komponent pomiarowy temperatury NTC. Oba są zintegrowane z 8-bitowym wysoce wydajnym mikrokontrolem, który oferuje szybką reakcję, zdolność przeciw interferencji i opłacalność.

Oto kilka głównych specyfikacji technicznych DHT11:

    • Czujnik DHT11 działa przy napięciu od 5 V do 5.5v.
    • Prąd roboczy podczas pomiaru wynosi 0.3ma i w czasie rezerwowym wynosi 60UA.
    • Wydaj dane szeregowe w sygnale cyfrowym.
    • Temperatura zakresu czujnika DHT11 od 0 ° C do 50 ° C.
    • Zakres wilgotności: od 20% do 90%.
    • Dokładność ± 1 ° C dla pomiaru temperatury i ± 1% dla odczytów wilgotności względnej.

Ponieważ omówiliśmy podstawowe wprowadzenie do czujnika DHT11, przejdźmy teraz do pinout DHT11.

2: Pinout czujnika DHT11

Przez większość czasu czujnik DHT11 występuje w dwóch różnych konfiguracjach pinów. Czujnik DHT11, który występuje w konfiguracji 4 pinów, ma 3 piny, które nie działają lub oznaczone jako brak połączenia.

Moduł czujnika DHT11 3 PIN jest dostępny w trzech pinach, które obejmują moc, GND i pin z danych.

1: 3 PIN CENTOR DHT11

Podane zdjęcie pokazuje 3 konfiguracje pinu czujnika DHT11.


Te trzy szpilki to:

1. Dane Temperatura i wilgotność wyjściowa w danych szeregowych
2. VCC Moc wejściowa 3.5v do 5.5v
3. GND GND obwodu

2: 4 PIN DHT11 czujnik

Następujący obraz ilustruje 4 pin DHT11 Moduł czujnika:


Te 4 piny obejmują:

1. VCC Moc wejściowa 3.5v do 5.5v
2. Dane Temperatura i wilgotność wyjściowa w danych szeregowych
3. NC Brak połączenia lub nie używane
4. GND GND obwodu

3: Moduł wyświetlacza OLED z ESP32

Wyświetlacz OLED ma głównie dwa różne protokoły komunikacji. Dwa protokoły to I2C i SPI. Szeregowy interfejs peryferyjny (SPI) jest ogólnie szybszy niż I2C, ale preferowaliśmy I2C niż protokół SPI, ponieważ wymagał mniejszej liczby pinów.

Następujący obraz ilustruje schemat połączenia ESP32 z 128 × 64 pikseli (0.96 ") wyświetlacz OLED.


Poniżej znajduje się tabela połączeń:


Po interfejsach ESP32 z wyświetlaczem OLED, następnym krokiem na liście jest zainstalowanie wszystkich wymaganych bibliotek dla programowania ESP32 za pomocą Arduino IDE.

4: Instalowanie wymaganych bibliotek

Tutaj zamierzamy połączyć dwa różne czujniki z ESP32, więc oba wymagają oddzielnych bibliotek do działania. Teraz zainstalujemy biblioteki dla DHT11 i OLED Display.

1: Biblioteka Arduino dla czujnika DHT

Otwórz Arduino Ide, przejdź do: Szkic> Dołącz bibliotekę> Zarządzaj bibliotekami

Alternatywnie możemy również otworzyć menedżera biblioteki z przycisku bocznego na interfejsie Arduino IDE.

Wyszukaj bibliotekę DHT i zainstaluj najnowszą zaktualizowaną wersję. Biblioteka DHT pomoże odczytać dane czujnika.


Po zainstalowaniu biblioteki DHT musimy zainstalować Ujednolicona biblioteka czujników przez Adafruit.

2: Biblioteka Arduino dla wyświetlacza OLED

Wiele bibliotek jest dostępnych w Arduino IDE do programu ESP32 z wyświetlaczem OLED. Tutaj będziemy używać dwóch bibliotek z Adafruit: SSD1306 i GFX Library.

Otwórz IDE i kliknij Menedżer biblioteki i wyszukaj bibliotekę OLED SSD1306. Zainstaluj bibliotekę SSD1306 według Adafruit ze paska wyszukiwania.

Alternatywnie można również przejść do: Szkic> Dołącz bibliotekę> Zarządzaj bibliotekami


Następna biblioteka musimy zainstalować GFX Biblioteka Adafruit.


Zainstalowaliśmy biblioteki zarówno dla OLED wyświetlacza, jak i czujnika DHT11. Teraz możemy łatwo interfejs zarówno z ESP32.

5: Interfejs ESP32 z czujnikiem DHT11 i OLED

Do interfejsu ESP32 z czujnikiem DHT11 potrzebujemy cyfrowego styku do odczytu danych czujnika i zasilania czujnika DHT11, możemy użyć pin 3v3 lub pin VIN ESP32.

Do wyświetlania OLED i2C Pins SDA i SCL będą używane. Do zasilania możemy użyć VIN lub pin 3v3 ESP32.

1: Schemat

Na danym obrazie możemy zobaczyć schemat ESP32 z DHT11 i do wyjścia używana jest ekran OLED. Ten obraz reprezentuje 3-pinowe moduł czujnika interfejsem z ESP32. Pamiętaj, aby podłączyć rezystor podciągający 10 kΩ.


Podobnie można również podłączyć 4 -pinowy DHT11, jedyną różnicą jest 3 -pin, który nie jest użyteczny ani nie określany jako żadne połączenie. Pinek danych znajduje się na styku 2 czujnika.

Wyświetlacz OLED jest podłączony przy użyciu pinów I2C SDA i SCL odpowiednio w D21 i D22.

2: Kod

Podłącz ESP32 z komputerem i otwórz Arduino IDE. Prześlij dany kod na płytę ESP32.

#include /*zawiera bibliotekę komunikacji przewodowej* /
#włączać
#Include /*OLED Display Library* /
#włączać
#include /*biblioteka czujników temperatury i wilgotności* /
#Define Screen_Width 128 /*OLED Szerokość ekranu 128 pikseli* /
#Define Screen_Height 64 /*OLED Wysokość ekranu 64 pikseli* /
ADAFRUT_SSD1306 Wyświetlacz (Screen_Width, Screen_Height i Wire, -1); /*SSD1306 I2C Inicjalizacja wyświetlania*/
#Define DHTPin 4 /*Pin sygnałowy dla czujnika DHT11* /
#Define Dhttype DHT11
DHT DHT (DHTPIN, DHTTYPE);
void setup ()
Seryjny.rozpocząć (115200);
DHT.zaczynać();
Jeśli(!wyświetlacz.Rozpocznij (SSD1306_SWITCHCAPVCC, 0x3C)) /*I2C Adres, pod którym OLED jest podłączony* /
Seryjny.println (f („alokacja ssd1306 nie powiodła się”));
Do(;;);

Opóźnienie (2000);
wyświetlacz.clearDisplay ();
wyświetlacz.setTextColor (biały); / *Tekst wyjściowy kolor biały */

void Loop ()
opóźnienie (5000);
float t = dht.readTemperature (); /*Odczyt temperatura*/
float h = dht.ReadHumididge (); /*czytaj wilgotność*/
if (isnan (h) || isnan (t))
Seryjny.println („nie odczytał się z czujnika DHT!");

wyświetlacz.clearDisplay (); /*Wyczyść wyświetlacz OLED przed wyświetleniem odczytu*/
wyświetlacz.setTextSize (1); /*Rozmiar czcionki czcionki OLED*/
wyświetlacz.setCursor (0,0);
wyświetlacz.Drukuj („Temperatura:”);
wyświetlacz.setTextSize (2);
wyświetlacz.setCursor (0,10);
wyświetlacz.druk (t); /*Temperatura drukowania w Celsjusza*/
wyświetlacz.druk („”);
wyświetlacz.setTextSize (1);
wyświetlacz.CP437 (prawda);
wyświetlacz.Napisz (167);
wyświetlacz.setTextSize (2);
wyświetlacz.druk („c”);
wyświetlacz.setTextSize (1);
wyświetlacz.setCursor (0, 35);
wyświetlacz.Drukuj („wilgotność:”);
wyświetlacz.setTextSize (2);
wyświetlacz.setCursor (0, 45);
wyświetlacz.wydruku (h); /*drukuje procent wilgotności*/
wyświetlacz.druk („ %”);
wyświetlacz.wyświetlacz();


Kod rozpoczął się od włączenia niezbędnych bibliotek dla czujników OLED i DHT11. Po tym zdefiniowane są wymiary wyświetlania OLED. Następnie typ czujnika DHT jest zdefiniowany w przypadku, gdy używasz DHT22, wymień go odpowiednio.

W części konfiguracji czujnik DHT i wyświetlacz OLED jest inicjowany. Ekran OLED jest podłączony pod adresem I2C 0x3c. Na wypadek, gdyby można sprawdzić adres i2c Prześlij kod podany w tym artykule.

Wartości temperatury i wilgotności są przechowywane w zmiennej zmiennoprzecinkowej T I H odpowiednio. Następnie obie te wartości są drukowane na wyświetlaczu OLED.

3: Wyjście

W wyjściu możemy zobaczyć zmierzoną temperaturę i wilgotność w czasie rzeczywistym wyświetlanym na ekranie OLED.



Pomyślnie zakończyliśmy interfejs ESP32 z czujnikiem DHT11 i ekranem OLED.

Wniosek

Wyświetlacze OLED z ESP32 mogą wyświetlać wiele danych, które są odczytywane za pomocą czujników zewnętrznych. Tutaj ten artykuł obejmuje wszystkie kroki do interfejsu ESP32 z czujnikiem DHT11 w celu pomiaru temperatury i wilgotności pomieszczenia. Następnie wszystkie dane odczytu są wyświetlane na module wyświetlania OLED I2C.