สอนใช้ Arduino อ่านค่าจากเซ็นเซอร์วัดอุณหภูมิ DHT11

DHT11 เป็นเซ็นเซอร์สำหรับวัดอุณหภูมิและความชื้นในอากาศ ที่มีขนาดเล็ก และราคาถูกมากๆ  เพียงตัวละประมาณ 50 บาท สามารถใช้งานร่วมกับ Arduino ได้ง่ายๆ เพียงแค่จ่ายไฟให้เซ็นเซอร์ และอ่านค่าจาก Arduino โดยใช้ digital pin เพียง 1 pin เท่านั้น

สเปคคร่าวๆ ของ DHT11

  • วัดความชื้นในอากาศ (Humidity) ได้ตั้งแต่ 20-90%RH มีโอกาศคลาดเคลื่อน ±5%RH
  • วัดอุณหภูมิ (Temperature) ได้ตั้งแต่ 0-50 °C มีโอกาศคลาดเคลื่อน ±2 °C
  • ขนาดของตัวเซ็นเซอร์ 1.5 x 1.0 x 0.5 cm
  • ใช้ไฟ DC ที่มีแรงดันไฟตั้งแต่ 3-5.5V

DHT11 pinout

DHT11 มีขาทั้งหมด 4 ขา แต่เราจะใช้จริงเพียงแค่ 3 ขาเท่านั้น คือ ขาที่ 1, 2 และ 4 เพราะ datasheet บอกว่า “ขาที่ 3 เป็น Null หรือก็คือไม่ได้ใช้ประโยชน์นั่นเอง”

DHT11_pinout

การต่อวงจร

การต่อวงจรให้ดูรูปด้านล่างครับ เราจะใช้ 5kΩ pull-up resistor สำหรับการต่อสายระหว่าง Arduino กับ DHT11 ในระยะที่ห่างกันไม่เกิน 20 เมตรนะครับ (อ้างอิงจาก DHT11 datasheet)

การต่อวงจรDHT11กับArduino

โค้ดตัวอย่าง

ดาวน์โหลด และติดตั้งไลบรารี่ Dht11_Library ที่ถูกปรับปรุงโดย Andy Dalton แล้วใช้โค้ดด้านล่างนี้ทดสอบได้เลย

เมื่อเปิดดู Serial Monitor จะเห็นผลลัพธ์การทำงานดังนี้

DHT11_program_output

ข้อมูลเพิ่มเติม

สินค้าที่ poundxi.com มีจำหน่าย

แบ่งปันสิ่งนี้บน