Arduino schéma - arduino.sk

DHT12 - ako zapojiť a použiť

Všetko ohľadne arduina a jeho odnoží
Príspevky: 39
Registrovaný: Uto 23. Dec 2014 2:15:50

DHT12 - ako zapojiť a použiť

Poslaťod martinius96 » Ned 12. Nov 2017 2:16:16

Ahoj, prinášam vám pohľad nato, ako použiť senzor vlhkosti/teploty DHT12.
Dht12 senzor patrí do rodiny Dht senzorov, i keď nie je veľmi známe. Každý, kto si chce zakúpiť čidlo vlhkosti, siahne po Aliexpresse, kde DHT22 (najlepšie z pohľadu rozsahu) stojí 3€. Dht 12 takmer 1€. To je práve dôvodom, prečo si používatelia kupujú práve DHT12 čidlo i keď o ňom nevedia, že nie je najvhodnejšie, nakoľko sa pri meraní vlhkosti dosť rozchádza s odchýlkou meraní. Na amatérske "bastlenie" však postačuje. Poďme si DHT12 predstaviť technickými informáciami.
Obrázok
Technické info:
Napájanie modulu: 2.7-5.5V
Piny: 4
Rozhranie: I2C, 1-Wire
Merané veličiny: vlhkosť, teplota
Rozsah vlhkosti: 20-95%
Rozlíšenie vlhkosti: 0.1%
Presnosť vlhkosti: -+5%
Rozsah teploty: -20 až +60°C
Rozlíšenie teploty: 0.1°C
Presnosť teploty: -+0.5°C
Prúdový odber: 1mA
Standby: 60uA

Wiring:
Obrázok
V prípade Arduina UNO sa piny SDA, SCL pripoja na piny A4, A5.
V prípade NodeMCU (v2, v3) sa piny SDA, SCL pripoja na piny D2, D1.

Chybné hodnoty:
95.00 - Vadné čidlo
0.01 - Nenájdená adresa DHT12 čidla, nepripojené
0.02 - Problém s komunikáciou
0.03 - Nesediaci checksum, zlý wiring

Vzorový kód:
Kód: Vybrať všetko
#include <DHT12.h>
#include <Wire.h>     // DHT12 pouziva I2C komunikaciu.
DHT12 dht12;          //nastavenie °C a adresu 0x5c.

void setup() {
  Wire.begin(); //aktivuj zbernicu
  Serial.begin(9600);

}

void loop() {
  Serial.print("Teplota: ");
  Serial.print(dht12.readTemperature());
  Serial.print("*C  Vlhkost: ");
  Serial.print(dht12.readHumidity());
  Serial.println("%");
  delay(5000);
}

Knižnicu DHT12 nájdete na mojom Githube: https://github.com/martinius96/dht12-arduino
Tip:
Pri zapojení 1-Wire je nutné zapojiť SCL na GND

Späť na Hardware