รีเลย์ Arduino/ESP32 คืออะไร? ต่อ Relay Module 5V/3V เปิดปิดไฟ 220V อย่างปลอดภัย
รีเลย์ Arduino/ESP32 คือชิ้นส่วนที่ใช้ให้บอร์ดไมโครคอนโทรลเลอร์ควบคุมอุปกรณ์ไฟฟ้าที่กินกระแสหรือแรงดันสูงกว่าได้ เช่น เปิดปิดหลอดไฟ 220V, ปั๊มน้ำ, พัดลม, solenoid หรือโหลด DC/AC อื่น ๆ
แต่รีเลย์ก็เป็นจุดที่พังและอันตรายที่สุดจุดหนึ่งของโปรเจค เพราะฝั่งบอร์ดเป็นไฟต่ำ แต่ฝั่งโหลดอาจเป็นไฟบ้าน 220V ถ้าต่อมั่วคือเสี่ยงทั้งบอร์ดพัง ไฟดูด และไฟไหม้
ติดงาน Relay / ไฟ 220V อย่าเดาสายเอง
ถ้าไม่แน่ใจเรื่อง COM/NO/NC, active low, relay 3V/5V หรือปั๊มน้ำกินกระแสเท่าไหร่ ส่งรูปบอร์ดเข้ามาให้ดูได้ก่อน งานเล็กแก้ไว ไม่ต้องเสี่ยงเผาบอร์ด
Relay Module ทำงานยังไง
Relay คือสวิตช์ไฟฟ้าที่ใช้สัญญาณควบคุมเล็ก ๆ ไปเปิด/ปิดวงจรอีกฝั่งหนึ่ง ตัว Relay Module ที่ใช้กับ Arduino มักมีวงจรขับมาให้แล้ว เช่น transistor, optocoupler, LED status และ terminal block สำหรับต่อโหลด
ภาพรวมการต่อคือ:
Arduino/ESP32 pin → IN ของ Relay Module
Relay COM/NO/NC → ต่อเข้าวงจรโหลด เช่น หลอดไฟ/ปั๊ม
COM / NO / NC คืออะไร
- COM: ขากลางของสวิตช์
- NO (Normally Open): ปกติไม่ต่อวงจร จะต่อกับ COM เมื่อ relay ทำงาน
- NC (Normally Closed): ปกติต่อกับ COM จะตัดออกเมื่อ relay ทำงาน
ถ้าต้องการให้อุปกรณ์ “ปกติดับ กดแล้วติด” ให้ใช้ COM + NO เป็นหลัก
High Trigger / Low Trigger / Active Low
Relay Module แต่ละรุ่นทำงานไม่เหมือนกัน:
- High Trigger: ส่ง HIGH แล้ว relay ทำงาน
- Low Trigger / Active Low: ส่ง LOW แล้ว relay ทำงาน
- เลือกได้ด้วย jumper: บางรุ่นมีจัมป์ H/L ให้เลือก
ก่อนต่อโหลดจริงให้ลองสั่ง pin แล้วดูไฟ status บนบอร์ด relay ก่อนเสมอ อย่าต่อไฟบ้านทันที
Arduino ใช้ Relay 5V
Arduino UNO ใช้ logic 5V จึงเข้ากับ relay 5V ง่ายกว่า โดยปกติต่อแบบนี้:
| Relay 5V | Arduino UNO |
|---|---|
| VCC | 5V |
| GND | GND |
| IN | D7 |
ตัวอย่างโค้ด active LOW:
const int RELAY_PIN = 7;
void setup() {
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, HIGH); // ปิด relay ตอนเริ่ม
}
void loop() {
digitalWrite(RELAY_PIN, LOW); // เปิด relay
delay(3000);
digitalWrite(RELAY_PIN, HIGH); // ปิด relay
delay(3000);
}
อ่านตัวอย่างละเอียดที่ ต่อ Arduino กับ Relay Module 5V 4 ช่อง
ESP32 ใช้ Relay 3V / 5V
ESP32 ใช้ logic 3.3V จึงต้องระวัง relay 5V บางรุ่นที่ input ต้องการ 5V ถึงจะ trigger ชัด ถ้าใช้ relay 3V หรือ relay ที่รับ 3.3V ได้จะง่ายกว่า
ตัวอย่าง wiring:
| Relay 3V/5V | ESP32 |
|---|---|
| VCC | 3V3 หรือ 5V ตาม spec |
| GND | GND |
| IN | GPIO 23 |
อ่านตัวอย่างละเอียดที่ ต่อ ESP32 ควบคุม Relay 4 ช่อง 3V
ข้อควรระวังไฟ 220V
- ถ้าไม่มีพื้นฐานไฟฟ้า อย่าจับสายไฟบ้านตอนเสียบปลั๊ก
- ใช้กล่องครอบ terminal block เสมอ
- อย่าให้สาย AC อยู่ใกล้สายสัญญาณ Arduino แบบหลวม ๆ
- เช็คพิกัด relay ว่ารับกระแสโหลดได้จริง
- ปั๊มน้ำ/มอเตอร์มีกระแสกระชากสูงกว่าค่าปกติ
- งานที่ใช้งานจริงควรให้ช่างไฟช่วยตรวจ
เลือก Relay แบบไหนดี
- งาน LED/โหลดเล็ก DC: ใช้ transistor/MOSFET อาจเหมาะกว่า relay
- งานหลอดไฟ/ปั๊มเล็ก: Relay Module 1 ช่องหรือ 2 ช่อง
- งานหลายโหลด: Relay 4 ช่องหรือ 8 ช่อง แต่ต้องดูไฟเลี้ยงรวม
- งาน AC เปิดปิดถี่: พิจารณา SSR แต่ต้องเลือกชนิดให้ตรงโหลด
- งานอุตสาหกรรม: ใช้ contactor / breaker / fuse ให้เหมาะ ไม่ใช้ module ถูก ๆ แบกโหลดหนัก
ลิงก์รีเลย์ที่เกี่ยวข้อง
- ต่อ Arduino กับ Relay Module 5V 4 ช่อง
- ต่อ ESP32 ควบคุม Relay 4 ช่อง 3V
- ต่อ Relay Module ควบคุมไฟบ้าน 220VAC ด้วย Arduino
- ESP32 ควบคุม Solid State Relay
- รับเขียนโปรแกรม Arduino / แก้โค้ด
สรุป
Relay เป็นอุปกรณ์พื้นฐานที่ใช้บ่อยมากใน Arduino/ESP32 แต่ต้องเข้าใจ COM/NO/NC, active high/low และไฟเลี้ยงให้ชัดก่อนต่อโหลดจริง ถ้าเป็นไฟบ้าน 220V อย่าเดา เพราะผิดครั้งเดียวอันตรายกว่างานไม่ติดเยอะ
อยากทำโปรเจคแบบนี้?
รับทำโปรเจค Arduino / IoT จบงานไว ส่งงานครบ พร้อมสอน
หากต้องการ รับทำโปรเจคอาดูโน่ หรือระบบ IoT แบบเร่งด่วน สามารถดูรายละเอียดบริการได้ที่หน้าแรก
จ้างทำโปรเจคเลย