กลับไปหน้ารวมไฟล์
room-comfort-live-display-and-log-with-matlab-fe326c.md

ชื่อโปรเจกต์: จอแสดงผลสภาพอากาศในห้องแบบ Real-time (แถม Log ข้อมูลลง MATLAB ได้ด้วยนะ)

จะร้อนจะชื้นแค่ไหนต้องรู้! โปรเจกต์นี้ใช้ [Sensor](https://s.shopee.co.th/7VBG2rX65j) ตัวเก่งอย่าง DHT22 มาดึงค่าความชื้นสัมพัทธ์และอุณหภูมิในห้อง แล้วเอามาโชว์บนหน้าจอ [OLED](https://s.shopee.co.th/5fjbrJWyFb) ขนาด 0.96" แถมยังส่งข้อมูลไปเก็บ (Log) ใน MATLAB ได้ด้วย ถือเป็นก้าวแรกก่อนจะไปทำสถานีตรวจอากาศ (Weather Station) แบบเต็มตัวเลยนะน้อง

รายละเอียดเพิ่มเติม

จับ [Arduino](https://s.shopee.co.th/7fUgFAWSki) มาพ่วงกับ Sensor DHT22 และจอ SSD1306 ขนาด 0.96" เพื่อโชว์ค่าอุณหภูมิ, ความชื้น และค่า Humidex (ดัชนีความร้อน) กันแบบ Real-time ข้อมูลพวกนี้จะถูกส่งผ่าน Serial Port ทำให้เราสามารถใช้ MATLAB เก็บข้อมูลตามเวลาที่กำหนด และพลอตกราฟดูย้อนหลัง 10 นาทีได้แบบเฟี้ยวๆ พอเก็บข้อมูลเสร็จ ก็จะมีกราฟสรุปแบบเนียนๆ พร้อมขอบเขตความแม่นยำมาให้ดูด้วยนะ แถมข้อมูลทั้งหมดจะถูกเซฟลงไฟล์ Spreadsheet เอาไปใช้งานต่อได้ยาวๆ

ถ้าไม่อยากต่อคอม ตัวเครื่องก็ทำงานเดี่ยวๆ ได้นะน้อง โชว์ค่าบนจอ OLED ไปเรื่อยๆ ค่าเริ่มต้นพี่ตั้งความถี่ในการอ่านค่า (Acquisition Rate) ไว้ที่ 10 วินาทีต่อครั้ง (ห้ามใจร้อนนะตัวนี้)

ถ้าจะแก้ไฟล์หลัก TempHumOLEDMATLAB.ino ให้เช็คบรรทัดพวกนี้:

  • บรรทัด 41 unsigned int interval เอาไว้ตั้งเวลาห่างระหว่างการอ่านค่าและอัปเดตหน้าจอ
  • บรรทัด 49 display.begin(SSD1306_SWITCHCAPVCC, 0x3C) เช็ค I2C Address ของจอให้ดีๆ เดี๋ยวจอไม่ติด
  • ตั้งแต่บรรทัด 94 เป็นต้นไป พี่ปิดการส่งข้อความ Text ของ Humidex ทาง Serial ไว้ เพื่อให้ MATLAB มันอ่านค่าดิบได้ง่ายๆ ถ้าใครไม่สน MATLAB แต่อยากเห็นตัวหนังสือใน Serial Monitor ก็ไปเอา Comment ออกซะ

ส่วนไฟล์ MATLAB สำหรับ Log และพลอตกราฟ TempHumOLEDMATLAB.m ดูตรงนี้:

  • บรรทัด 24 waitTime สำหรับตั้งเวลาที่จะให้มันบันทึกข้อมูล
  • บรรทัด 29 s = serial('/address/to/serialPort','BAUD',9600) ใส่ Address ของ Serial Port กับ Baud Rate ให้ตรงกับที่ Board ใช้ล่ะ

ย้ำอีกที! ไม่ต้องต่อ MATLAB ก็ใช้งานได้ปกติ ไม่ต้องซีเรียส จัดไปวัยรุ่น!

เจาะลึกรายละเอียดทางเทคนิค (แบบวิศวะเค้าคุยกัน)

ระบบตรวจสอบสภาพแวดล้อมขั้นสูง (Advanced Environmental Auditing)

โปรเจกต์นี้เป็นการเชื่อมต่อระหว่างการตรวจวัดหน้างาน (Local Sensing) เข้ากับซอฟต์แวร์วิเคราะห์ระดับโปร เหมาะมากสำหรับทำ Dashboard ไว้เฝ้าดูความสบายในออฟฟิศหรือห้องแล็บ

  • Precision Sensor Suite: รวมร่าง DHT22 (วัดอุณหภูมิ/ความชื้น) และ LDR สำหรับวัดระดับแสง โดยตัว Arduino จะทำการ Sampling ข้อมูลด้วยความเร็วสูง แล้วส่ง Format ข้อมูลผ่าน Serial Link ไปยัง PC ด้วย Baud Rate 115200 (แรงๆ เลยน้อง)
  • MATLAB Real-Time Toolbox: ฝั่ง PC จะรัน MATLAB Script เพื่อแงะ (Parse) ข้อมูลที่ส่งมา แล้วสร้างกราฟ 2D แบบ Real-time หลายช่องสัญญาณ พร้อมวิเคราะห์สถิติ (เช่น คำนวณ Heat Index) ให้เสร็จสรรพ

การเก็บข้อมูลถาวร (Data Persistence)

  • Automated CSV Logging: MATLAB จะเซฟข้อมูลรายวันลงไฟล์ CSV ใน Hard Drive ให้โดยอัตโนมัติ เป็นเครื่องมือที่ทรงพลังมากสำหรับการศึกษาระบบ HVAC ในระยะยาว หรือจะเอาไปทำ Audit พลังงานก็หล่อเท่เลยงานนี้ สู้ๆ นะน้อง!

ข้อมูล Frontmatter ดั้งเดิม

title: "Room Comfort Live Display (and Log with MATLAB)"
description: "Use a DHT22 sensor with Arduino to acquire room relative humidity, temperature, humidex. Show values on display. Log data with MATLAB."
author: "dancili"
category: "Sensors & Environment"
tags:
  - "weather"
  - "environmental sensing"
  - "data collection"
views: 16412
likes: 15
price: 299
difficulty: "Intermediate"
components:
  - "1x Graphic OLED, 128 x 64"
  - "1x DHT22 Temperature Sensor"
  - "1x Arduino Nano R3"
  - "1x Jumper wires (generic)"
tools: []
apps:
  - "1x MATLAB"
  - "1x Arduino IDE"
downloadableFiles:
  - "https://github.com/dciliberti/TempHumOLEDMATLAB"
  - "https://github.com/dciliberti/TempHumOLEDMATLAB"
documentationLinks: []
passwordHash: "e62874390bc56e7357c4b4a49da6270bf41faae4405a5acaedbcf33dc939de66"
encryptedPayload: "U2FsdGVkX1+t1b04XiVDJYCeBeubiYVts2lgwEqc2cFn/duOCZbyVU5zGiUET+cNeMjb0DdXzdKxPAvbgCfnHzunpYzIFZvpDK/tPhlu8iY="
seoDescription: "Arduino project using DHT22 sensor to display real-time room temperature and humidity, with data logging via MATLAB for Room Comfort monitoring."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/room-comfort-live-display-and-log-with-matlab-fe326c_cover.jpg"
lang: "th"