สำหรับหัวข้อนี้นะครับเราจะมาใช้เจ้า Arduino ควบคุมการทำงานของ Relayกัน
แต่ก่อนจะมาเริ่มเราควรจะมาทำความรู้จักกับเจ้า Relay กันก่อนครับ
RELAY คืออะไร ???
Relay คืออุปกรณ์ที่ทำหน้าที่เป็นเหมือนสะพานไฟที่ทำหน้าที่เป็นSwitchเปิดปิดวงจรครับ อ่านแล้วงงใช่ไหมครับ^^
อธิบายใหม่แบบเข้าใจง่ายนะครับ คือ สมมุติเรามีอุปกรณ์ดังนี้
1. หลอดไฟ 220 VDC
2. Board Arduino UNO R3
เป้าหมายคืออยากเอาเจ้า Arduino เนี้ยมาควบคุมเปิดปิดหลอดไฟ 220 VDC เอิ่ม… เอาไฟ 5V DC มาควบคุม ไฟ 220V AC จะทำยังไงดีน้ออออ…
และนี้แหละครับจึงต้องใช้พระเอกของเรา เจ้า RELAY!!! โดยเจ้า RELAY เนี้ยจะสามารถนำไฟ5V DC มาควบคุม 220V AC ได้ โดยจ่าย 5V + – เข้าขา Common ส่วน 220 VAC เข้าเขา NO หรือ NC ก็ตามแต่สะดวกลองเปิด Datasheet ของ Module Relayนั้นๆนะครับแล้วแต่ใครจะใช้ยีห้อไหน เมื่อจ่าย + และ – เข้าขา Common แล้วตัวหน้า Contact ของRelayจะเกิดการเหนี่ยวนำจนดูดติดกัน ทำให้ สามารถควบคุมการ เปิด-ปิด ไฟ 220V AC ได้ ถ้างงCommentไว้นะครับ
รายละเอียด
สำหรับ EP. นี้จะเป็นการใช้ Arduino ควบคุมหลอด LED ผ่าน Relayนะครับทุกท่านสามารถนำไปประยุคเปลี่ยนจากหลอด LED เป็นอย่างอื่นได้ตามต้องการเลยครับ
อุปกรณ์มีดังนี้
• Arduino Uno (ใช้รุ่นไหนก็ได้นะครับ)
• 4 Relay module
• 3v Battery
• Led 4 หลอด
• ตัวต้านทาน 220 ohm
• Breadboard
การต่อวงจร
จากBoard Arduino ผมจะใช้ขา 7,6,5,4 โดนจะเข้า Rely Module ที่ช่อง IN1,2,3,4 ตามลำดับนะครับและขาGround ของ Arduino ต่อกับGroundของ Relay Board ในส่วนขาออไปLED ต่อตามรูปเลยครับ จะให้เป็นNO หรือ NC ก็ตามสะดวกเลยครับ ^^
ตัวอย่าง Source Code Arduino ควบคุมการทำงาน Relay
#define RELAY1 7 //Defining the pin 7 of the Arduino for the 4 relay module #define RELAY2 6 //Defining the pin 6 of the Arduino for the 4 relay module #define RELAY3 5 //Defining the pin 5 of the Arduino for the 4 relay module #define RELAY4 4 //Defining the pin 4 of the Arduino for the 4 relay module void setup() { pinMode(RELAY1, OUTPUT); //Defining the pin 7 of the Arduino as output pinMode(RELAY2, OUTPUT); //Defining the pin 6 of the Arduino as output pinMode(RELAY3, OUTPUT); //Defining the pin 5 of the Arduino as output pinMode(RELAY4, OUTPUT); //Defining the pin 4 of the Arduino as output } void loop() { digitalWrite(RELAY1,LOW); // This will Turn ON the relay 1 delay(5000); // Wait for 5 seconds digitalWrite(RELAY1,HIGH); // This will Turn the Relay Off digitalWrite(RELAY2,LOW); // This will Turn ON the relay delay(5000); // Wait for 5 seconds digitalWrite(RELAY2,HIGH); // This will Turn the Relay Off digitalWrite(RELAY3,LOW); // This will Turn ON the relay delay(5000); // Wait for 5 seconds digitalWrite(RELAY3,HIGH); // This will Turn the Relay Off digitalWrite(RELAY4,LOW); // This will Turn ON the relay delay(5000); // Wait for 5 seconds digitalWrite(RELAY4,HIGH); // This will Turn the Relay Off }
โดยโปรแกรมนี้จะเป็นการเปิด-ปิด LED 1-4 โดยหน่วงเวลาในการเปิด-ปิด 5วินาที เพื่อนๆสามารถนำไปประยุกต์ใช้กันได้ตามสะดวกเลยครับ หากมีข้อสงสัยถามไว้ในช่อง Commentได้เลยครับ ยินดีช่วยเหลือครับ