Arduino อ่านค่าอุณหภูมิจากเซ็นเซอร์

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

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

สัญลักษณ์ Flowchart

Code โปรเจค Arduino ง่ายๆ เปิด ปิดไฟด้วยเสียง

code โปรเจครถบังคับ 2WD Arduino