DHT22 เซนเซอร์วัดความชื้นในอากาศ SNP-00026
รหัสสินค้า: SNP-00026

DHT22 เซนเซอร์วัดความชื้นในอากาศ SNP-00026

DHT22 เหมาะสำหรับการใช้งานที่ต้องการวัดอุณหภูมิและความชื้นในระดับพื้นฐานและไม่ต้องการความแม่นยำสูง เหมาะสำหรับการเริ่มต้นเรียนรู้เกี่ยวกับการใช้งานเซ็นเซอร์อุณหภูมิและความชื้นในโปรเจคต่างๆ

 

1.ดาวน์โหลด และติดตั้ง Library DHT sensor & Adafruit Unified Sensor

ติดตั้ง Library

ArduinoIDE > Sketch > Include Library > Add .ZIP Library > หาไฟล์ที่ดาวน์โหลด

DHT22 เซนเซอร์วัดความชื้นในอากาศ SNP-00026

 

2.ต่ออุปกรณ์

DHT22 เซนเซอร์วัดความชื้นในอากาศ SNP-00026

DHT22 > Arduino UNO
•    + > VCC
•    OUT > PIN 8
•    - > GND

 

3.ลงโปรแกรม 

Copy โค้ดด้านล่าง

Arduino
1#include <Adafruit_Sensor.h>
2#include <DHT.h>
3#include <DHT_U.h>
4
5#define DHTPIN 8     
6
7// Uncomment the type of sensor in use:
8//#define DHTTYPE    DHT11     // DHT 11
9#define DHTTYPE    DHT22      // DHT 22 (AM2302)
10//#define DHTTYPE    DHT21     // DHT 21 (AM2301)
11
12DHT_Unified dht(DHTPIN, DHTTYPE);
13
14uint32_t delayMS;
15
16void setup() {
17  Serial.begin(9600);
18  dht.begin();
19  Serial.println(F("DHTxx Unified Sensor Example"));
20  sensor_t sensor;
21  dht.temperature().getSensor(&sensor);
22  Serial.println(F("------------------------------------"));
23  Serial.println(F("Temperature Sensor"));
24  Serial.print  (F("Sensor Type: ")); Serial.println(sensor.name);
25  Serial.print  (F("Driver Ver:  ")); Serial.println(sensor.version);
26  Serial.print  (F("Unique ID:   ")); Serial.println(sensor.sensor_id);
27  Serial.print  (F("Max Value:   ")); Serial.print(sensor.max_value); Serial.println(F("°C"));
28  Serial.print  (F("Min Value:   ")); Serial.print(sensor.min_value); Serial.println(F("°C"));
29  Serial.print  (F("Resolution:  ")); Serial.print(sensor.resolution); Serial.println(F("°C"));
30  Serial.println(F("------------------------------------"));
31  // Print humidity sensor details.
32  dht.humidity().getSensor(&sensor);
33  Serial.println(F("Humidity Sensor"));
34  Serial.print  (F("Sensor Type: ")); Serial.println(sensor.name);
35  Serial.print  (F("Driver Ver:  ")); Serial.println(sensor.version);
36  Serial.print  (F("Unique ID:   ")); Serial.println(sensor.sensor_id);
37  Serial.print  (F("Max Value:   ")); Serial.print(sensor.max_value); Serial.println(F("%"));
38  Serial.print  (F("Min Value:   ")); Serial.print(sensor.min_value); Serial.println(F("%"));
39  Serial.print  (F("Resolution:  ")); Serial.print(sensor.resolution); Serial.println(F("%"));
40  Serial.println(F("------------------------------------"));
41  delayMS = sensor.min_delay / 1000;
42}
43
44void loop() {
45  delay(delayMS);
46  sensors_event_t event;
47  dht.temperature().getEvent(&event);
48  if (isnan(event.temperature)) {
49    Serial.println(F("Error reading temperature!"));
50  }
51  else {
52    Serial.print(F("Temperature: "));
53    Serial.print(event.temperature);
54    Serial.println(F("°C"));
55  }
56  dht.humidity().getEvent(&event);
57  if (isnan(event.relative_humidity)) {
58    Serial.println(F("Error reading humidity!"));
59  }
60  else {
61    Serial.print(F("Humidity: "));
62    Serial.print(event.relative_humidity);
63    Serial.println(F("%"));
64  }
65}

 

4.ผลลัพธ์

Serial Monitor จะแสดงค่าอุณหภูมิและความชื้นขณะนั้น

DHT22 เซนเซอร์วัดความชื้นในอากาศ SNP-00026