Relay เป็นอุปกรณ์สวิตช์ไฟฟ้าที่ใช้ในการควบคุมการเปิด-ปิดวงจรไฟฟ้าด้วยสัญญาณไฟฟ้า ตัว Relay ประกอบด้วยขดลวดแม่เหล็กไฟฟ้า (Electromagnet) ที่ทำงานโดยการรับสัญญาณไฟฟ้าจากภายนอก เมื่อขดลวดได้รับกระแสไฟฟ้า จะสร้างสนามแม่เหล็กเพื่อดึงสวิตช์ภายในทำให้วงจรปิด หรือเปิดขึ้น
สำหรับ Relay 5V Low Active หมายถึงว่ารีเลย์นี้จะทำงาน (เปิดหรือปิดวงจร) เมื่อได้รับสัญญาณไฟฟ้าต่ำหรือ 0V (Low) ที่ขาควบคุม เมื่อขาควบคุมมีค่าแรงดันต่ำ ขดลวดแม่เหล็กจะถูกกระตุ้น ทำให้สวิตช์ในรีเลย์ทำงาน เช่น การปิดวงจรไฟฟ้าเพื่อจ่ายไฟให้กับโหลดที่ต้องการ ในทางกลับกัน ถ้าขาควบคุมมีค่าแรงดันสูง (High) ขดลวดจะไม่ทำงานและวงจรจะเปิด
1.ต่ออุปกรณ์
.png?alt=media&token=4d2ee838-6b40-4842-bf35-638d184e8d43)
Relay > Arduino UNO
GND>GNDVCC>5VIN1>Pin 7
2.ลงโปรแกรม
Copy โค้ดด้านล่าง
1int relayPin = 7; // ขาที่เชื่อมต่อกับรีเลย์
2
3void setup() {
4 pinMode(relayPin, OUTPUT); // กำหนดขารีเลย์เป็นเอาต์พุต
5
6 // เริ่มต้นรีเลย์ที่สถานะปิด (แรงดันสูง High)
7 digitalWrite(relayPin, HIGH);
8}
9
10void loop() {
11 // เปิดรีเลย์ (Active Low) ส่งสัญญาณ LOW ไปที่ขารีเลย์
12 digitalWrite(relayPin, LOW);
13 Serial.println("Relay ON");
14
15 delay(5000); // เปิดรีเลย์เป็นเวลา 5 วินาที
16
17 // ปิดรีเลย์ (แรงดันสูง High)
18 digitalWrite(relayPin, HIGH);
19 Serial.println("Relay OFF");
20
21 delay(5000); // ปิดรีเลย์เป็นเวลา 5 วินาที
22}
231int relayPin = 7; // ขาที่เชื่อมต่อกับรีเลย์
2
3void setup() {
4 pinMode(relayPin, OUTPUT); // กำหนดขารีเลย์เป็นเอาต์พุต
5
6 // เริ่มต้นรีเลย์ที่สถานะปิด (แรงดันสูง High)
7 digitalWrite(relayPin, HIGH);
8}
9
10void loop() {
11 // เปิดรีเลย์ (Active Low) ส่งสัญญาณ LOW ไปที่ขารีเลย์
12 digitalWrite(relayPin, LOW);
13 Serial.println("Relay ON");
14
15 delay(5000); // เปิดรีเลย์เป็นเวลา 5 วินาที
16
17 // ปิดรีเลย์ (แรงดันสูง High)
18 digitalWrite(relayPin, HIGH);
19 Serial.println("Relay OFF");
20
21 delay(5000); // ปิดรีเลย์เป็นเวลา 5 วินาที
22}
23
3.ผลลัพธ์
โค้ดนี้ใช้สำหรับควบคุม Relay แบบ Active Low โดยไม่ใช้สวิตช์ แต่ใช้การหน่วงเวลา (delay) ในการเปิดและปิดรีเลย์แทน เริ่มต้นโค้ดโดยการกำหนดให้ขา D7 ของ Arduino เชื่อมต่อกับรีเลย์ และตั้งค่าให้ขานี้เป็นเอาต์พุต (pinMode(relayPin, OUTPUT);) ซึ่งจะใช้ในการส่งสัญญาณควบคุมรีเลย์
