ในการทำโปรเจกต์ Smart Farm หรือระบบรดน้ำอัตโนมัติ อุปกรณ์สำคัญที่ขาดไม่ได้คือ โซลินอยด์วาล์ว (Solenoid Valve) ซึ่งทำหน้าที่ควบคุมการเปิด-ปิดน้ำ แต่เนื่องจากวาล์วเหล่านี้มักใช้ไฟฟ้าแรงดันสูง (เช่น 12V หรือ 220V) เราจึงไม่สามารถต่อตรงกับ Arduino ได้ บทความนี้จะสอน วิธีเชื่อมต่อ Arduino กับรีเลย์ เพื่อสั่งงานโซลินอยด์วาล์วอย่างปลอดภัย
อุปกรณ์ที่ต้องใช้
- บอร์ด Arduino (Uno, Nano หรือรุ่นอื่นๆ)
- รีเลย์โมดูล (Relay Module 5V)
- โซลินอยด์วาล์ว (Solenoid Valve)
- แหล่งจ่ายไฟภายนอก (ตามสเปกของวาล์ว เช่น 12V Adapter)
- สายจัมเปอร์ (Jumper Wire)
วงจรการต่อใช้งาน (Wiring Diagram)
การต่อวงจร Arduino ควบคุมโซลินอยด์วาล์ว มีหลักการง่ายๆ คือใช้รีเลย์เป็นสวิตช์ตัดต่อวงจรไฟฟ้า ดังนี้:
- ด้าน Arduino -> Relay: ต่อ VCC ไปที่ 5V, GND ไปที่ GND และ IN ไปที่ Digital Pin 2
- ด้าน Relay -> Solenoid: ตัดสายไฟบวกของแหล่งจ่ายไฟ 12V หนึ่งเส้น นำฝั่งหนึ่งเข้าช่อง COM และอีกฝั่งเข้าช่อง NO ของรีเลย์
- สายที่เหลือ: ต่อสายลบจากแหล่งจ่ายไฟเข้ากับขั้วของโซลินอยด์วาล์วโดยตรง
โค้ด Arduino สำหรับควบคุมรีเลย์
ด้านล่างนี้คือตัวอย่างโค้ดง่ายๆ ในการสั่งให้วาล์วเปิด-ปิดสลับกันทุกๆ 5 วินาที:
// กำหนดพินที่ต่อกับ Relay
const int relayPin = 2;
void setup() {
// ตั้งค่าพินรีเลย์เป็น OUTPUT
pinMode(relayPin, OUTPUT);
}
void loop() {
digitalWrite(relayPin, LOW); // สั่งให้รีเลย์ทำงาน (เปิดวาล์ว) *รีเลย์ส่วนใหญ่เป็น Active Low
delay(5000); // รอ 5 วินาที
digitalWrite(relayPin, HIGH); // สั่งให้รีเลย์หยุดทำงาน (ปิดวาล์ว)
delay(5000); // รอ 5 วินาที
}
คำอธิบายการทำงานและข้อควรระวัง
จากโค้ดด้านบน เราใช้คำสั่ง digitalWrite ส่งสัญญาณไปที่รีเลย์ ข้อควรระวัง: รีเลย์โมดูลส่วนใหญ่ในท้องตลาดทำงานแบบ Active Low หมายความว่าเมื่อเราส่งสถานะ LOW รีเลย์จะทำงาน และเมื่อส่ง HIGH รีเลย์จะหยุดทำงาน
การใช้ Arduino กับรีเลย์และโซลินอยด์วาล์ว อย่าลืมตรวจสอบกำลังไฟของ Adapter ให้เพียงพอต่อการทำงานของวาล์ว เพื่อป้องกันความเสียหายที่อาจเกิดขึ้นกับบอร์ดไมโครคอนโทรลเลอร์ของคุณ
