ESP32 DHT11 lämpötila- ja kosteuslukemat OLED-näytössä Arduino IDE:llä

Esp32 Dht11 Lampotila Ja Kosteuslukemat Oled Naytossa Arduino Ide Lla



ESP32 on edistynyt mikro-ohjainkortti, joka voi suorittaa useita komentoja lähtöjen luomiseksi. OLED-näyttöä käytetään erilaisten tietojen näyttämiseen. Käyttämällä ESP32:ta DHT11-anturin kanssa voimme ottaa lämpötila- ja kosteuslukemat. Kaikki nämä tiedot voidaan esittää OLED-näytöllä. Tämä opetusohjelma kattaa kaikki vaiheet, joita tarvitaan näiden antureiden liittämiseen ESP32:een.

Tämä opetusohjelma kattaa seuraavan sisällön:







1: DHT11-anturin esittely



2: DHT11-anturin liitin



2.1: 3-nastainen DHT11-anturi





2.2: 4-nastainen DHT11-anturi

3: OLED-näyttömoduuli ESP32:lla



4: Vaadittujen kirjastojen asentaminen

4.1: Arduino-kirjasto DHT-anturille

4.2: Arduino-kirjasto OLED-näytölle

5: ESP32:n liittäminen DHT11-anturin kanssa

5.1: Kaavamainen

5.2: Koodi

5.3: Lähtö

1: DHT11-anturin esittely

DHT11 on yksi elektroniikkayhteisön yleisesti käytetyistä lämpötilan ja kosteuden valvontaantureista. Se on tarkempi lämpötilan ja suhteellisen kosteuden ilmoittamisessa. Se lähettää kalibroidun digitaalisen signaalin, joka sylkee kahteen lämpötila- ja kosteuslukemaan.

Se käyttää digitaalisen signaalin hankintatekniikkaa, joka antaa luotettavuuden ja vakauden. DHT11-anturi sisältää resistiivisen kosteutta mittaavan komponentin ja NTC-lämpötilan mittauskomponentin. Molemmat on integroitu 8-bittiseen erittäin tehokkaaseen mikro-ohjaimeen, joka tarjoaa nopean vasteen, häiriönestokyvyn ja kustannustehokkuuden.

Tässä on joitain DHT11:n tärkeimpiä teknisiä tietoja:

    • DHT11-anturi toimii jännitteellä 5–5,5 V.
    • Käyttövirta mittauksen aikana on 0,3mA ja valmiustilassa 60uA.
    • Se lähettää sarjatiedot digitaalisena signaalina.
    • DHT11-anturin lämpötila vaihtelee 0°C - 50°C.
    • Kosteusalue: 20% - 90%.
    • Tarkkuus ±1°C lämpötilan mittauksessa ja ±1 % suhteellisen kosteuden mittauksissa.

Koska olemme käsitelleet DHT11-anturin perusesittelyn, siirrytään nyt kohti DHT11:n pinoutia.

2: DHT11-anturin liitin

Suurimman osan ajasta DHT11-anturissa on kaksi erilaista nastakokoonpanoa. DHT11-anturissa, joka on saatavana 4-nastaisena, on 3 nastaa, jotka eivät toimi tai on merkitty liittämättömäksi.

3-nastaisessa DHT11-anturimoduulissa on kolme nastaa, jotka sisältävät virta-, GND- ja datanastan.

2.1: 3-nastainen DHT11-anturi

Tässä kuvassa näkyy DHT11-anturin 3-nastainen kokoonpano.


Nämä kolme nastaa ovat:

1. Data Lähtölämpötila ja kosteus sarjatiedoissa
2. Vcc Syöttöteho 3,5 - 5,5 V
3. GND Piirin GND

2.2: 4-nastainen DHT11-anturi

Seuraava kuva havainnollistaa 4-nastaista DHT11-anturimoduulia:


Nämä 4 nastaa sisältävät:

1. Vcc Syöttöteho 3,5 - 5,5 V
2. Data Lähtölämpötila ja kosteus sarjatiedoissa
3. NC Ei yhteyttä tai sitä ei käytetä
Neljä. GND Piirin GND

3: OLED-näyttömoduuli ESP32:lla

OLED-näytössä on pääasiassa kaksi erilaista viestintäprotokollaa. Kaksi protokollaa ovat I2C ja SPI. Serial peripheral interface (SPI) on yleensä nopeampi kuin I2C, mutta suosimme I2C:tä SPI-protokollan sijaan, koska se vaati pienemmän määrän nastoja.

Seuraava kuva havainnollistaa ESP32-liitäntäkaaviota 128×64 pikselin (0,96 tuuman) OLED-näytöllä.


Alla on kytkentätaulukko:


Kun ESP32 on liitetty OLED-näytön kanssa, luettelon seuraava vaihe on asentaa kaikki tarvittavat kirjastot ESP32-ohjelmointia varten Arduino IDE:n avulla.

4: Vaadittujen kirjastojen asentaminen

Tässä aiomme liittää kaksi erilaista anturia ESP32:een, joten molemmat vaativat erilliset kirjastot toimiakseen. Nyt asennamme kirjastot DHT11- ja OLED-näytöille.

4.1: Arduino-kirjasto DHT-anturille

Avaa Arduino IDE, mene osoitteeseen: Luonnos>Sisällytä kirjasto>Hallinnoi kirjastoja

Vaihtoehtoisesti voimme myös avata kirjastonhallinnan Arduino IDE -rajapinnan sivupainikkeesta.

Etsi DHT-kirjasto ja asenna uusin päivitetty versio. DHT-kirjasto auttaa lukemaan anturitietoja.


Kun olet asentanut DHT-kirjaston seuraavaksi, meidän on asennettava a yhtenäinen anturikirjasto kirjoittanut Adafruit.

4.2: Arduino-kirjasto OLED-näytölle

Arduino IDE:ssä on saatavilla useita kirjastoja ESP32:n ohjelmoimiseksi OLED-näytöllä. Tässä käytämme kahta Adafruitin kirjastoa: SSD1306 ja GFX-kirjasto.

Avaa IDE ja napsauta Library Manager ja etsi OLED SSD1306 -kirjasto. Asenna Adafruitin SSD1306-kirjasto hakupalkista.

Vaihtoehtoisesti voit myös mennä osoitteeseen: Luonnos>Sisällytä kirjasto>Hallinnoi kirjastoja


Seuraava kirjasto, joka meidän on asennettava, on GFX Adafruitin kirjasto.


Olemme asentaneet kirjastot sekä OLED-näytölle että DHT11-anturille. Nyt voimme helposti liittää molemmat ESP32:een.

5: Liitännät ESP32:lle DHT11-anturin ja OLEDin kanssa

ESP32:n liittämiseen DHT11-anturin kanssa tarvitsemme digitaalisen nastan anturitietojen lukemiseen ja DHT11-anturin virransyöttöön voimme käyttää joko ESP32:n 3V3-nastaa tai Vin-nastaa.

OLED-näytössä käytetään SDA- ja SCL-nastaa I2C. Virransyöttöä varten voimme käyttää Vin tai ESP32 3V3-nastaa.

5.1: Kaavamainen

Annetussa kuvassa näemme ESP32:n kaavion DHT11:n kanssa ja ulostulona käytetään OLED-näyttöä. Tämä kuva esittää 3-nastaista anturimoduulia, joka on yhteydessä ESP32:een. Muista kytkeä 10kΩ vetovastus.


Samoin 4-pinninen DHT11 voidaan kytkeä, ainoa ero tässä on 3-pinninen, josta ei ole hyötyä tai jota kutsutaan nimellä Ei yhteyttä. Datanasta on anturin nastassa 2.

OLED-näyttö liitetään I2C SDA- ja SCL-nastoilla D21:ssä ja D22:ssa.

5.2: Koodi

Yhdistä ESP32 PC:hen ja avaa Arduino IDE. Lataa annettu koodi ESP32-kortille.

#include             /*Sisällytä lankaviestintäkirjasto*/
#include
#include /*OLED-näyttökirjasto*/
#include
#include             /*Lämpötila- ja kosteusanturikirjasto*/
#define SCREEN_WIDTH 128    /*OLED-näytön leveys 128 pikseliä*/
#define SCREEN_HEIGHT 64   /*OLED-näytön korkeus 64 pikseliä*/
Adafruit_SSD1306 näyttö ( SCREEN_WIDTH, SCREEN_HEIGHT, & lanka, - 1 ) ; /* SSD1306 I2C Näytön alustus */
#define DHTPIN 4          /*DHT11-anturin signaalinasta*/
#define DHTTYPE    DHT11
DHT dht ( DHTPIN, DHTTYPE ) ;
tyhjä asetus ( ) {
Serial.begin ( 115 200 ) ;
dht.begin ( ) ;
jos ( ! display.begin ( SSD1306_SWITCHCAPVCC, 0x3C ) ) { /* I2C-osoite osoitteessa joka OLED on kytketty */
Serial.println ( F ( 'SSD1306-allokointi epäonnistui' ) ) ;
varten ( ;; ) ;
}
viive ( 2000 ) ;
display.clearNäyttö ( ) ;
display.setTextColor ( VALKOINEN ) ; /* Tulostuksen tekstin väri valkoinen */
}
tyhjä silmukka ( ) {
viive ( 5000 ) ;
float t = dht.readTemperature ( ) ; /* lukea lämpötila */
float h = dht.read Humidity ( ) ; /* lukea kosteus */
jos ( on ( h ) || on ( t ) ) {
Serial.println ( 'DHT-anturin lukeminen epäonnistui!' ) ;
}
display.clearNäyttö ( ) ; /* asia selvä OLED-näyttö ennen lukeman näyttämistä */
display.setTextSize ( 1 ) ; /* OLED-tekstin fontti koko */
display.setCursor ( 0 , 0 ) ;
display.print ( 'Lämpötila:' ) ;
display.setTextSize ( 2 ) ;
display.setCursor ( 0 , 10 ) ;
display.print ( t ) ; /* tulostuslämpötila sisään Celsius */
display.print ( ' ' ) ;
display.setTextSize ( 1 ) ;
display.cp437 ( totta ) ;
display.write ( 167 ) ;
display.setTextSize ( 2 ) ;
display.print ( 'C' ) ;

display.setTextSize ( 1 ) ;
display.setCursor ( 0 , 35 ) ;
display.print ( 'Kosteus:' ) ;
display.setTextSize ( 2 ) ;
display.setCursor ( 0 , Neljä viisi ) ;
display.print ( h ) ; /* tulostaa kosteusprosentin */
display.print ( '%' ) ;
näyttö.näyttö ( ) ;
}


Koodi aloitettiin sisällyttämällä tarvittavat kirjastot OLED- ja DHT11-antureille. Tämän jälkeen määritellään OLED-näytön mitat. Seuraavaksi määritellään DHT-anturin tyyppi siltä varalta, että jos käytät DHT22:ta, vaihda se vastaavasti.

Asetusosassa DHT-anturi ja OLED-näyttö alustetaan. OLED-näyttö on kytketty I2C-osoitteeseen 0x3C. Jos haluat tarkistaa I2C-osoitteen, lataa tässä annettu koodi artikla .

Lämpötila- ja kosteusarvot tallennetaan uimurimuuttujan sisään t ja h vastaavasti. Sen jälkeen molemmat arvot tulostetaan OLED-näytölle.

5.3: Lähtö

Ulostulossa näemme reaaliaikaisesti mitatun lämpötilan ja kosteuden OLED-näytöllä.




Olemme saaneet onnistuneesti päätökseen ESP32:n liittämisen DHT11-anturin ja OLED-näytön kanssa.

Johtopäätös

ESP32:lla varustetut OLED-näytöt voivat näyttää useita tietoja, jotka luetaan ulkoisten antureiden avulla. Tässä artikkelissa käsitellään kaikki vaiheet ESP32:n liittämiseksi DHT11-anturin kanssa huoneen lämpötilan ja kosteuden mittaamiseksi. Sen jälkeen kaikki luetut tiedot näytetään I2C OLED -näyttömoduulissa.