Hőmérséklet és páraszenzor (DHT)

AM2302/DHT22

Népszerű és nem túl drága szenzor, az előd DHT11-nél (feltűnő kék színű, óvakodom tőle) sokkal pontosabban mér: +/-0,5 pontossággal -40 és +80 fok Celsius között.
E mellett a relatív páratartalmat is méri 2-5% pontossággal. A nagy elektronikus piactérről 700-800 Ft körül beszerezhető, itthon kissé drágábban. Az adatokat egyvezetékes protokollal továbbítja, 2 másodpercenként legfeljebb egy alkalommal lehet hozzá fordulni. Hobbiprojektekhez kiváló, én személy szerint nem hiszem, hogy 60 másodpercnél sűrűbben kellene a lakás hőmérsékletét vizsgálni, így ez bőven jó. A fehér színű AM2302 egy másik változata a fekete AM2320, ami I2C buszos kétvezetékes csatlakozást igényel, de elvileg ugyanolyan paraméterű, mint az AM2302. (Biztos vagyok benne, hogy semmivel sem rosszabb választás, de egyelőre 2302-m érkezett.)

Aki ennél profibb és drágább eszközre vágyik, a BME280 szenzort keresi, ami mindezek mellett légnyomásadatokat is ad. A DHT széria legszimpatikusabb tulajdonsága a szenzort védő műanyag ház, mert én speciel nem a vezérlő és egyéb szenzorok rögzítésére szolgáló dobozon belül található hőmérsékletre vagyok kíváncsi, ezért a doboz külsejére szándékozom szerelni a hőmérőt, így praktikus a rácsos műanyag háza.

A DHT széria nem kifejezetten kültéri megoldás, kintre inkább a vízálló DS18B20 a megfelelő választás.

De visszatérve az AM2302-höz, felfogatásra egy M3 csavar fogadására alkalmas rögzítőfurat található a tetején, és így néz ki:dht22.jpgCsatlakoztatásra négy (igazából három) tű szolgál, melyek szemből nézve balról jobbra haladva:

  • 1. VCC: 3.3-5.5V DC táp
  • 2. DATA: egyvezetékes adatláb, GPIO-ra köthető
  • 3. NC: nem bekötendő
  • 4. GND: Raspberry GND

Fontos!
Raspberry-re kötés előtt az 1 VCC és 2 DATA láb közé egy 4.7K-10K közti ellenállást kell forrasztani! Nekem 4.7K volt kéznél, teljesen jól bevált.
Vizuális típusok kedvéért valahogy így.

MÉG FONTOSABB!
Néha hajmeresztő dolgokat írnak a blog kedves olvasói nekem, pl van aki tök nyugodtan ráküldi az 5V-os tápfeszültséget a VCC-n keresztül a DHT-re, majd ugyanezt a DATA-ra tolja a 4.7k-s ellenállás segítségével, ami közvetlen kapcsolatba kerül a Raspberry Pi GPIO-ival, amik KIZÁRÓLAG 3.3V-os jelszinttel tudnak dolgozni! Ezt lehetőség szerint kerüljük, és ismerkedjünk meg azzal a hardverrel, amit használni akarunk, mielőtt bekötjük. Raspberry-t használva szigorúan 3.3V tápot használunk az eszközökre, amik visszaküldhetnek TTL feszültségszintet a Raspberry felé, VAGY ha valamiért mégis 5V tápot kell használnunk szintillesztőt használunk a GPIO-k előtt, amiről már szintén írtam!

Aki bizonytalan, annak itt az adatlap.

Python-ból történő eléréséhez az Adafruit_DHT függvénykönyvtárat kell először telepíteni, valahogy így:

git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT.git
sudo python setup.py install

Python3 esetén az utolsó sor természetesen:

sudo python3 setup.py install

Megjegyzés: mivel 2 másodpercenként lehet csak mérést kérni, a read_retry() függvény, bár elvileg jó lenne, nekem sokszor eredmény nélkül tért vissza, ennél jobban jártam ha a read()-el olvastam be egy tömbbe és a végén átlagoltam, ha már volt pár eredmény, legalább nem blokkolja a program futását!

Egyszerűbben is használható persze...

RPIEasy mintabeállítás:

Először is belépünk a Hardware/Pinout&Ports menübe, majd azt a GPIO-t amire az érzékelőnk van kötve, megkeressük - ez esetben ez a GPIO22 - és beállítjuk, hogy Input legyen a típusa, - mivel a felhúzóellenállás már rajta van hardveresen, ezért sima Inputra érdemes állítani szoftveresen - majd Submit gomb és újraindítás következik. (NEM 1WIRE KOMPATIBILIS!)

rpi_dht0.jpg

Ez után a Devices menüben valamelyik EDIT gombra kattintva felvehetünk egy DHT11/22/AM2302 típusú eszközt. (Ha nem sikerül felvennünk az eszközt, kapunk egy hibaüzenetet, amire kattintva az RPIEasy megpróbálja feltelepíteni az Adafruit DHT22 drivert, ez egy darabig eltarthat...)

rpi_dht1.png

A Name-Név beállítás kötelező elem, az Enabled bepipálásával engedélyezzük az eszköz működését, a 1st GPIO legördülő menüből pedig kiválasztjuk a megfelelő pint, amit már előzetesen beállítottunk, valamint a Sensor type-nél a DHT22-t. Az Oversampling beállítása nagyon ajánlott!!! Ugyanis a DHT22 kiolvasásához nagyon pontos időzítés szükséges, a multitaszking Linuxnak és a Pythonnak pedig ez nem erőssége, viszont több olvasásból átlagolva az eredmények tűrhetőek.
Ha felvettük a Controllers menüben már a Domoticz HTTP/MQTT közül valamelyiket, akkor a Send to Controller engedélyezése után, ha Submit-ot nyomunk, beírható a Domoticz-ban szereplő virtuális IDX azonosító szám.

Az Interval-t érdemes 30-500 másodperc közé állítani, nem érdemes túl gyakorira, mivel ritka eset, hogy fél percenként változzon a szoba hőmérséklete...

A bejegyzés trackback címe:

https://bitekmindenhol.blog.hu/api/trackback/id/tr2212690653

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

lacy03 2019.12.16. 12:17:32

Szia,mi lehet az oka annak h néha nem valós értékeket mér a dht22? hőmérsékletet napjában 3-4x páratartalmat pedig elég sűrűn,sokszor 1000 feletti értékeket. 5m es utp kábelen, rpi easyn fogadom az adatokat és 4.7es ellenállás is be van iktatva.

eNeS 2019.12.16. 17:59:27

@lacy03: Rámértél, megvan a 3.3V a másik oldalon? Lehet zavar a vonalon, vagy gyenge jel is. Az 5m kábel már egészen jó antennaként működhet, esetleg egy FTP jobban muzsikálna azon a helyen. Nem tudom mennyi más kábel fut mellette. Másrészt én duplázni szoktam a vezetéket, tehát pl a kék és a kék-fehér együtt viszi a 3.3V-ot, a barna és barnafehér a GND-t, aztán pl a zöld és zöldfehér egyesítve az adatvonalat. Meg hát az olcsó kábelekben kevés a réz, inkább alumínium van benne. De ha bekapcsolod az Oversamplinget, akkor elvileg az RPIEasy kisimítja a hibákat.

lacy03 2019.12.16. 18:13:39

@eNeS: 5v OS tűre dugtam az is lehet baj? Rá fogok mérni, forrasztás hiba is lehet amúgy? Legközelebbit duplán kábelezés én is. Az Oversampling be van kapcsolva.

eNeS 2019.12.16. 19:55:14

Ha 5V-os tűre dugtad a tápját, az azt jelenti, hogy a 4.7k-s felhúzóellenállás segítségével ezt az 5V-ot ráküldted a Raspberry-nek azon GPIO lábára, ami max 3.3V-os jellel tud megbirkózni, ami nem egy jó ötlet, és ha még nem füstöl nagyon, akkor javaslom, hogy ezt szüntesd meg, és próbáld ki előbb 3.3V-ról tápolva, majd szükség esetén egy másik Raspberryvel is ugyanezt a DHT-t, mert lehet a Raspberrydet tetted tönkre. Kivéve, ha az 5m-es út megjártával az adatlábon 3.3V-ig csökkent a feszültség, mely esetben az eljárás helyes... bár ezen csodálkoznék. Vezeték-keresztmetszettől is függ a dolog, de én pl 60méteren mértem 1.5V feszültségesést.

"A GPIO portokra csak megfelelő körültekintéssel, a dokumentáció elolvasása után kössünk rá bármit is, a legtöbb bemenete ugyanis 3.3V jelszinttel kompatibilis, ennél magasabb feszültség ráengedése esetén tönkremegy."
bitekmindenhol.blog.hu/2017/07/14/raspberry_pi_zero_w

lacy03 2019.12.16. 22:23:02

@eNeS: uhh.. Köszi a választ, szedem is le róla,és olvasgatok még a témában mert úgy nézki h rám fér :)

Támogatók:
okosotthon.jpg
allterco.jpg

Utolsó kommentek

  • szenorb: Hello. Bekötöttem 12V-ra , a bemetére egy mozgás érzékelőt kötöttem. Szépen kapcsol a relé a késle... (2023.06.14. 06:48) Shelly okosrelé (Shelly1)
  • Melanoheliophobia: Üdv! Kb. 2 éve vásároltam két ugyanilyen okos izzót. Sajnos az egyik még garancia idő alatt eltávo... (2023.05.03. 16:50) Shelly Vintage okosizzó
  • eNeS: Lehetséges, bár az ESP8266-ot lassan ideje elfelejteni, ha nem helyi hálózatra akarsz vele forgalm... (2023.04.02. 08:43) Tasmota szkriptek
  • eNeS: @tomih: Thonnyban rebootot nyomva nekem se megy az NTP. De mikor lekapcsoltam a Thonnyt és rebooto... (2023.04.02. 08:40) Raspberry Pico és a LAN (W5100S-EVB-Pico)
  • krump_lee: Kedves eNeS! ESP8266 tasmota-val szenvedek, hiemq kapcsolat sehogy nem jön össze, sehol nem talál... (2023.04.02. 08:31) Tasmota szkriptek
  • Utolsó 20

Címkék

433mhz (12) alkatrész (22) alternatív kapcsoló (2) amg8833 (1) analóg (2) android (1) arduinoeasy (5) audio (1) automatizálás (3) bemenet (3) bk7231n (1) ble (1) blitzwolf (4) bluetooth (9) bridge (2) camhi (2) csináld magad (22) dimmer (1) diy (28) do-it-yourself (27) domoticz (11) ds18b20 (1) ebay (3) érintő (2) érintőkapcsoló (7) érzékelő (11) esp-01 (2) esp32 (11) esp8266 (21) espeasy (2) espurna (1) esp projekt (18) Eview7 (1) ewelink (1) feldolgozó (1) felhő (1) fényérzékelő (1) firmware (7) flame detector (1) fogyasztásmérő (5) ftdi (1) füstérzékelő (1) gázérzékelő (1) gpio (1) hang (4) hangjelző (1) hőmérséklet (22) https (1) ikea (1) impulzus relé (1) izzó (2) javascript (1) jelenlétérzékelő (3) kamera (18) keresztkapcsoló (1) kézmozdulat (1) kijelző (3) kimenet (21) konnektor (8) lan (9) lángérzékelő (2) led (3) linux (4) logic level converter (1) lua (1) lux (1) maple mini (2) mcu (3) micropython (1) mikrovezérlő (2) milkv (1) mobil (1) mosfet (1) mozgás (5) mpyeasy (4) mq-2 (2) mqtt (3) működtető rendszer (5) multiroom (1) nedvesség (1) neo (1) neopixel (1) Node-RED (1) nvr (4) nyitás (7) okosház (4) okosizzó (3) okosotthon (8) oled (1) onvif (8) openbeken (1) opencv (1) openwrt (4) orange pi (4) páratartalom (6) php (1) pico (1) pi pico (2) poe (1) programozás (9) projekt (25) proximity olvasó (1) python (2) raspberry (14) raspberry projekt (6) raspbian (1) reed (1) relé (27) rf (2) rgb (6) rock pi (1) rögzítő (2) rp2 (1) rpieasy (1) rtc (1) shelly (24) smartwise (1) solid state relay (1) sonoff (20) SonOTA (1) soros (1) ssl (1) ssr (1) stm32 (4) szenzor (11) szilárdtest relé (1) szintillesztő (2) sziréna (1) szkript (3) szünetmentesítés (4) t1 (1) tasmota (8) távirányító (3) Telegram (1) termékteszt (85) termosztát (2) touch (2) ups (5) usb (7) usb hub (1) valós idejű óra (1) vezérlések (20) vezérlő (5) világítás (5) villanykapcsoló (12) webkamera (1) wiegand (1) wifi (32) ws2812 (1) xiaomi (5) xm (4) xmeye (4) yoosee (1) zigbee (16) zwave (3) Címkefelhő
süti beállítások módosítása