กลับไปหน้ารวมไฟล์
arduino-control-center-thermostat-example-50bc91.md

มุมมองของโปรเจค

ตัวอย่าง Arduino Control Center Thermostat นี่คือโครงสร้างพื้นฐานสำหรับใครก็ตามที่เพิ่งเริ่มต้นเดินทางในโลก Home Automation และการควบคุมสภาพแวดล้อม ด้วยการใช้ซอฟต์แวร์พิเศษชื่อ Arduino Control Center (ACC) และเซ็นเซอร์วัดอุณหภูมิความแม่นยำสูง คุณสามารถสร้างเทอร์โมสตัทที่จัดระบบดีและใช้ง่ายสำหรับบ้านคุณได้เลย

การลงมือทำจริง: ACC และเซ็นเซอร์

โปรเจคนี้โฟกัสไปที่การสร้างเทอร์โมสตัทที่ทั้งแรงและใช้ง่าย:

  • ชั้นซอฟต์แวร์ควบคุม: ซอฟต์แวร์ Arduino Control Center (ACC) ให้อินเทอร์เฟซแบบกราฟิกสำหรับการตั้งค่าและจัดการลอจิกของเทอร์โมสตัทของคุณ
  • ชั้นตรวจจับ: ด้วยการใช้ เซ็นเซอร์วัดอุณหภูมิ DS18B20 สองตัว คุณสามารถตรวจสอบอุณหภูมิในโซนต่างๆ ได้อย่างแม่นยำและสั่งงานรีเลย์ได้อย่างเหมาะสม
  • ชั้นสั่งงาน: โมดูลรีเลย์ 4 แชนเนล ทำให้ Arduino สามารถเปิด-ปิดอุปกรณ์ทำความร้อนหรือความเย็นต่างๆ ตามลอจิกของเทอร์โมสตัทได้

โครงสร้างฮาร์ดแวร์

  • Arduino Uno: คือ "สมอง" ของเทอร์โมสตัท คอยจัดการการเชื่อมต่อกับซอฟต์แวร์ ACC และประสานงานระหว่างเซ็นเซอร์กับรีเลย์
  • Arduino Ethernet Shield: เชื่อม Arduino เข้ากับเครือข่ายในบ้านคุณ ทำให้สามารถตรวจสอบและควบคุมจากระยะไกลผ่าน UDP หรือ HTTP ได้
  • เซ็นเซอร์วัดอุณหภูมิ DS18B20: ให้ค่าอุณหภูมิแบบดิจิทัลที่แม่นยำสูง
  • โมดูลรีเลย์: แยกส่วนและควบคุมอุปกรณ์บ้านที่ใช้แรงดัน/กระแสสูงได้อย่างมีประสิทธิภาพด้วยสัญญาณแรงดันต่ำ
  • สาย Micro-USB / Ethernet Cable: ใช้สำหรับโปรแกรม Arduino และเชื่อมต่อกับคอมพิวเตอร์หรือเครือข่ายในบ้าน

ฮาร์ดแวร์ที่ต้องใช้:

  • Arduino UNO
  • w5100 Ethernet shield
  • เซ็นเซอร์วัดอุณหภูมิ DS18B20 จำนวน 2 ตัว
  • Screw shield
  • บอร์ดรีเลย์ 4 แชนเนล
  • สายจัมเปอร์ Dupont แบบผู้-เมีย, เมีย-เมีย
  • และ/หรือ Sensor shield (สำหรับการต่อสายที่ง่ายขึ้นและทำตามขั้นตอนได้สะดวก)

ฮาร์ดแวร์ที่ต้องใช้โดยยังไม่ได้ต่อเซ็นเซอร์วัดอุณหภูมิ DS18B20

ไฟล์ Arduino Control Center เป็นแบบ zip ให้แตกไฟล์แล้วรันแอปพลิเคชันได้เลย แบบพกพา ไม่ต้องติดตั้ง

ตั้งค่าและใช้งานแบบ Step-by-Step ง่ายๆ

ขั้นตอนนี้จัดมาให้ชัดเจน ทำงานไว ไม่ต้องมึน!

  1. เริ่มต้น ACC: ติดตั้งซอฟต์แวร์ Arduino Control Center (ACC) แล้วตั้งค่าเบื้องต้นให้เรียบร้อย
  2. ต่อเซ็นเซอร์และรีเลย์: ต่อสายเซ็นเซอร์ DS18B20 สองตัวและโมดูลรีเลย์ให้ถูกขากับ Arduino ของน้อง
  3. ตั้งค่าใน ACC: ใช้ซอฟต์แวร์ ACC ตั้งค่าขา Input (เซ็นเซอร์) และ Output (รีเลย์) พร้อมกำหนดค่าอุณหภูมิที่ต้องการ
  4. จัดการผ่านเน็ต: ใช้ฟีเจอร์ HTTP หรือ UDP Server ของ ACC เพื่อมอนิเตอร์และควบคุมเทอร์โมสตัทจากแดชบอร์ดบนเว็บได้จากที่ไหนก็ได้

ตั้งค่า Arduino Uno พร้อม Ethernet Shield ให้พร้อมรบ:

  • เลือกประเภทบอร์ด Arduino
  • เลือกเฟิร์มแวร์สำหรับบอร์ด Arduino
  • เลือกพอร์ตอนุกรมสำหรับการสื่อสาร
  • อัปโหลดเฟิร์มแวร์ที่คอมไพล์แล้วด้วยตัวอัปโหลดในตัว ไม่ต้องใช้ Arduino IDE
  • ทดสอบเฟิร์มแวร์ที่อัปโหลด อ่านข้อความ
  • สร้างหมายเลข ID สำหรับ Arduino (จำเป็น!)
  • หา IP Address ของเครื่อง PC ของน้อง (จำเป็นสำหรับการตั้งค่าเน็ตเวิร์ก)
  • ตั้งค่า IP Address สำหรับ Arduino บน PC (ต้องอยู่ในช่วง LAN เดียวกัน และปิด DHCP สำหรับ Arduino UNO!)
  • สร้าง MAC Address สำหรับ Arduino (จำเป็น! ต้องไม่ซ้ำในเครือข่าย!)
  • ตั้งค่า UDP (Arduino server) IP Address - ในตัวอย่างนี้คือ IP ของเครื่อง PC น้องเอง!
  • อัปโหลด ID และการตั้งค่าเน็ตเวิร์ก
  • ดูการตั้งค่าบอร์ด Arduino
  • เสร็จสิ้นการตั้งค่า Arduino และเพิ่มอุปกรณ์เข้าไปในระบบ ACC
  • คลิกที่ช่องติ๊กในรายการเพื่อเปิดการสื่อสารแบบอนุกรม
  • จัดไปวัยรุ่น! ตอนนี้พร้อมตั้งค่า Inputs และ Outputs แล้ว!

ตั้งค่าอินพุตและเอาต์พุต:

  • ดับเบิลคลิกที่รายการพิน (หรือคลิกขวา -> Configure pin) แล้วเพิ่มเซ็นเซอร์ DS18B20 เข้าไป (2 ครั้งนะ ใช้พิน D6 กับ D7)
  • ดับเบิลคลิกที่รายการพิน (หรือคลิกขวา -> Configure pin) แล้วเพิ่มรีเลย์เข้าไป (4 ครั้ง ใช้พิน A0 ถึง A3 ตามรูป)
  • คลิกขวาที่ไอคอนรีเลย์ แล้วตั้งกฎ (rule) สำหรับเทอร์โมสตัทให้มัน
  • นี่คือตัวอย่างหน้าตาของ กฎที่ตั้งไว้
  • ถ้าแผงรีเลย์ของน้อง (แบบในตัวอย่างนี้) ใช้สัญญาณ LOW ในการสั่งงานรีเลย์ น้องสามารถเลือก INVERT output ได้ เพื่อให้สถานะที่แสดงตรงกับรีเลย์จริงๆ

ฮาร์ดแวร์ที่ต้องใช้ พร้อมเซ็นเซอร์วัดอุณหภูมิ DS18B20 และแผงรีเลย์ที่ต่อเรียบร้อยแล้ว:

  • แผงรีเลย์: ต่อที่พิน A0-A3 พวกพินอนาล็อกเนี่ย มันจะถูกตั้งเป็นเอาต์พุตดิจิตอลอัตโนมัติตอนที่น้องเลือกพินเป็น DIGITAL
  • เซ็นเซอร์ DS18B20: ต่อสายข้อมูล (DQ) ตัวแรกที่พิน D6 ตัวที่สองที่พิน D7

ส่วน VCC กับ GND ของเซ็นเซอร์ ให้ต่อเข้ากับขา V กับ G บน Sensor Shield (ถ้าน้องใช้) หรือแล้วแต่ว่าน้องใช้อุปกรณ์แบบไหน

ตั้งค่าและสตาร์ทเซิร์ฟเวอร์ HTTP กับ UDP:

  • เปิดหน้าเซิร์ฟเวอร์ ขึ้นมา
  • ตั้งพอร์ตสำหรับ UDP และ HTTP (ค่าเริ่มต้นคือ 8082 กับ 80)
  • กดสตาร์ทเซิร์ฟเวอร์ เลยวัยรุ่น
  • ถ้าตั้งค่าถูกต้อง น้องควรจะเห็นไอพีแอดเดรสของ Arduino โผล่มา
  • ถ้าแผงรีเลย์ของน้อง (แบบในตัวอย่างนี้) ใช้สัญญาณ LOW ในการสั่งงานรีเลย์ น้องสามารถเลือก INVERT output ได้ เพื่อให้สถานะที่แสดงตรงกับรีเลย์จริงๆ

สร้างกฎ (Rules) สำหรับรีเลย์:

  • คลิกขวาที่เอาต์พุต (รีเลย์) แล้วเลือกเมนู "Rule editor"
  • สร้างกฎ โดยใช้เซ็นเซอร์ DS18b20 ที่มีอยู่
  • พอรูกฎแล้ว ไอคอนรีเลย์จะมีเครื่องหมาย บอกว่ามีกฎตั้งไว้แล้ว
  • ล็อกอินเข้าเว็บเพจ ของบอร์ด
  • นี่คือ ตัวอย่างเว็บเพจ สำหรับการตั้งค่าที่เราสร้างไว้
  • สามารถเปิด-ปิดรีเลย์ผ่านเครือข่าย ได้เลย! หมายเหตุ: ถ้า Arduino ต่อทั้ง Serial และ Network ไว้ คำสั่งจาก Serial จะมีความสำคัญกว่า

ต่อยอดในอนาคต

  • เพิ่มหน้าจอแสดงสถานะแบบ OLED: ต่อจอ OLED ขนาดเล็กเข้าไปเพื่อแสดงค่าอุณหภูมิแบบเรียลไทม์และสถานะของรีเลย์ (Relay) ให้ดูเท่ๆ
  • วัดอุณหภูมิหลายโซน: ต่อเซ็นเซอร์ DS18B20 เพิ่มเข้าไปอีกหลายๆ ตัว เพื่อคุมอุณหภูมิในหลายๆ จุดของบ้าน (จัดไปวัยรุ่น)
  • ตั้งเวลาควบคุมอัตโนมัติ: ใช้ซอฟต์แวร์ ACC ตั้งตารางเวลาเปิด-ปิดเครื่องทำความร้อน/ความเย็นอัตโนมัติตามเวลาหรือวันหยุดได้เลย
  • ระบบแจ้งเตือนฉุกเฉิน: ตั้งค่าในซอฟต์แวร์ ACC ให้ส่งการแจ้งเตือน (Email/SMS) เมื่ออุณหภูมิเกินค่าที่กำหนดไว้ (ห้ามช็อตนะตัวนี้)

โปรเจค Arduino Control Center Thermostat นี้แหละที่เหมาะสุดๆ สำหรับสายอิเล็กทรอนิกส์ที่อยากได้เครื่องมืออัตโนมัติในบ้านที่มันอินเทอร์แอคทีฟและสนุกกว่าเดิม! สู้งานนะน้อง

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

apps:
  - "1x Arduino IDE"
  - "1x Arduino Control Center (ACC) Software"
author: "shassandanish1"
category: "Home Automation"
components:
  - "1x Jumper wires (generic)"
  - "1x 4-CHANNEL RELAY CONTROLLER FOR I2C"
  - "1x Arduino UNO"
  - "1x w5100 Ethernet shield"
  - "1x Ethernet Shield w5100"
  - "1x Screw shield"
  - "2x Temperature Sensor"
description: "มาดูวิธีสร้างเทอร์โมสตัทสายช่างตัวจริง! ใช้เซนเซอร์ ds18b20 กับรีเลย์บอร์ด จับคู่กับ Arduino Control Center ให้สามารถมอนิเตอร์และสั่งงานผ่านเน็ตเวิร์กได้แบบตึงๆ งานนี้ทั้งเทพและกวนได้ตามสไตล์วัยรุ่นวิศวะ จัดไป!"
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles: []
encryptedPayload: "U2FsdGVkX1+0F8OpEJApQLe9l0XVGTYcDSQ/1pscZ07QPxqsf90s6sfuzIKd/lUPirCU5jID8XU1UJLdY+pCdNLUx7jEfiO6h0xF6GBD4yk="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/arduino-control-center-thermostat-example-50bc91_cover.jpg"
lang: "en"
likes: 1
passwordHash: "a6bee3d7c31abbe154b3115106ac316819f1d916a722242127330c4132e8c1cc"
price: 2450
seoDescription: "An intuitive and simple thermostat example for beginners interested in Arduino Control Center projects with clear feedback."
tags:
  - "thermostat"
  - "arduino"
  - "acc"
  - "ds18b20"
  - "relay"
  - "beginners"
title: "มาปั้น Thermostat ควบคุมผ่านเน็ตเวิร์กด้วย Arduino กัน! (งานง่ายแต่หล่อ)"
tools: []
videoLinks:
  - "http://lanmisoft.com/images/examples/thermostat/web_toogle_relays.jpg"
views: 5283