คำอธิบาย
เซนเซอร์ DHT11 เป็นหนึ่งในเซนเซอร์ที่นิยมใช้มากในการวัดอุณหภูมิและความชื้น โดยเฉพาะในโปรเจกต์ Arduino เพราะใช้งานง่าย ราคาถูก และหาซื้อง่าย
DHT11 คือ
DHT11 เป็นเซนเซอร์ที่ใช้วัด อุณหภูมิ (Temperature) และ ความชื้นสัมพัทธ์ (Relative Humidity) ในอากาศ โดยเซนเซอร์นี้มี ตัววัดความชื้นแบบ capacitive และ ตัววัดอุณหภูมิแบบ thermistor ภายใน ซึ่งจะส่งข้อมูลแบบดิจิทัลออกมา ทำให้ต่อกับ Arduino ได้ง่ายมาก
สเปคของ DHT11
รายการ
|
รายละเอียด
|
ช่วงวัดความชื้น
|
20–90% RH (±5% RH)
|
ช่วงวัดอุณหภูมิ
|
0–50°C (±2°C)
|
แรงดันไฟเลี้ยง
|
3.3V – 5.5V
|
สัญญาณเอาต์พุต
|
ดิจิทัลแบบ single-wire
|
อัตราการอ่านข้อมูล
|
1 ครั้ง/วินาที (1Hz)
|
จำนวนขา
|
3 ขา (VCC, GND, Data) หรือ 4 ขา (ถ้าเป็นโมดูล แต่ใช้จริง 3 ขา)
|
การใช้งาน DHT11 กับ Arduino
การต่อสาย:
DHT11
|
Arduino
|
VCC
|
5V
|
GND
|
GND
|
DATA
|
Digital Pin (เช่น D2)
|
บางรุ่นมีตัวต้านทาน pull-up (ประมาณ 10KΩ) ต่อมาให้แล้วที่โมดูล ถ้าเป็นเซนเซอร์แบบเปล่า อาจต้องต่อต้านทานเอง
ตัวอย่างโค้ด Arduino:
ต้องใช้ไลบรารี DHT ซึ่งติดตั้งได้ผ่าน Library Manager
define DHTPIN 2 // ขาที่ต่อกับ Data ของ DHT11 #define DHTTYPE DHT11 // ประเภทของเซนเซอร์
DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(9600); dht.begin(); }
void loop() { float h = dht.readHumidity(); float t = dht.readTemperature();
if (isnan(h) || isnan(t)) { Serial.println("อ่านค่าล้มเหลว!"); return; }
Serial.print("ความชื้น: "); Serial.print(h); Serial.print(" %\t"); Serial.print("อุณหภูมิ: "); Serial.print(t); Serial.println(" *C"); delay(2000); // รอ 2 วินาที }
