ESP32 DHT11 temperatūras un mitruma rādījumi OLED displejā, izmantojot Arduino IDE

Esp32 Dht11 Temperaturas Un Mitruma Radijumi Oled Displeja Izmantojot Arduino Ide



ESP32 ir uzlabota mikrokontrollera plate, kas var izpildīt vairākas instrukcijas, lai ģenerētu izejas. OLED ekrāns tiek izmantots dažādu datu attēlošanai. Izmantojot ESP32 ar DHT11 sensoru, mēs varam veikt temperatūras un mitruma rādījumus. Visus šos datus var attēlot OLED displejā. Šajā apmācībā ir aprakstītas visas darbības, kas nepieciešamas šo sensoru saskarnei ar ESP32.

Šī apmācība aptver šādu saturu:







1: Ievads DHT11 sensorā



2: DHT11 sensora spraudnis



2.1: 3 kontaktu DHT11 sensors





2.2: 4 kontaktu DHT11 sensors

3: OLED displeja modulis ar ESP32



4: Nepieciešamo bibliotēku instalēšana

4.1: Arduino bibliotēka DHT sensoram

4.2: Arduino bibliotēka OLED displejam

5: ESP32 savienošana ar DHT11 sensoru

5.1: shematisks

5.2: kods

5.3: izvade

1: Ievads DHT11 sensorā

DHT11 ir viens no elektronikas aprindās visbiežāk izmantotajiem temperatūras un mitruma uzraudzības sensoriem. Tas ir precīzāks, norādot temperatūru un relatīvo mitrumu. Tas izvada kalibrētu digitālo signālu, kas tiek izvadīts divos dažādos temperatūras un mitruma rādījumos.

Tas izmanto digitālā signāla iegūšanas paņēmienu, kas nodrošina uzticamību un stabilitāti. DHT11 sensors satur pretestības tipa mitruma mērīšanas komponentu un NTC temperatūras mērīšanas komponentu. Abi tie ir integrēti 8 bitu ļoti efektīvā mikrokontrollerī, kas nodrošina ātru reakciju, prettraucējumu spēju un izmaksu efektivitāti.

Šeit ir dažas galvenās DHT11 tehniskās specifikācijas:

    • DHT11 sensors darbojas ar spriegumu no 5V līdz 5,5V.
    • Darba strāva mērīšanas laikā ir 0,3 mA un gaidīšanas režīmā ir 60 uA.
    • Tas izvada sērijas datus digitālā signālā.
    • DHT11 sensora temperatūras diapazons ir no 0°C līdz 50°C.
    • Mitruma diapazons: no 20% līdz 90%.
    • Precizitāte ±1°C temperatūras mērīšanai un ±1% relatīvā mitruma rādījumiem.

Tā kā mēs esam apskatījuši DHT11 sensora pamata ievadu, tagad virzīsimies uz DHT11 kontaktu.

2: DHT11 sensora spraudnis

Lielāko daļu laika DHT11 sensoram ir divas dažādas tapas konfigurācijas. DHT11 sensoram, kas tiek piegādāts 4 kontaktu konfigurācijā, 3 tapas nedarbojas vai marķētas kā savienojuma neesamība.

3 kontaktu DHT11 sensora modulim ir trīs kontakti, kas ietver barošanas, GND un datu tapu.

2.1: 3 kontaktu DHT11 sensors

Dotajā attēlā redzamas DHT11 sensora 3 kontaktu konfigurācijas.


Šīs trīs tapas ir:

1. Dati Izejas temperatūra un mitrums sērijas datos
2. Vcc Ieejas jauda no 3,5 V līdz 5,5 V
3. GND ķēdes GND

2.2: 4 kontaktu DHT11 sensors

Nākamajā attēlā parādīts 4 kontaktu DHT11 sensora modulis:


Šīs 4 tapas ietver:

1. Vcc Ieejas jauda no 3,5 V līdz 5,5 V
2. Dati Izejas temperatūra un mitrums sērijas datos
3. NC Nav savienojuma vai netiek lietots
Četri. GND ķēdes GND

3: OLED displeja modulis ar ESP32

OLED displejam galvenokārt ir divi dažādi sakaru protokoli. Abi protokoli ir I2C un SPI. Seriālā perifērijas saskarne (SPI) parasti ir ātrāka par I2C, taču mēs devām priekšroku I2C, nevis SPI protokolam, jo ​​tam bija nepieciešams mazāks tapu skaits.

Nākamajā attēlā ir parādīta ESP32 savienojuma shēma ar 128 × 64 pikseļu (0,96 collu) OLED displeju.


Zemāk ir savienojuma tabula:


Kad ESP32 ir savienots ar OLED displeju, nākamais solis sarakstā ir instalēt visas ESP32 programmēšanai nepieciešamās bibliotēkas, izmantojot Arduino IDE.

4: Nepieciešamo bibliotēku instalēšana

Šeit mēs saskarsimies ar diviem dažādiem sensoriem ar ESP32, tāpēc abiem ir nepieciešamas atsevišķas bibliotēkas. Tagad mēs instalēsim bibliotēkas DHT11 un OLED displejiem.

4.1: Arduino bibliotēka DHT sensoram

Atveriet Arduino IDE, dodieties uz: Skice>Iekļaut bibliotēku>Pārvaldīt bibliotēkas

Alternatīvi, mēs varam arī atvērt bibliotēkas pārvaldnieku no sānu pogas Arduino IDE saskarnē.

Atrodiet DHT bibliotēku un instalējiet jaunāko atjaunināto versiju. DHT bibliotēka palīdzēs nolasīt sensora datus.


Pēc DHT bibliotēkas instalēšanas mums ir jāinstalē a vienota sensoru bibliotēka ar Adafruit.

4.2: Arduino bibliotēka OLED displejam

Arduino IDE ir pieejamas vairākas bibliotēkas, lai programmētu ESP32 ar OLED displeju. Šeit mēs izmantosim divas Adafruit bibliotēkas: SSD1306 un GFX bibliotēku.

Atveriet IDE un noklikšķiniet uz Bibliotēkas pārvaldnieks un meklējiet OLED SSD1306 bibliotēku. Instalējiet Adafruit SSD1306 bibliotēku no meklēšanas joslas.

Alternatīvi var doties uz: Skice>Iekļaut bibliotēku>Pārvaldīt bibliotēkas


Nākamā bibliotēka, kas mums jāinstalē, ir GFX Adafruit bibliotēka.


Mēs esam uzstādījuši bibliotēkas gan OLED displejam, gan DHT11 sensoram. Tagad mēs varam viegli saskarties ar ESP32.

5: ESP32 saskarne ar DHT11 sensoru un OLED

Lai savienotu ESP32 ar DHT11 sensoru, mums ir nepieciešama digitālā tapa sensora datu nolasīšanai, un DHT11 sensora barošanai mēs varam izmantot ESP32 3V3 kontaktu vai Vin tapu.

OLED displejam tiks izmantotas I2C tapas SDA un SCL. Barošanas nodrošināšanai mēs varam izmantot Vin vai ESP32 3V3 tapu.

5.1: shematisks

Dotajā attēlā redzama ESP32 shematiskā diagramma ar DHT11 un izvadei tiek izmantots OLED ekrāns. Šis attēls attēlo 3 kontaktu sensora moduļa saskarni ar ESP32. Atcerieties pieslēgt 10kΩ vilkšanas rezistoru.


Līdzīgi var pieslēgt arī 4 kontaktu DHT11, vienīgā atšķirība šeit ir 3 kontakti, kas nav noderīgi vai tiek saukti par savienojuma neesamību. Datu tapa atrodas sensora 2. tapā.

OLED displejs ir pievienots, izmantojot I2C SDA un SCL tapas attiecīgi D21 un D22.

5.2: kods

Savienojiet ESP32 ar datoru un atveriet Arduino IDE. Augšupielādējiet doto kodu ESP32 platē.

#include             /*Iekļaut vadu sakaru bibliotēku*/
#include
#include /*OLED displeja bibliotēka*/
#include
#include             /*Temperatūras un mitruma sensoru bibliotēka*/
#define SCREEN_WIDTH 128    /*OLED ekrāna platums 128 pikseļi*/
#define SCREEN_HEIGHT 64   /*OLED ekrāna augstums 64 pikseļi*/
Adafruit_SSD1306 displejs ( SCREEN_WIDTH, SCREEN_HEIGHT, & vads, - 1 ) ; /* SSD1306 I2C Displeja inicializācija */
#define DHTPIN 4          /*Signāla tapa DHT11 sensoram*/
#define DHTTYPE    DHT11
DHT dht ( DHTPIN, DHTTYPE ) ;
tukša iestatīšana ( ) {
Sērija.sākt ( 115200 ) ;
dht.begin ( ) ;
ja ( ! parādīt.sākt ( SSD1306_SWITCHCAPVCC, 0x3C ) ) { /* I2C adrese plkst kuras OLED ir pievienots */
Serial.println ( F ( 'SSD1306 piešķiršana neizdevās' ) ) ;
priekš ( ;; ) ;
}
kavēšanās ( 2000. gads ) ;
display.clearDisplejs ( ) ;
display.setTextColor ( BALTS ) ; /* Izvades teksta krāsa balta */
}
tukša cilpa ( ) {
kavēšanās ( 5000 ) ;
peldēt t = dht.readTemperature ( ) ; /* lasīt temperatūra */
pludiņš h = dht.readHumidity ( ) ; /* lasīt mitrums */
ja ( ir ( h ) || ir ( t ) ) {
Serial.println ( 'Neizdevās nolasīt no DHT sensora!' ) ;
}
display.clearDisplejs ( ) ; /* skaidrs OLED displejs pirms lasīšanas parādīšanas */
display.setTextSize ( 1 ) ; /* OLED teksta fonts Izmērs */
display.setCursor ( 0 , 0 ) ;
display.print ( 'Temperatūra: ' ) ;
display.setTextSize ( 2 ) ;
display.setCursor ( 0 , 10 ) ;
display.print ( t ) ; /* drukas temperatūra iekšā Celsija */
display.print ( ' ' ) ;
display.setTextSize ( 1 ) ;
displejs.cp437 ( taisnība ) ;
parādīt.rakstīt ( 167 ) ;
display.setTextSize ( 2 ) ;
display.print ( 'C' ) ;

display.setTextSize ( 1 ) ;
display.setCursor ( 0 , 35 ) ;
display.print ( 'Mitrums:' ) ;
display.setTextSize ( 2 ) ;
display.setCursor ( 0 , Četri, pieci ) ;
display.print ( h ) ; /* drukā mitruma procentu */
display.print ( '%' ) ;
displejs.displejs ( ) ;
}


Kods sākās, iekļaujot nepieciešamās bibliotēkas OLED un DHT11 sensoriem. Pēc tam tiek noteikti OLED displeja izmēri. Tālāk tiek definēts DHT sensora tips gadījumā, ja izmantojat DHT22, to attiecīgi nomainiet.

Iestatīšanas daļā tiek inicializēts DHT sensors un OLED displejs. OLED ekrāns ir savienots ar I2C adresi 0x3C. Ja vēlaties pārbaudīt I2C adresi, augšupielādējiet šeit norādīto kodu rakstu .

Temperatūras un mitruma vērtības tiek saglabātas pludiņa mainīgā lielumā t un h attiecīgi. Pēc tam abas šīs vērtības tiek izdrukātas uz OLED displeja.

5.3: izvade

Izvadā mēs varam redzēt reāllaika izmērīto temperatūru un mitrumu, kas tiek parādīts OLED ekrānā.




Esam veiksmīgi pabeiguši ESP32 saskarni ar DHT11 sensoru un OLED ekrānu.

Secinājums

OLED displeji ar ESP32 var parādīt vairākus datus, kas tiek nolasīti, izmantojot ārējos sensorus. Šajā rakstā ir aprakstītas visas darbības ESP32 savienošanai ar DHT11 sensoru, lai izmērītu telpas temperatūru un mitrumu. Pēc tam visi nolasītie dati tiek parādīti I2C OLED displeja modulī.