กลับไปหน้ารวมไฟล์
its-getting-hotter-use-the-arduino-thermometer-d5a071.md

นี่คือโปรเจคที่สามของพี่กับ Arduino แล้วนะน้อง

เจ้าเครื่องนี้มันวัดอุณหภูมิ ความชื้น และคุณภาพอากาศได้เลย ข้อมูลที่วัดได้จะแสดงผลบนหน้าจอ OLED ขนาด 1.5 นิ้ว และบนมิเตอร์อนาล็อกอีกสองตัว หน้าจอ OLED จะสลับแสดงข้อมูลเป็นรอบๆ ไปเรื่อยๆ เช่น วันที่ เวลา, อุณหภูมิปัจจุบันเทียบกับเมื่อชั่วโมงที่แล้ว, อุณหภูมิสูงสุด/ต่ำสุด พร้อมวันที่และเวลาที่วัดได้, ความชื้น และคุณภาพอากาศ

นอกจากนี้ยังมีปุ่มกดสำหรับเปิด/ปิดหน้าจอ OLED อีกด้วย และมีไฟ LED RGB สองดวงคอยเตือนเมื่อค่าต่างๆ เกินขีดจำกัดที่ตั้งไว้ (ทั้งอุณหภูมิและความชื้น) ไว้ดูสวยๆ กันไป

ตัวเคสและแผ่น PCB นี่พี่ออกแบบเองเลย (ไฟล์งานโหลดได้ด้านล่างจ้า) ตัวเคสประกอบด้วยสองส่วนคือด้านหน้าและด้านหลัง

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

ด้านเทคนิค: การรวมข้อมูลเซนเซอร์และการแมปสัญญาณ PWM ไปยังอนาล็อก

โปรเจคนี้เผยให้เห็นเลเยอร์ที่ซ่อนอยู่เบื้องหลังการทำงานง่ายๆ จากการตรวจจับไปจนถึงการแสดงผลบนมิเตอร์:

  • เลเยอร์ตรวจจับ (Identification layer): เซนเซอร์ DHT22 และเซนเซอร์วัดคุณภาพอากาศ ทำหน้าที่เป็นอินพุตความละเอียดสูงสำหรับสภาพแวดล้อม วัดความชื้นและระดับมลพิษเพื่ออัพเดทสถานะ
  • เลเยอร์แปลงสัญญาณ (Conversion layer): ระบบใช้ขา Digital ความเร็วสูงเพื่อรับข้อมูลจากเซนเซอร์และสร้างสัญญาณ PWM เพื่อขับเข็มมิเตอร์ ซึ่งเป็นงานสำคัญของโปรเจค
  • เลเยอร์อินเตอร์เฟซดิจิทัล (Digital Interface layer): จอแสดงผล OLED แบบกราฟิก ทำหน้าที่เป็นแดชบอร์ดแสดงข้อมูลความละเอียดสูงสำหรับตรวจเช็คสภาพอากาศ (เช่น ประวัติอุณหภูมิสูงสุด/ต่ำสุด)
  • เลเยอร์อินเตอร์เฟซอนาล็อก (Analog Interface layer): มิเตอร์วินเทจสองตัวให้การตอบสนองแบบกลไกที่มีความแม่นยำและน่าเชื่อถือสำหรับการสังเกตสภาพอากาศ
  • เลเยอร์ประมวลผล (Processing Logic layer): โค้ดบน Arduino Mega ใช้กลยุทธ์ "การหาค่าเฉลี่ยตามเวลา" โดยแปลค่าจากเซนเซอร์แล้วแมปเข้ากับ Duty Cycle ของ PWM เพื่อให้การเคลื่อนที่ของเข็มมิเตอร์เป็นไปอย่างปลอดภัยและเป็นจังหวะ
  • ลูปการเตือนด้วยภาพ (Visual Warning Dialogue Loop): ไฟ LED RGB จะกะพริบเป็นจังหวะเพื่อบ่งชี้สถานะระหว่างการปรับเทียบเริ่มต้น หรือเมื่อค่าต่างๆ เกินขีดจำกัดที่ตั้งไว้

จัดไปวัยรุ่น! ลองทำตามดูแล้วมาแชร์ผลงานกันนะ สู้งานนะน้อง!

ฮาร์ดแวร์และโครงสร้างพื้นฐาน

  • Arduino Mega 2560: ตัว "สมอง" ของโปรเจคนี้ จัดการการอ่านค่าจากเซนเซอร์หลายทิศทางและประสานการทำงานระหว่าง OLED กับมิเตอร์
  • Grove Air Quality v1.3: ให้ข้อมูลคุณภาพอากาศที่แม่นยำและน่าเชื่อถือ
  • มิเตอร์วินเทจ (Vintage Voltmeters): ให้อินเทอร์เฟซทางกายภาพที่จุใจและน่าเชื่อถือ พร้อมสไตล์ย้อนยุคผสมสมัยใหม่
  • โพรบ DS18B20: สำคัญมากสำหรับการวัดอุณหภูมิที่ชัดเจนและประหยัดพลังงาน เพื่อใช้ในการปรับเทียบจากภายนอก
  • เคสพิมพ์ 3D แบบกำหนดเอง: ให้อินเทอร์เฟซทางกายภาพที่ดูโปรและชัดเจน พร้อมปกป้องวงจรภายใน
  • สาย Micro-USB: ใช้สำหรับอัพโหลดโค้ดลง Arduino และเป็นแหล่งจ่ายไฟหลักให้กับตัวควบคุมสภาพอากาศดิจิทัล

เคส:

  • ด้านหน้า
  • ด้านหลัง

PCB:

  • Gerber

หน้าปัดมิเตอร์

  • สร้างจากโปรแกรมแก้ไขภาพเวกเตอร์

สีถูกกำหนดโดยเครื่องเลเซอร์ตัด - สีแดงสำหรับเส้นตัด, สีดำสำหรับการแกะสลัก คำว่า "Temperatur / Luftfeuchte" เป็นภาษาเยอรมัน แปลว่า "อุณหภูมิ / ความชื้น" ภาพเหล่านี้ถูกพิมพ์บนแผ่นไม้สำหรับเลเซอร์หนา 0.6 มม.

ขั้นตอนการตรวจสอบสภาพอากาศและการโต้ตอบ

กระบวนการตรวจสอบคุณภาพอากาศถูกออกแบบมาให้มีประสิทธิภาพสูงสุด:

  1. เตรียมพื้นที่ทำงาน: วางเซนเซอร์ให้ถูกต้องในเคสที่พิมพ์ 3D และต่อสายไปยังขาของ Mega ให้ถูกพิน
  2. ตั้งค่าการซิงค์แบบพลังสูง: ในสเก็ตช์ Arduino ให้เริ่มต้นใช้งานไลบรารี่ OLED และ DHT และกำหนดช่วง PWM สำหรับมิเตอร์ในฟังก์ชัน setup()
  3. ลูปการตรวจสอบภายใน: สถานีจะทำการตรวจสอบสภาพแวดล้อมอย่างต่อเนื่องและอัพเดทตำแหน่งเข็มมิเตอร์แบบเรียลไทม์ตามคุณภาพอากาศในห้องของคุณ
  4. การผสานข้อมูลและการแสดงผล: ดูแดชบอร์ดที่คุณออกแบบเองกลายเป็นสัญญาณสถานะที่มีจังหวะ พลิ้วไหวและตอบสนองตามการตั้งค่าสภาพอากาศของคุณจากระยะไกล

แผนพัฒนาต่อไป

  • เพิ่มแดชบอร์ดแสดงข้อมูลบน OLED: เพิ่มจอ OLED ขนาดเล็กเข้าไปในกล่องเพื่อแสดงข้อมูลเช่น "เวลาเครือข่าย NTP" หรือ "ความแรงสัญญาณ WiFi"
  • ซิงค์เซนเซอร์สภาพอากาศหลายตัว: เชื่อมต่อ "เซนเซอร์วัดฝุ่น (Dust Sensor)" เพื่อทำการ "แจ้งเตือนเมื่อต้องเปลี่ยนฟิลเตอร์อากาศ" แบบไร้สายด้วยความแม่นยำสูงขึ้น
  • เพิ่มการสนับสนุนการเชื่อมต่อคลาวด์: เพิ่มแดชบอร์ดเว็บเฉพาะทางบนสมาร์ทโฟนผ่าน WiFi/BT เพื่อติดตามและบันทึกประวัติอุณหภูมิแบบละเอียด
  • เพิ่มการปรับแต่งโปรไฟล์ขั้นสูง: เพิ่ม "โพรบวัดภายนอก (vCore)" ลงในโค้ดเพื่อให้ระบบสามารถติดตามอุณหภูมิภายนอกอัตโนมัติ สำหรับการทำความเย็นแบบมีอัตราการเปลี่ยนแปลง!

ปรับปรุงสำหรับเวอร์ชันถัดไป

  • อย่าวางเซ็นเซอร์วัดอุณหภูมิบนบอร์ด – ความร้อนจาก Arduino จะทำให้ค่าอุณหภูมิเพี้ยน!
  • เพิ่มช่องระบายอากาศในเคสให้มากขึ้น

[!TIP] เพื่อหลีกเลี่ยงการรบกวนจากความร้อน ให้ติดตั้งเซ็นเซอร์ DHT22 ให้ห่างจากชิป Arduino Mega หรือจะใช้เป็นโพรบภายนอกก็จัดไปวัยรุ่น!

it's getting hotter เป็นโปรเจกต์ที่เหมาะมากสำหรับสายวิทย์ที่อยากได้เครื่องมือวัดสิ่งแวดล้อมแบบอินเทอร์แอคทีฟและตื่นเต้นกว่าเดิม! สู้งานนะน้อง ห้ามช็อตนะตัวนี้

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

apps:
  - "1x Arduino IDE"
  - "1x Vector Graphics Editor (for meter faces)"
author: "smi1100"
category: "Sensors & Environment"
components:
  - "1x Arduino Mega 2560"
  - "1x DHT22 Temperature & Humidity Sensor"
  - "1x Grove - Air Quality Sensor v1.3"
  - "1x DS18B20 1-Wire Digital Thermometer"
  - "1x Graphic OLED 128x128"
  - "2x Analog Voltmeters (Vintage Style)"
  - "2x RGB LEDs (Status Indicators)"
  - "1x Pushbutton (Display Toggle)"
  - "1x 3D Printed Casing (Front/Back parts)"
  - "10x Jumper wires (generic)"
  - "1x Micro-USB Cable"
description: "A professional and advanced environmental monitoring station that blends modern OLED technology with vintage analog voltmeters to track indoor temperature, humidity, and air quality using Arduino Mega."
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles:
  - "https://projects.arduinocontent.cc/18c3e8d7-60e4-401e-bc47-46e7cc696c86.ino"
encryptedPayload: "U2FsdGVkX19DebISYT7bBdsHnj5EcuknnaH5yM+4Qlq9vN46J6r8XtIIl69IUNXF8NU97yoGFOGuYdzRWJMK9VGWYOdF4kg8vmR5Ucmw+HA="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/its-getting-hotter-use-the-arduino-thermometer-d5a071_cover.jpg"
lang: "en"
likes: 2
passwordHash: "1bd954843d2e44c84d5b5c3432aba689420a98b42b1ff7d4bf2d94466f411e3d"
price: 2450
seoDescription: "An advanced and playsomely interactive Arduino-thermometer for beginners interested in Arduino climate-sensing and analog-to-digital-display projects."
tags:
  - "environmental-sensing"
  - "analog-meters"
  - "air-quality"
  - "data-logging"
  - "arduino-mega"
  - "advanced"
title: "ร้อนจะตาย! มาจับอุณหภูมิด้วย Arduino เทอร์โมมิเตอร์กัน"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/pwHKGhB3W1Y"
views: 1762