ESP32 to zaawansowana płyta mikrokontrolera, która może uruchamiać wiele instrukcji w celu wygenerowania wyjść. Korzystając z ESP32 z różnymi czujnikami, możemy kontrolować wiele urządzeń i możemy podejmować pomiary w czasie rzeczywistym różnych parametrów, takich jak temperatura, ciśnienie, wilgotność lub wysokość. Dzisiaj połączymy czujnik DHT11 z ESP32, aby sprawdzić procent temperatury i wilgotności w naszym pomieszczeniu.
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: Instalowanie wymaganych bibliotek
4: Interfejs ESP32 z czujnikiem DHT11
4.1: Schemat
4.2: Sprzęt
4.3: Kod
4.4: Wyjście
1: Wprowadzenie do czujnika DHT11
DHT11 jest jednym z powszechnie stosowanych czujników monitorowania temperatury i wilgotności. 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:
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: Instalowanie wymaganych bibliotek
Aby połączyć czujnik DHT11 z ESP32, należy zainstalować niezbędne biblioteki. Bez korzystania z tych bibliotek DHT11 nie może nam pokazać odczytu temperatury w czasie rzeczywistym nad monitorem szeregowym.
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.
Pomyślnie zainstalowaliśmy wymagane biblioteki, a teraz możemy łatwo interfejs ESP32 z DHT11.
4: Interfejs ESP32 z czujnikiem DHT11
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.
1: Schemat
Na danym obrazie widzimy schematyczny schemat ESP32 z DHT11. 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. Pin z danych znajduje się na styku 2 czujnika:
2: Sprzęt
Po zaprojektowaniu tego samego obwodu, co w schemacie, możemy zobaczyć obraz sprzętowy ESP32, jak pokazano poniżej:
3: Kod
Podłącz ESP32 z komputerem i otwórz Arduino IDE. Prześlij dany kod na płytę ESP32.
#include "dht.H"
#definicja DHTPIN 4
#Define Dhttype DHT11
DHT DHT (DHTPIN, DHTTYPE);
void setup ()
Seryjny.rozpocząć (115200);
Seryjny.println (f („test DHTXX!"));
DHT.zaczynać();
void Loop ()
Opóźnienie (2000);
float h = dht.ReadHumididge ();
float t = dht.readTemperature (); /*Odczytaj domyślną temperaturę w Celsjusza*/
float f = dht.ReadTemperature (true); /*Odczyt temperatura w Fahrenheit*/
if (isnan (h) || isnan (t) || isnan (f)) /*Jeśli warunek sprawdził wszystkie wzięte czytanie lub nie* /
Seryjny.println (f („Nie udało się odczytać z czujnika DHT!"));
powrót;
Seryjny.print (f („wilgotność:”)); /*drukuje wartość wilgotności*/
Seryjny.wydruku (h);
Seryjny.druk (f („% temperatura:”));
Seryjny.druk (t);
Seryjny.print (F („° C”)); /*drukuje temperaturę w Celsjusza*/
Seryjny.druk (f);
Seryjny.println (f („° f”)); /*drukuje temperaturę w Fahrenheit*/
Kod rozpoczął się od włączenia biblioteki DHT. Cyfrowy pin ESP32 jest inicjowany w celu odczytu temperatury i wilgotności. Po tym zdefiniowano czujnik DHT11. Trzy zmienne H, T I F są tworzone, które przechowują wartość wilgotności, temperatury w Celsjuszu i Fahrenheita w formacie pływakowym.
Na końcu programu każdy z nich jest drukowany na monitorze szeregowym.
4: Wyjście
W terminalu wyjściowym IDE możemy zobaczyć wydrukowane wilgotność i odczyty temperatury.
Z powodzeniem zakończyliśmy interfejs ESP32 z czujnikiem DHT11.
Wniosek
ESP32 to urządzenie wielowymiarowe, które może poprawić działanie poprzez interfejs różnych czujników. Tutaj w tej lekcji skonfigurowaliśmy ESP32 z czujnikiem DHT11 do pomiaru temperatury i wilgotności pomieszczenia. Korzystanie z kodu Arduino podanego dowolnego z czujników DHT11 można skonfigurować do odczytów.