
นี่คือโปรเจคที่สามของพี่กับ 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 มม.

ขั้นตอนการตรวจสอบสภาพอากาศและการโต้ตอบ
กระบวนการตรวจสอบคุณภาพอากาศถูกออกแบบมาให้มีประสิทธิภาพสูงสุด:
- เตรียมพื้นที่ทำงาน: วางเซนเซอร์ให้ถูกต้องในเคสที่พิมพ์ 3D และต่อสายไปยังขาของ Mega ให้ถูกพิน
- ตั้งค่าการซิงค์แบบพลังสูง: ในสเก็ตช์ Arduino ให้เริ่มต้นใช้งานไลบรารี่
OLEDและDHTและกำหนดช่วง PWM สำหรับมิเตอร์ในฟังก์ชันsetup() - ลูปการตรวจสอบภายใน: สถานีจะทำการตรวจสอบสภาพแวดล้อมอย่างต่อเนื่องและอัพเดทตำแหน่งเข็มมิเตอร์แบบเรียลไทม์ตามคุณภาพอากาศในห้องของคุณ
- การผสานข้อมูลและการแสดงผล: ดูแดชบอร์ดที่คุณออกแบบเองกลายเป็นสัญญาณสถานะที่มีจังหวะ พลิ้วไหวและตอบสนองตามการตั้งค่าสภาพอากาศของคุณจากระยะไกล
แผนพัฒนาต่อไป
- เพิ่มแดชบอร์ดแสดงข้อมูลบน OLED: เพิ่มจอ OLED ขนาดเล็กเข้าไปในกล่องเพื่อแสดงข้อมูลเช่น "เวลาเครือข่าย NTP" หรือ "ความแรงสัญญาณ WiFi"
- ซิงค์เซนเซอร์สภาพอากาศหลายตัว: เชื่อมต่อ "เซนเซอร์วัดฝุ่น (Dust Sensor)" เพื่อทำการ "แจ้งเตือนเมื่อต้องเปลี่ยนฟิลเตอร์อากาศ" แบบไร้สายด้วยความแม่นยำสูงขึ้น
- เพิ่มการสนับสนุนการเชื่อมต่อคลาวด์: เพิ่มแดชบอร์ดเว็บเฉพาะทางบนสมาร์ทโฟนผ่าน WiFi/BT เพื่อติดตามและบันทึกประวัติอุณหภูมิแบบละเอียด
- เพิ่มการปรับแต่งโปรไฟล์ขั้นสูง: เพิ่ม "โพรบวัดภายนอก (vCore)" ลงในโค้ดเพื่อให้ระบบสามารถติดตามอุณหภูมิภายนอกอัตโนมัติ สำหรับการทำความเย็นแบบมีอัตราการเปลี่ยนแปลง!
ปรับปรุงสำหรับเวอร์ชันถัดไป
- อย่าวางเซ็นเซอร์วัดอุณหภูมิบนบอร์ด – ความร้อนจาก Arduino จะทำให้ค่าอุณหภูมิเพี้ยน!
- เพิ่มช่องระบายอากาศในเคสให้มากขึ้น
[!TIP] เพื่อหลีกเลี่ยงการรบกวนจากความร้อน ให้ติดตั้งเซ็นเซอร์ DHT22 ให้ห่างจากชิป Arduino Mega หรือจะใช้เป็นโพรบภายนอกก็จัดไปวัยรุ่น!
it's getting hotter เป็นโปรเจกต์ที่เหมาะมากสำหรับสายวิทย์ที่อยากได้เครื่องมือวัดสิ่งแวดล้อมแบบอินเทอร์แอคทีฟและตื่นเต้นกว่าเดิม! สู้งานนะน้อง ห้ามช็อตนะตัวนี้