กลับไปหน้ารวมไฟล์
wifi-thermometer-with-led-matrix-and-graphs-via-2minlog-3f27e7.md

การประกอบชิ้นส่วน (Mechanical assembly):

- ต่อเทอร์มิสเตอร์ (Thermistor) เข้ากับขา 5V และ A0 ไปเลยจ้า

- ต่อตัวต้านทาน (Resistor) 2 kOhm เข้ากับขา A0 และ GND

เขียนโค้ด Arduino กัน (Arduino coding).

โค้ดหลักๆ แบ่งเป็น 3 ส่วนใหญ่ๆ นะน้อง:

1. ส่วนวัดอุณหภูมิ (Thermometer):

- คำนวณค่า analog จาก Arduino ให้เป็นอุณหภูมิ (เซลเซียส) ด้วยวิธี least square regression ตัวป่วนนี่แหละ

2. ส่วนเชื่อมต่อ WiFi/เน็ตเวิร์ค:

- เชื่อมต่อกับ WiFi เน็ตเวิร์คของน้อง

- สร้างการเชื่อมต่อ http/https ไปหาเซิร์ฟเวอร์

- ส่งข้อมูลไปทาง URL

3. ส่วนแสดงผลบน LED matrix บอร์ด:

- แสดงผลอุณหภูมิบนเมทริกซ์ และให้ข้อความวิ่ง (scroll) ได้

โค้ด Arduino เต็มๆ อยู่ที่นี่นะ ไปก๊อปมาเล่นกันได้เลย อย่าลืมปรับค่าตาม WiFi ของน้องด้วยล่ะ

ล้วงลึกเทคนิคแบบช่างๆ (Technical Deep-Dive)

  • เทอร์มิสเตอร์กับเทคนิคปรับเทียบหลายจุด (Thermistor Regression & Multi-Point Calibration Forensics):
    • วิเคราะห์ด้วย Least-Square Regression: ตัวเทอร์มิสเตอร์มันไม่เชิงเส้นเหมือนเซนเซอร์ทั่วไปนะ มันเป็นแบบ NTC (อุณหภูมิสูง ความต้านทานต่ำ) วิธีลึกๆ คือต้องปรับเทียบด้วยมือหลายอุณหภูมิ (เย็น/ห้อง/ร้อน) สิ่งที่ต้องจับตามองคืออาร์เรย์ levels[] กับ temperature[] ใช้ regression map ค่า analog ดิบๆ ให้เป็นอุณหภูมิที่แม่นยำและทำซ้ำได้
    • ความสมบูรณ์ของสัญญาณในวงจรแบ่งแรงดัน (Voltage-Divider Signal-Integrity): วงจรเราใช้ตัวต้านทานอ้างอิง $2\text{k}\Omega$ ต้องมั่นใจว่าโหนด $A0$ เทียบกับแรงดัน $5\text{V}$ นั้นเสถียร เพื่อให้การเปลี่ยนแปลงความต้านทานจากความร้อนถูกจับด้วยความละเอียดสูงสุด ก่อนจะส่งข้อมูลเป็นแพ็กเก็ต WiFi ออกไป
  • การจัดการเชื่อมต่อ WiFi และส่งข้อมูลขึ้นคลาวด์ (WiFi-Link & Cloud-Telemetry Orchestration):
    • วินิจฉัยการส่งข้อมูลแบบ HTTP-GET: ข้อมูลจะถูกแปลงเป็นสตริงใน URL (รหัสลับ + ค่า) ต้องสร้างการเชื่อมต่อที่ปลอดภัยไปยังเซิร์ฟเวอร์ สิ่งที่ต้องตรวจสอบคือ "ความแข็งแรงของสัญญาณ" เพื่อให้การร้องขอแบบอะซิงโครนัสไม่ไปขัดจังหวะลูปการอัพเดท LED matrix ตอนที่เน็ตเวิร์คมีปัญหา
    • ตรรกะการแสดงผลบนเมทริกซ์เลื่อน (Scrolling-Matrix Visual Logistics): LED matrix บน Uno R4 WiFi นี่คือหน้าจอแสดงผลหลักเลย เราใช้ไลบรารี่ Arduino_LED_Matrix ควบคุมการแสดงผล ให้ข้อความวิ่งด้วยความเร็วและความชัดเจนที่กำหนดได้ เป็นเหมือนจุดสังเกต visual anchor สำหรับข้อมูลที่ส่งขึ้นคลาวด์นั่นเอง

สร้างและแสดงกราฟ

- ล็อกอินเข้าใช้งานระบบ

- ตั้งค่าชุดข้อมูล (น้องจะต้องคัดลอกรหัสลับจากระบบไปใส่ในโค้ด Arduino)

- ตั้งค่ากราฟให้สวยงาม

โค้ด Python สำหรับสร้างกราฟอยู่ที่นี่ เอาไปรันบนเครื่องตัวเองหรือเซิร์ฟเวอร์ได้เลยจ้า

วิศวกรรมและการลงมือทำ (Engineering & Implementation)

  • นิติวิทยาศาสตร์ระดับเครือข่ายแบบยั่งยืน (Network-Layer Persistence Forensics):

    • ฮิวริสติกส์การเชื่อมต่อใหม่ (Reconnection Heuristics): ถ้าเกิดจุดเชื่อมต่อ (AP) ล่ม ระบบเรามีขั้นตอนวินิจฉัยแบบเรียกตัวเองเพื่อเชื่อม WiFi ใหม่ นิติวิทย์จะโฟกัสไปที่จังหวะเวลาในการจับมือกันของ SSID เพื่อลดการสูญเสียแพ็กเก็ตข้อมูลให้น้อยที่สุดในชุดข้อมูลชั่วคราว 2MINLOG
    • การจัดการข้อมูลฝั่งคลาวด์ (Cloud-side Data Orchestration): การลงมือทำใช้การสร้างภาพด้วย Python นิติวิทย์จะเกี่ยวข้องกับโค้ดเบส server.py และ 2minlog-examples เพื่อให้แน่ใจว่าแพ็กเก็ตข้อมูลที่ถูกกลืนเข้าไปในคลาวด์ $(\text{Dataset ID})$ นั้นถูกแยกวิเคราะห์อย่างถูกต้องเป็นกราฟประวัติศาสตร์สำหรับการวัดระยะไกลจากแท็บเล็ตหลายเครื่อง
  • ความเป็นโมดูลาร์ของฮาร์ดแวร์และความสมบูรณ์ของโครงสร้าง (Hardware Modularity & Structural Integrity):

    • การประกอบนั้นกระทัดรัด อาศัยอุปกรณ์ต่อพ่วงที่มากับบอร์ด R4 นิติวิทย์จะโฟกัสไปที่การแยกความร้อนของเทอร์มิสเตอร์จากคลื่นความร้อนที่แผ่ออกมาจากตัว MCU เอง $(\text{ชิป WiFi บนบอร์ด})$ เพื่อให้แน่ใจว่ากราดิเอนต์อุณหภูมิแวดล้อมที่ตรวจจับได้นั้นไม่ถูกเบี่ยงเบนด้วยอุณหพลศาสตร์ภายในของซิลิกอน

น้องต้องทำการปรับเทียบระบบนะจ๊ะ นั่นคือ หาความสัมพันธ์ระหว่างระดับแรงดันไฟฟ้ากับอุณหภูมิ วัดอุณหภูมิร้อน เย็น และอุณหภูมิห้องด้วยเทอร์โมมิเตอร์อ้างอิง แล้วไปปรับอาร์เรย์ temperature[] และ levels[] ในโค้ด Arduino ให้แม่นยำ

พอเสร็จแล้ว น้องก็สามารถแสดงกราฟเป็นหน้าแรก หรือจะเอาไปใช้กับของอย่างเช่น แท็บเล็ต Android เก่าๆ สักเครื่องก็ได้ เอาไว้โชว์กราฟเท่ๆ

(ถ้าน้องไม่อยากใช้แพลตฟอร์ม 2MINLOG ก็สามารถตั้งเซิร์ฟเวอร์รันในเครื่องตัวเองได้นะ โค้ดตัวอย่างมีให้)

ส่วนขั้นตอนแบบละเอียดยิบก็มีให้ศึกษาเช่นกัน ไปหาอ่านได้เลย


ความยั่งยืนทางความร้อน: การควบคุมการวัดระยะไกลผ่านเครือข่ายด้วยนิติวิทยาศาสตร์ WiFi

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

apps:
  - "1x 2MINLOG"
author: "jj-dd"
category: "Sensors & Environment"
components:
  - "1x Thermistor 10K"
  - "1x Resistor 2k ohm"
  - "1x Arduino UNO R4 WiFi LED Matrix"
description: "มาเลยน้อง! งานนี้ งานง่ายแต่หล่อมาก เป็นทูตอเรียลทำเทอร์โมมิเตอร์ต่อ WiFi ด้วย Arduino วัดอุณหภูมิด้วย Thermistor โชว์ผลแบบเทพๆ บน Matrix LED Display แล้วส่งข้อมูลขึ้นแพลตฟอร์ม 2MINLOG เพื่อพลอตกราฟผลงานสุดปังของเรา! จัดไปแบบไม่มีห่วง"
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles:
  - "https://github.com/2minlog/2minlog-examples/tree/main/10-wifi-arduino-thermometer"
encryptedPayload: "U2FsdGVkX1+KayiY0dIHZ2a/iJCo0cCUcHRJCKrnxg54g4lkPlDvjlTIFmOOPNL9Ev7QSlMZG9PXcN69CwTeNg=="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/wifi-thermometer-with-led-matrix-and-graphs-via-2minlog-3f27e7_cover.jpg"
lang: "en"
likes: 0
passwordHash: "173ae055e92c541afff82909a2635e6b0157d6e539723d4f0332f807ae22a295"
price: 699
seoDescription: "Build a Wifi Arduino thermometer with LED matrix display and 2MINLOG integration for real-time temperature graphs and data logging."
tags:
  - "Weather"
  - "Home Automation"
  - "Internet Of Things"
title: "เทอร์โมมิเตอร์สายวายร้าย! แสดงผล LED ตึงๆ + กราฟสวยผ่าน 2MINLOG"
tools: []
videoLinks: []
views: 3077