การรวมอินพุตหลายประเภท: ขยายระบบ Home Automation
การเปิด-ปิด LED เป็นเรื่องง่าย แต่การจัดการสภาพแวดล้อมที่เชื่อมต่อกันโดยใช้โปรโตคอลการสื่อสารที่แตกต่างกันสี่แบบพร้อมกันนั้นเป็นเรื่องยาก ต้นแบบระบบ Home Automation ด้วย Arduino นี้สร้างแผงควบคุมรวมศูนย์ขึ้นมา เพื่อแสดงให้เห็นว่าไมโครคอนโทรลเลอร์ตัวเดียวสามารถรวบรวมอินพุตจาก IR, Bluetooth, แผงปุ่มกดแบบ Matrix และ Serial เข้ากับการทำงานของ Mechanical Relay ที่เป็นหนึ่งเดียวกันได้อย่างไร

การสั่งงาน Relay แบบ 4-Channel
"เอาต์พุต" ของระบบทั้งหมดจะเน้นไปที่ 4-Channel 5V Relay Board เป็นหลัก
- ตรรกะการต่อสายไฟ: Relay ทำหน้าที่เป็นสวิตช์ตัดวงจรไฟฟ้า สายไฟ Live 220V จากผนังจะถูกตัดและต่อเข้ากับพอร์ต
Common (COM)และNormally Open (NO)Arduino จะไม่สัมผัสกับไฟ AC 220V เลย - บอร์ด Relay มี Opto-isolator เพื่อป้องกัน Arduino จากคลื่นแม่เหล็กไฟฟ้าขนาดใหญ่ที่เกิดจากการเปิดพัดลมเพดานและเครื่องซักผ้า!
Loop การรวมตรรกะ
loop() ของ Arduino จะทำงานตรวจสอบอย่างรวดเร็วเป็นวงจรผ่านอินพุตสี่วิธีที่แตกต่างกัน
void loop() {
readBluetooth(); // แอป Android กำลังร้องขอการเปลี่ยนแปลงอยู่หรือไม่?
readKeypad(); // มีใครกดรหัสบนแผงควบคุมที่ผนังหรือไม่?
readIRRemote(); // รีโมตโซฟากดปุ่มหรือไม่?
verifySensors(); // PIR sensor ตรวจจับผู้บุกรุกหรือไม่?
}
หากฟังก์ชันใดๆ เหล่านี้ส่งคืนเงื่อนไข true สำหรับ "เปิดไฟห้องครัว" ตรรกะจะเขียน: digitalWrite(Relay1, LOW); (โดยทั่วไป Relay จะใช้การทริกเกอร์แบบ LOW-level) สวิตช์ทางกายภาพจะคลิก และหลอดไฟ AC ที่ใช้ไฟสูงจะสว่างไสวขึ้นมา
การรวมส่วนประกอบ
- Arduino Mega 2560: (จำเป็นต้องใช้ เนื่องจาก 4x4 Matrix, IR sensor, Bluetooth module และ Relay 4 ตัว จะใช้ Digital Pin เกือบทั้งหมดบน Uno!)
- 4-Channel 5V Relay Module (ต้องเป็น Optically Isolated!)
- HC-06 Bluetooth Receiver
- TSOP38238 Infrared Receiver Diode (สำหรับรีโมตทีวีเก่า)
- หลอดไฟ, พัดลม, และสายไฟต่อพ่วง (Extension Cords) แบบหนา 110V/220V สำหรับการติดตั้งโหลดทดสอบ