CAT LoRa Starter Kit ตอนที่ 11 ทำไมเซ็นเซอร์วัดอุณหภูมิที่ Build in มามันวัดค่าได้ไม่ตรงเลย

Choonewza
2 min readJan 26, 2020

--

ในบทความนี้จะเป็นการทดสอบว่า ทำไมเราควรต้องเพิ่มเซ็นเซอร์วัดอุณหภูมิและความชื้นให้กับ CAT LoRa Starter Kit ของเราอีกละ ในคู่มือก็บอกแล้วว่ามีการใส่เซ็นเซอร์ HTS221 ซึ่งใช้สำหรับวัดอุณหภูมิและความชื้นมาเรียบร้อยแล้ว นั้นก็เพราะว่าจากที่ได้ลองใช้งานดูพบว่ามันวัดค่าได้ไม่ตรงกับอุณหภูมิอากาศภายนอกเลยนะสิครับ มันให้ค่าที่สูงกว่าค่าที่ควรจะเป็นมาก เรามาพิสูจน์กันดีกว่า

เซ็นเซอร์วัดอุณหภูมิและความชื้น

เซ็นเซอร์วัดอุณหภูมิและความชื้นมีมากมายหลายชนิด เซ็นเซอร์ที่เห็นคนส่วนใหญ่เอามาใช้กับบอร์ด Arduino ก็จะเป็น DHT22 (AM2302)

DHT22 Sensor — เป็นเซ็นเซอร์วัดอุณหภูมิและความชื้น ที่มีราคถูกมาก และให้ค่าที่แม่นยำพอควร แต่ข้อเสียคือมันมีขนาดใหญ่ และต้องเสีย 1 Digital Pin ให้กับเซ็นเซอร์ตัวนี้

ถ้า Digital Pin เราเหลือก็ไม่มีปัญหาอะไร แต่ถ้าเราไม่อยากเสียละจะทำยังไงดี ?

BME280 Sensor — เซ็นเซอร์ตตัวนี้ไม่เพียงแต่จะวัดอุณหภูมิ ความชื้นได้เท่านั้น มันยังวัดแรงกดอากาศ (Pressure) ได้อีกด้วย มีความแม่นยำสูงและใช้การเชื่อมต่อแบบ Inter Integrate Circuit (IIC) หรือเรียกว่า I²C ทำให้เราไม่เสียช่อง Digital Pin นั้นเอง

(อุปกรณ์ที่ใช้ I²C ในบทความที่ผ่านมาเราได้ใช้กับ RTC Module (DS3231) และ 0.96 IIC Display)

บทความการเปรียบเทียบเซ็นเซอร์วัดอุณหภูมิและความชื้น
http://www.kandrsmith.org/RJS/Misc/Hygrometers/calib_many.html

ตัวอย่างเซ็นเซอร์วัดอุณหภูมิและความชื้นในอากาศ

เพื่อพิสูจน์ว่า HTS221 มันให้ค่าไม่ตรง ผมจึงเขียนโปรแกรมขึ้นมาทดสอบดู โดยใช้ Library ที่ทาง CAT แนะนำในคู่มือคือ SmartEverything HTS221โดยนำมาเปรียบเทียบกับเซ็นเซอร์ยอดนิยมอย่าง DHT22 และอีกตัวคือ BMP180 ( BMP180 เป็นรุ่นก่อนหน้า BME280 และ BMP180 จะไม่สามารถวัดค่าความชื้นได้)

Library ที่จำเป็น

  1. SmartEverything HTS221 : https://github.com/ameltech/sme-hts221-library
  2. DHT Sensor: https://github.com/adafruit/DHT-sensor-library
  3. Adafruit BMP180 : https://github.com/adafruit/Adafruit-BMP085-Library
  4. Adafruit_SSD1306 : https://github.com/adafruit/Adafruit_SSD1306
  5. Adafruit-GFX : https://github.com/adafruit/Adafruit-GFX-Library

เขียนโปรแกรมเพื่อเปรียบเทียบเซ็นเซอร์

ผลการทดสอบ

เมื่อนำไปทดสอบวัดอุณหภูมิและความชื้นแล้วพบว่าอุณหภูมิที่ได้จาก

  • HTS221 → อุณหภูมิ 31.09 *C และความชื้น 80.00%
  • DHT22 → อุณหภูมิ 28.80 *C และความชื้น 58.20%
  • BMP180 → อุณหภูมิ 29.30 *C แต่วัดค่าความชื้นไม่ได้

จะสังเกตุได้ว่าค่าอุณหภูมิที่ได้จาก HTS221 จะมีค่าที่สูงกว่า DHT22 และ BMP180 พอสมควร ผมได้ลองตรวจสอบอุณหภูมิโดยใช้เครื่องฟอกอากาศยี่ห้อ Xiaomi Air Purifier 2S พบว่าค่าอุณหภูมิที่ได้จาก DHT22 และ BMP180 มีความใกล้เคียงกับเครื่องนี้มากกว่า HTS221 และในส่วนของค่าความชื้น DHT22 ก็แสดงค่าที่ใกล้เคียงกว่ามาก

แล้ว HTS221 มันวัดค่าอุณหภูมิอะไรมาให้เราละ จากที่ได้ลองใช้เครื่องวัดอุณหภูมิแบบอินฟราเรดวัดตัวบอร์ดดู เครื่องวัดจะแสดงอุณหภูมิที่ใกล้เคียงกับ HTS221 (ทดสอบจากบทความนี้)

วัดอุณหภูมิของบอร์ดด้วยเครื่องวัดอินฟราเรด

ผมก็ขอจบบทความนี้ไว้แต่เพียงเท่านี้ ในบทความหน้าจะเป็นการเพิ่ม DHT22 Sensor ให้กับโปรเจคปลั๊กไฟลอร่าของเรากันครับ สวัสดีครับ

--

--