มุมมองของโปรเจค
ตัวอย่าง 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 ง่ายๆ
ขั้นตอนนี้จัดมาให้ชัดเจน ทำงานไว ไม่ต้องมึน!
- เริ่มต้น ACC: ติดตั้งซอฟต์แวร์ Arduino Control Center (ACC) แล้วตั้งค่าเบื้องต้นให้เรียบร้อย
- ต่อเซ็นเซอร์และรีเลย์: ต่อสายเซ็นเซอร์ DS18B20 สองตัวและโมดูลรีเลย์ให้ถูกขากับ Arduino ของน้อง
- ตั้งค่าใน ACC: ใช้ซอฟต์แวร์ ACC ตั้งค่าขา Input (เซ็นเซอร์) และ Output (รีเลย์) พร้อมกำหนดค่าอุณหภูมิที่ต้องการ
- จัดการผ่านเน็ต: ใช้ฟีเจอร์ 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 นี้แหละที่เหมาะสุดๆ สำหรับสายอิเล็กทรอนิกส์ที่อยากได้เครื่องมืออัตโนมัติในบ้านที่มันอินเทอร์แอคทีฟและสนุกกว่าเดิม! สู้งานนะน้อง