Arduino Relay: วงจร, การทำงาน, รหัส, ข้อมูลจำเพาะ & การใช้งาน

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





สวิตช์ควบคุมด้วยไฟฟ้า เช่น a รีเลย์ ใช้สำหรับเปิด/ปิดโหลดโดยให้กระแสไฟไหลผ่าน รีเลย์นี้ถูกควบคุมโดยแรงดันไฟฟ้าต่ำ (5V) ซึ่งสร้างโดยพินของ Arduino ดังนั้นโมดูลรีเลย์ที่ควบคุมด้วย บอร์ด Arduino ง่ายมาก โดยปกติรีเลย์จะมีประโยชน์มากเมื่อใดก็ตามที่คุณต้องการควบคุมวงจรไฟฟ้าด้วยสัญญาณกำลังต่ำ มีรีเลย์หลายประเภทที่ใช้ในการใช้งานต่างๆ โมดูลรีเลย์นี้ใช้พลังงาน 5V ซึ่งเหมาะสำหรับใช้กับ Arduino ในทำนองเดียวกัน ยังมีโมดูลรีเลย์ประเภทอื่นๆ ที่ขับเคลื่อนด้วย 3.3V ซึ่งเหมาะสำหรับไมโครคอนโทรลเลอร์ต่างๆ เช่น ESP8266 , ESP32 เป็นต้น บทความนี้กล่าวถึงภาพรวมของการถ่ายทอด Arduino – การทำงานกับแอปพลิเคชัน


Arduino Relay คืออะไร?

นิยามรีเลย์ Arduino คือ; รีเลย์ที่ใช้กับไมโครคอนโทรลเลอร์ เช่น Arduino เพื่อควบคุมอุปกรณ์ไฟฟ้าแรงสูงหรือแรงดันต่ำ ที่จริงแล้วรีเลย์คือสวิตช์ที่ทำงานด้วยไฟฟ้าผ่านแม่เหล็กไฟฟ้า แม่เหล็กไฟฟ้านี้ถูกกระตุ้นผ่านแรงดันไฟฟ้าต่ำเช่น 5V จากไมโครคอนโทรลเลอร์ และดึงหน้าสัมผัสรีเลย์เพื่อเชื่อมต่อหรือตัดการเชื่อมต่อวงจรไฟฟ้าแรงสูง



แผนภาพวงจรรีเลย์ Arduino

วงจรรีเลย์ที่ควบคุมโดย Arduino แสดงอยู่ด้านล่าง วงจรนี้จะอธิบายวิธีการควบคุมรีเลย์ด้วยความช่วยเหลือของ Arduino ส่วนประกอบที่จำเป็นในการสร้างวงจรนี้ส่วนใหญ่ประกอบด้วย Arduino Board, Resistors – 1K & 10K, BC547 ทรานซิสเตอร์ ,รีเลย์ 6V/12V, ไดโอด 1N4007 และพัดลม 12V เมื่อกดปุ่ม พัดลมจะเปิดขึ้น และจนกว่าจะกดปุ่มเดิมอีกครั้ง พัดลมจะยังคงอยู่ในสภาพเดิม

  วงจรรีเลย์ Arduino
วงจรรีเลย์ Arduino

การทำงานของรีเลย์ Arduino

วงจรนี้ทำงานในสองกรณี เช่น เปิด/ปิดโหลดด้วยรีเลย์และปุ่ม เมื่อกดปุ่มแล้ว บอร์ด Arduino จะตั้งค่าพิน-2 ให้อยู่ในสภาพสูง ซึ่งหมายถึงไฟ 5 โวลต์บนพิน-2 ของบอร์ด ดังนั้นแรงดันไฟฟ้านี้จึงใช้เป็นหลักในการทำให้ทรานซิสเตอร์เปิด ดังนั้นทรานซิสเตอร์นี้จะเปิดรีเลย์และพัดลมแบบโหลดจะถูกขับเคลื่อนโดยใช้แหล่งจ่ายไฟหลัก



ที่นี่เพื่อเพิ่มพลังให้ทรานซิสเตอร์และโหลด คุณไม่สามารถใช้ 5V ได้โดยตรงจาก USB เพราะโดยปกติ พอร์ต USB จะจ่ายไฟเพียง 100mA เท่านั้น จึงไม่เพียงพอที่จะเปิดใช้งานรีเลย์ & โหลด ดังนั้นแหล่งจ่ายไฟภายนอกตั้งแต่ 7V ถึง 12V จึงต้องใช้จ่ายไฟให้กับบอร์ดควบคุม ทรานซิสเตอร์ และรีเลย์

ที่นี่โหลดใช้แหล่งจ่ายไฟของตัวเอง ตัวอย่างเช่น หากคุณใช้หลอดไฟหรือพัดลม คุณควรเชื่อมต่อจากแหล่งจ่ายไฟหลัก 110/220V มิฉะนั้น แหล่งพลังงานอื่น

  PCBWay

รหัสรีเลย์ Arduino

รหัสสวิตช์รีเลย์ Arduino สำหรับเปิดโหลดด้วยรีเลย์ & ปุ่ม

/* ร่าง
เปิดพัดลมโดยใช้รีเลย์และปุ่ม
*/
int pinButton = 8;
int รีเลย์ = 2;
int stateRelay = ต่ำ;
int state ปุ่ม;
int ก่อนหน้า = ต่ำ;
นาน = 0;
debounce ยาว = 500;
การตั้งค่าเป็นโมฆะ () {
โหมดพิน (pinButton, INPUT);
pinMode (รีเลย์, เอาต์พุต);
}
วงเป็นโมฆะ () {
stateButton = digitalRead (pinButton);
if(stateButton == HIGH && Previous == LOW && millis() – เวลา > debounce) {
ถ้า (stateRelay == สูง){
stateRelay = ต่ำ;
} อื่น {
stateRelay = สูง;
}
เวลา = มิลลิวินาที ();
}
digitalWrite (รีเลย์, stateRelay);
ก่อนหน้า == stateButton;
}

ปิดรีเลย์ด้วยการหน่วงเวลา

คุณสามารถใช้ตัวอย่างโค้ดต่อไปนี้เพื่อแนะนำการหน่วงเวลาภายในวงจร ดังนั้นตัวแปร 'stayON' จึงถูกใช้เพื่อหน่วงเวลา () การทำงานของโปรแกรมภายในระยะเวลาที่ต้องการ ที่นี่เมื่อกดปุ่มแล้วรีเลย์จะเปิดขึ้นและหลังจากผ่านไปห้าวินาทีรีเลย์จะปิด

รหัสสำหรับการปิดโหลดด้วยรีเลย์และปุ่ม

int pinButton = 8;
int รีเลย์ = 2;
int stateRelay = ต่ำ;
int state ปุ่ม;
int ก่อนหน้า = ต่ำ;
นาน = 0;
debounce ยาว = 500;
int stayON = 5000; //อยู่ต่อ 5000 ms
การตั้งค่าเป็นโมฆะ () {
โหมดพิน (pinButton, INPUT);
pinMode (รีเลย์, เอาต์พุต);
}
วงเป็นโมฆะ () {
stateButton = digitalRead (pinButton);
if(stateButton == HIGH && Previous == LOW && millis() – เวลา > debounce) {
ถ้า (stateRelay == สูง){
digitalWrite (รีเลย์ ต่ำ);
} อื่น {
digitalWrite (รีเลย์ สูง);
ล่าช้า (stayON);
digitalWrite (รีเลย์ ต่ำ);
}
เวลา = มิลลิวินาที ();
}
ก่อนหน้า == stateButton;

แผนภาพการเดินสายไฟรีเลย์ Arduino

การเดินสายรีเลย์ Arduino กับมอเตอร์ DC แสดงไว้ด้านล่าง จุดประสงค์หลักของการเดินสายนี้คือการควบคุมมอเตอร์กระแสตรงด้วยรีเลย์และ Arduino ส่วนประกอบที่จำเป็นของการเดินสายนี้ส่วนใหญ่ประกอบด้วย Uno Rev3, โมดูลรีเลย์ , สายดูปองท์, สาย USB สำหรับเปิดเครื่องและตั้งโปรแกรม, แบตเตอรี่, ขั้วต่อแบตเตอรี่, ไขควงสำหรับต่อสายไฟเข้ากับโมดูล และมอเตอร์กระแสตรง

ข้อมูลจำเพาะ:

ดิ ข้อมูลจำเพาะรีเลย์ Arduino รวมสิ่งต่อไปนี้

  • สามารถควบคุมได้ด้วยเอาต์พุตดิจิตอล
  • เข้ากันได้กับไมโครคอนโทรลเลอร์ 5V เช่น Arduino
  • พิกัดกระแสคือ 10A สำหรับ NO และ 5A สำหรับ NC
  • สัญญาณควบคุมคือระดับ TTL
  • แรงดันสวิตช์สูงสุดคือ 250VAC หรือ 30VDC
  • กระแสสลับสูงสุดคือ 10A
  • ขนาด 43 มม. x 17 มม. x 17 มม.

โมดูลรีเลย์ Arduino

โมดูลเหล่านี้ใช้ได้กับส่วนประกอบและวงจรเพิ่มเติมบนบอร์ด โมดูลเหล่านี้ส่วนใหญ่ใช้เนื่องจากสาเหตุหลายประการดังต่อไปนี้

  • โมดูลเหล่านี้ใช้งานง่ายมาก
  • รวมถึงวงจรไดรฟ์ที่จำเป็น
  • โมดูลรีเลย์บางตัวมาพร้อมกับไฟ LED เพื่อระบุสถานะของรีเลย์
  • ประหยัดเวลามากขึ้นสำหรับต้นแบบ

โมดูลรีเลย์ประกอบด้วยพินต่างๆ ซึ่งจะกล่าวถึงด้านล่าง

  แผนภาพขาโมดูลรีเลย์
แผนภาพขาโมดูลรีเลย์
  • Pin1 สัญญาณพิน (ทริกเกอร์รีเลย์): พินอินพุตนี้ใช้เพื่อเปิดใช้งานรีเลย์
  • Pin2 (กราวด์): นี่คือพินกราวด์
  • Pin3 (VCC): ขาจ่ายไฟอินพุตนี้ใช้เพื่อจ่ายไฟให้กับคอยล์รีเลย์
  • Pin4 (ปกติเปิด): นี่คือเทอร์มินัล NO (เปิดตามปกติ) ของรีเลย์
  • Pin5 (ทั่วไป): นี่คือเทอร์มินัลทั่วไปของรีเลย์
  • Pin6 (ปกติปิด): นี่คือขั้วปกติปิด (NC) ของรีเลย์

ขั้นที่ 1: การเดินสายไฟของบอร์ด Arduino & บอร์ดรีเลย์

  • นำสายเคเบิลดูปองท์และปลายด้านหนึ่งของสายเคเบิลนี้ไป PIN 7 (Digital PWM) ของบอร์ดควบคุม และต่อปลายสายที่เหลือเข้ากับ Signal PIN ของโมดูลรีเลย์
  • ตอนนี้เราต้องทำการเชื่อมต่อระหว่างพิน 5V ของ Arduino และพินบวก (+) ของโมดูลรีเลย์
  • เชื่อมต่อพิน GND ของ Arduino กับพินเชิงลบ (-) ของโมดูลรีเลย์
  • ตอนนี้การเชื่อมต่อระหว่างบอร์ด UNO และโมดูลรีเลย์เสร็จสมบูรณ์แล้ว

ขั้นตอนที่ 2: เดินสายบอร์ดรีเลย์ไปยังซัพพลาย & โหลด

  • เชื่อมต่อขั้วบวก (+ve) ของแบตเตอรี่ 9V เข้ากับขั้วเปิดปกติของโมดูลรีเลย์
  • เชื่อมต่อขั้วทั่วไปของโมดูลรีเลย์เข้ากับขั้วบวกของมอเตอร์กระแสตรง (+ve)
  • ต่อขั้วลบ (-) ของแบตเตอรี่เข้ากับมอเตอร์กระแสตรง

ขั้นตอนที่ 3: เสร็จสิ้น วิธีการใช้รีเลย์กับแผนภาพการเดินสาย Arduino

  • เมื่อ PIN 7 ของ Arduino สลับไปมา รีเลย์จะสลับระหว่างทั้งเงื่อนไขการเปิดและปิด รหัส Arduino สำหรับการเดินสายนี้ได้รับด้านล่าง
  • ทุกวินาที วงจรนี้จะสลับการเปิดและปิดรีเลย์ ในการใช้งานตามเวลาจริง รีเลย์นี้สามารถใช้เพื่อเปิดไฟเมื่อคุณตรวจจับการเคลื่อนไหวและยังเปิดมอเตอร์เมื่อระดับน้ำอยู่ภายใต้ช่วงที่กำหนด
  การเดินสายไฟรีเลย์ Arduino
การเดินสายไฟรีเลย์ Arduino

รหัส

#define RELAY_PIN 7
การตั้งค่าเป็นโมฆะ () {
// เริ่มต้นพินดิจิตอล RELAY_PIN เป็นเอาต์พุต
โหมดพิน (RELAY_PIN, OUTPUT);
}
// ฟังก์ชั่นวนซ้ำทำงานซ้ำแล้วซ้ำอีกตลอดไป
วงเป็นโมฆะ () {
digitalWrite (RELAY_PIN สูง); // เปิด RELAY on
ล่าช้า (1000); //รอสักครู่
digitalWrite (RELAY_PIN, ต่ำ); // ปิดรีเลย์
ล่าช้า (1000); //รอสักครู่
}

ตอนนี้เปิด Arduino IDE -> คัดลอกและวางโค้ด Arduino ต่อไปนี้ภายในแท็บ Arduino Editor ตอนนี้บอร์ด Arduino ต้องเชื่อมต่อกับพีซีโดยใช้สาย USB และตั้งโปรแกรมบอร์ด Arduino

Relay SPDT Arduino คืออะไร?

SPDT รีเลย์คือสวิตช์แม่เหล็กไฟฟ้า ใช้เพื่อควบคุมอุปกรณ์ไฟฟ้ากระแสสลับที่มีกระแสไฟตรงขนาดเล็กของบอร์ด Arduino

Arduino สามารถควบคุมรีเลย์ได้กี่ตัว?

บอร์ด Arduino ควบคุมรีเลย์ได้มากถึง 20 ตัว เนื่องจากรีเลย์ที่เชื่อมต่อกับ Arduino นั้นเทียบเท่ากับจำนวนพินอะนาล็อก (6 พิน) และพินดิจิทัล (14 พิน) ใน Arduino

โมดูลรีเลย์ใช้ทำอะไร?

โมดูลรีเลย์สามารถรองรับโหลดได้ถึง 10 แอมป์ เหมาะสำหรับอุปกรณ์ต่างๆ เช่น เครื่องตรวจจับอินฟราเรดแบบพาสซีฟและเซ็นเซอร์อื่นๆ โมดูลเหล่านี้ใช้กับ Arduino และไมโครคอนโทรลเลอร์อื่นๆ

รีเลย์ทำหน้าที่อะไรในวงจรไฟฟ้า?

รีเลย์คือสวิตช์ที่ทำงานด้วยไฟฟ้าที่ใช้เพื่อเปิดและปิดวงจรไฟฟ้าโดยเพียงแค่รับสัญญาณไฟฟ้าจากแหล่งภายนอก เมื่อได้รับสัญญาณไฟฟ้าแล้วก็จะส่งไปยังอุปกรณ์อื่นโดยเพียงแค่เปิดและปิดสวิตช์

นี่คือภาพรวมของ Arduino รีเลย์และการทำงาน . โมดูลนี้เป็นบอร์ดที่ใช้งานสะดวกมาก ซึ่งสามารถนำไปใช้ในการควบคุมไฟฟ้าแรงสูงและกระแสสูง เช่น โซลินอยด์วาล์ว มอเตอร์ โหลดไฟฟ้ากระแสสลับ และหลอดไฟเป็นหลัก การพึ่งพานี้ใช้เพื่อเชื่อมต่อกับไมโครคอนโทรลเลอร์เช่น Arduino, PIC เป็นต้น นี่คือคำถามสำหรับคุณ อะไรคือหน้าที่ของ บอร์ด Arduino ?