เครื่องบันทึกความชื้นควบคุมด้วยแอป Android
การวิเคราะห์สภาพแวดล้อมความแม่นยำสูงด้วย Arduino และ Android
การตรวจสอบความชื้นอย่างแม่นยำมีความสำคัญอย่างยิ่งสำหรับสภาพแวดล้อมต่างๆ ตั้งแต่ห้องเซิร์ฟเวอร์ ห้องปฏิบัติการ ไปจนถึงหอศิลป์และเรือนกระจก ในขณะที่เครื่องบันทึกข้อมูลเชิงพาณิชย์อาจมีราคาสูงเกินไป โปรเจกต์นี้นำเสนอโซลูชันแบบโอเพนซอร์สระดับอุตสาหกรรม โดยใช้ Arduino Nano และ แอปพลิเคชัน Android โดยเฉพาะสำหรับการแสดงผลข้อมูลแบบเรียลไทม์และการติดตามข้อมูลย้อนหลัง
การตรวจจับและบันทึกเวลาที่ซับซ้อน
โครงสร้างฮาร์ดแวร์ได้รับการออกแบบมาเพื่อความเสถียรและความแม่นยำสูงสุด:
- SHT31 Sensor: แตกต่างจากเซ็นเซอร์ DHT ทั่วไป SHT31 เป็นเซ็นเซอร์วัดความชื้นและอุณหภูมิดิจิทัลที่มีความแม่นยำสูง ซึ่งทำงานผ่าน I2C โดยให้ความแม่นยำความชื้นสัมพัทธ์ที่ ±2%
- DS3231 Real-Time Clock (RTC): เพื่อให้มั่นใจในความสมบูรณ์ของข้อมูล การอ่านค่าความชื้นทุกครั้งจะต้องมี Timestamp ที่ระบุเวลา DS3231 RTC ที่มีความแม่นยำสูงยังคงรักษาเวลาได้แม้เมื่อไฟหลักถูกตัดการเชื่อมต่อ ด้วย Temperature-Compensated Crystal Oscillator (TCXO) ในตัว
- การเก็บรักษาข้อมูล: ระบบใช้ EEPROM (ZEeprom library) ภายนอกเพื่อจัดเก็บจุดข้อมูลหลายพันจุด ทำให้มั่นใจได้ว่าจะไม่มีข้อมูลสูญหายในระหว่างการเปิด-ปิดเครื่อง หรือการขาดการเชื่อมต่อ
ระบบนิเวศ: การรวม Bluetooth และ Android
โดยใช้ HC-05 Bluetooth Module เครื่องบันทึกความชื้นจะสตรีมข้อมูลไปยัง Dashboard ของ Android ที่กำหนดเอง
- การสร้างกราฟแบบเรียลไทม์: แอป Android จะแปลงตัวเลขดิบให้เป็นเส้นกราฟแนวโน้มแบบโต้ตอบ ทำให้ผู้ใช้สามารถสังเกตเห็นรูปแบบของการเปลี่ยนแปลงความชื้นในช่วงหลายวันหรือหลายสัปดาห์
- การควบคุมระยะไกล: ผู้ใช้สามารถปรับช่วงเวลาการบันทึกและปรับเทียบค่า Offset ของเซ็นเซอร์ได้โดยตรงจากสมาร์ทโฟน
- การแสดงผลด้วยภาพ: บนตัวอุปกรณ์เอง 4-digit 7-segment display จะแสดงค่าความชื้นปัจจุบันทันที พร้อมด้วยเครื่องหมายโคลอนที่กะพริบซึ่งขับเคลื่อนโดยเอาต์พุต Square Wave (SQW) ของ RTC เพื่อแสดงว่าระบบทำงานได้อย่างถูกต้อง
การใช้งานในอุตสาหกรรมและการแก้ไขปัญหา
โปรเจกต์นี้เน้นย้ำถึงความน่าเชื่อถือผ่านตัวบ่งชี้การวินิจฉัยในตัวโดยใช้ขา LED_BUILTIN:
- กะพริบสม่ำเสมอ: ระบบทำงานปกติ
- กะพริบสั้นๆ ครั้งเดียว: ตรวจพบข้อผิดพลาดของ RTC
- กะพริบสั้นๆ สองครั้ง: ข้อผิดพลาดในการสื่อสารของ EEPROM
- กะพริบสั้นๆ สามครั้ง: SHT31 sensor ถูกตัดการเชื่อมต่อ
รายละเอียดระดับนี้ทำให้เครื่องบันทึกเหมาะสำหรับการติดตั้งระยะยาวในสภาพแวดล้อมที่ละเอียดอ่อน ซึ่งความสอดคล้องของข้อมูลเป็นสิ่งที่ไม่สามารถประนีประนอมได้








ผมต้องการตรวจสอบความชื้นในห้อง และผลิตภัณฑ์เครื่องบันทึกความชื้นก็มีราคาแพงมาก นั่นคือเหตุผลที่ผมสร้างมันขึ้นมา ผมมีแอป Android อีกตัวที่เชื่อมต่อกับอุปกรณ์ คุณสามารถรับข้อมูลความชื้นจากโทรศัพท์มือถือและแสดงกราฟบนนั้นได้
ดาวน์โหลดแอป Android ได้ที่นี่:
https://play.google.com/store/apps/details?id=eyes.blue.humidityrecorder
ไลบรารี:
DS3231: https://github.com/NorthernWidget/DS3231
SHT31: https://github.com/adafruit/Adafruit_SHT31
4 Digit LED https://github.com/Seeed-Studio/Grove_4Digital_Display
ZEeprom https://github.com/zoubworldArduino/ZEeprom
Streaming https://www.arduinolibraries.info/libraries/streaming
การเชื่อมต่อขาฮาร์ดแวร์กับ Arduino:
SHT-31 Arduino
SCL ------- A5
SDA ------- A6
4 Digit Display
CLK ------- A1
DIO ------- A0
DS3231
SCL ------- A5
SDA ------- A6
SQW ------- D2(INT0)
HC-05 (อัตรา Baud rate ของ Software serial 38400 ไปยัง Arduino)
TXD ------- D4
RXD ------- D5 (เชื่อมต่อตัวต้านทานหากจำเป็น).
State ------- D3(INT1)
การแก้ไขจุดบกพร่อง:
1. หาก 4Digit LED ของคุณไม่แสดงผลหรือแสดงตัวเลขผิด ให้ตรวจสอบ RTC หรือขา INT/SQW ของ RTC อุปกรณ์จะกะพริบเครื่องหมายโคลอนของ 4 Digit LED ทุกวินาที หาก RTC ไม่ทำงานหรือ INT/SQW ทำงานไม่ถูกต้อง จะไม่มีการกะพริบ
2. ไฟแสดงสถานะ LED (ขา LED_BUILTIN บน Arduino Nano) แสดงสถานะ:
ทำงานปกติ: ติด 0.5 วินาที ทุก 3 วินาที.
ไม่มี RTC: กะพริบสั้นๆ 1 ครั้ง.
ไม่มี EEPROM: กะพริบสั้นๆ 2 ครั้ง.
ไม่มี SHT31: กะพริบสั้นๆ 3 ครั้ง.