W tym projekcie będziemy używać czujnika Arduino Nano i DHT11 do stworzenia systemu monitorowania temperatury i wilgotności. Arduino nano odczytuje wartości temperatury i wilgotności z DHT11 i pokaże na OLED.
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 Arduino nano
4: Instalowanie wymaganych bibliotek
4.1: Biblioteka Arduino dla czujnika DHT
4.2: Biblioteka Arduino dla wyświetlacza OLED
5: Sprawdź adres OLED I2C w Arduino nano
6: Interfejs Arduino nano z czujnikiem DHT11 i OLED
6.1: Schemat
6.2: Kod
6.3: Wyjście
1: Wprowadzenie do czujnika DHT11
Czujnik DHT11 to kompaktowe i tanie urządzenie do pomiaru temperatury i wilgotności. Arduino Nano z DHT11 jest używane do projektowania przenośnych stacji pogodowych, systemów HVAC i systemów automatyki domowej.
Czujnik DHT11 składa się z elementu wykrywania wilgotności i elementu wykrywania temperatury, które są łączone na jednym obwodzie zintegrowanym. Czujnik jest w stanie pomiar zarówno wilgotności względnej, jak i temperatury, i może przesyłać te dane za pomocą sygnału cyfrowego do mikrokontrolera lub innego urządzenia.
Czujnik DHT11 można zintegrować i kontrolować za pomocą kodu Arduino. Można go podłączyć do komputera mikrokontrolera lub jednorazowego użytku za pomocą przewodów skoczkowych i płyty chlebowej, i można go łatwo zintegrować z różnorodnymi projektami.
Pewna główna specyfikacja DHT11:
Teraz omówiliśmy podstawy czujnika DHT11. Teraz omówimy pinout DHT11.
2: Pinout czujnika DHT11
DHT11 ma dwa warianty, jeden z 4 szpilkami i drugi z 3 pinami. Tylko różnica polega na tym, że 4 -pinowy czujnik DHT11 ma dodatkowy szpilka bez połączenia. Ten szpilka jest oznaczona jako NC i nie używane do żadnego celu.
3 szpilki DHT11 to:
2.1: 3 PIN CENTOR DHT11
Następujący pinout ma 3 piny DHT11:
1 | Dane | Odczyty temperatury wyjściowej i wartości wilgotności |
2 | VCC | Napięcie wejściowe między 3.5v do 5.5v |
3 | GND | GND |
2.2: 4 PIN DHT11 czujnik
Poniżej znajduje się 4 -pinowy pinout czujnika DHT11:
Te 4 piny czujnika DHT11 obejmuje:
1 | VCC | Wejście 3.5v do 5.5v |
2 | Dane | Temperatura wyjściowa i odczyty wilgotności |
3 | NC | Brak szpilki połączenia |
4 | GND | GND |
3: Moduł wyświetlacza OLED z Arduino nano
Wyświetlacz OLED ma głównie dwa różne protokoły komunikacji. Te dwa są I2C i SPI. Protokół SPI jest szybszy w porównaniu z I2C, ale I2C jest preferowany i ma przewagę nad SPI z powodu mniej wymaganych pinów.
Następujący obraz ilustruje schemat połączenia Arduino nano z 128 × 64 pikseli (0.96 ") wyświetlacz OLED.
Poniżej tabela Pokaż konfigurację pinout OLED z nano:
Gdy połączyliśmy Arduino nano z wyświetlaczem OLED. Aby wyświetlić dane na ekranie OLED, musimy najpierw zainstalować niektóre niezbędne biblioteki.
4: Instalowanie wymaganych bibliotek
Włączamy dwa czujniki; Jeden to wyświetlacz OLED, a drugi to czujnik DHT11. Oba czujniki wymagały oddzielnych bibliotek do funkcjonowania. Teraz zainstalujemy osobne biblioteki dla ekranów DHT11 i OLED.
4.1: Biblioteka Arduino dla czujnika DHT
Otwórz IDE, przejdź do: Szkic> Dołącz bibliotekę> Zarządzaj bibliotekami:
Można również użyć menedżera biblioteki Arduino do instalowania bibliotek. Przeszukaj bibliotekę czujników DHT11 i zainstaluj zaktualizowaną wersję. Ta biblioteka odczytuje dane z czujnika DHT11.
Teraz zainstalujemy Ujednolicona biblioteka czujników.
Instalowane są biblioteki czujników DHT11. Następnie należy zainstalować biblioteki OLED.
4.2: Biblioteka Arduino dla wyświetlacza OLED
W IDE dostępnych jest wiele bibliotek do wyświetlacza OLED. Będziemy używać biblioteki Adafruit GFX i SSD1306 do wyświetlacza OLED.
Otwórz IDE i przeszukaj bibliotekę SSD1306 w menedżerze biblioteki:
Po zainstalowaniu biblioteki SSD1306 zainstaluj GFX Biblioteka przez Adafruit:
Zainstalowaliśmy biblioteki dla obu czujników, a teraz możemy przesłać kod w Arduino Nano. Ale wcześniej konieczne jest sprawdzenie adresu OLED I2C.
5: Sprawdź adres OLED I2C w Arduino nano
I2C umożliwia podłączenie wielu urządzeń i komunikowanie się ze sobą nad interfejsem dwuprzewodowym. Każde urządzenie I2C musi mieć unikalny adres, od 0 do 127, aby upewnić się, że można go zidentyfikować i komunikować na linii I2C. Wiele urządzeń z tym samym adresem nie można podłączyć w tej samej magistrali I2C.
Podłącz wyświetlacz OLED z Arduino Nano i po wybraniu płyty i portu w Arduino IDE Prześlij kod podany w urządzeniach skanowania artykułów w Arduino. Po przesłaniu kodu otrzymamy adres I2C wyświetlacza OLED, który w naszym przypadku jest 0x3c:
Zdefiniujemy ten adres I2C w kodzie Arduino.
6: Interfejs Arduino nano z czujnikiem DHT11 i OLED
Do interfejsu Arduino Nano z DHT11 do odczytu danych zostanie użyty cyfrowy pin nano. Aby zasilić DHT11 5v Nano Pin zostanie połączony.
Do Pinów ELED Ekran I2C SDA I Scl Na A4 I A5 Zastosowane będą szpilki Arduino nano. Do zasilania OLED 5V Pin z Arduino nano będzie używany.
6.1: Schemat
Poniżej znajduje się schematyczny schemat Arduino nano z czujnikiem DHT11 i wyświetlanie wartości odczytu używane jest ekran OLED. Ten schematyczny obraz ma 3 -pinowy czujnik DHT11. Rezystor podciągający 10kΩ jest zintegrowany na wyjściu DHT11.
Podobnie 4 -pinowy czujnik DHT11 jest połączony z płytą Nano. Wyświetlacz OLED jest podłączony do pinów A4 i A5 GPIO Nano za pomocą komunikacji I2C. DHT11 Pin 2 to wyjście danych. 4 -pinowy DHT11 ma dodatkowe 1 pin, który nie ma sensu.
6.2: Kod
Podłącz Arduino Nano i prześlij dany kod:
#Include /*Wire Communication Library* /Na początku kodu dołączyliśmy biblioteki czujników OLED i DHT. Następny rozmiar ekranu OLED jest zdefiniowany w pikselach. Po tym typu czujnika DHT jest inicjowany. Jeśli używasz innego rodzaju DHT11, odpowiednio odrzuć nazwę czujnika w kodzie.
Następnie w kodzie zainicjowaliśmy czujnik DHT i OLED. OLED jest podłączony pod adresem 0x3c i2c. Adres I2C można sprawdzić za pomocą kodu w tym artykule.
Dwie zmienne pływakowe T I H będzie przechowywać odpowiednio wartości temperatury i wilgotności. Lasty w kodzie wszystkie wartości są wyświetlane na ekranie OLED za pomocą funkcji biblioteki OLED GFX.
6.3: Wyjście
Wyjście pokazuje wartości temperatury i wilgotności w czasie rzeczywistym wyświetlane na ekranie OLED:
Zakończyliśmy interfejs czujnika OLED i DHT11 z Arduino Nano Board.
Wniosek
Arduino nano można zintegrować z wieloma czujnikami. Ten artykuł obejmuje interfejs czujnika OLED i DHT11 z Arduino Nano. Za pomocą DHT11 mierzyliśmy temperaturę i wilgotność, które są wyświetlane na OLED. Za pomocą danego kodu dowolnego nano Arduino można zaprogramować do wyświetlania odczytów czujników na ekranie OLED.