Search Code

การใช้โมดูลรีเลย์ 5V (แบบกระตุ้นต่ำ) กับ Arduino

การใช้โมดูลรีเลย์ 5V (แบบกระตุ้นต่ำ) กับ Arduino

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

เพื่อให้บรรลุเป้าหมายนี้ เราจะเขียนโปรแกรม Arduino ง่ายๆ ที่สลับรีเลย์เปิดและปิดในช่วงเวลาที่กำหนด โครงการนี้ตรงไปตรงมาและเหมาะสำหรับผู้เริ่มต้นที่ต้องการเข้าใจว่ารีเลย์ทำงานร่วมกับไมโครคอนโทรลเลอร์อย่างไร (ในวิดีโอที่ 00:30)

อธิบายฮาร์ดแวร์

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

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

รายละเอียดแผ่นข้อมูล

ผู้ผลิตทั่วไป
หมายเลขชิ้นส่วนโมดูลรีเลย์ 5V
แรงดันควบคุม5 โวลต์
ประเภทรีเลย์ต่ำ-ทริกเกอร์
แรงดันไฟฟ้าสูงสุด250 โวลต์ AC / 30 โวลต์ DC
กระแสไฟฟ้าสูงสุด10 A
การแยกสัญญาณด้วยแสงใช่
แพ็คเกจโมดูล

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

คำแนะนำการเดินสาย

controlling_Relay_AC_bulb_wiring_low_trigger

ในการต่อสายโมดูลรีเลย์ ให้เริ่มจากการเชื่อมต่อขา VCC ของโมดูลรีเลย์กับขา 5V บน Arduino จากนั้นให้เชื่อมต่อขา GND ของโมดูลรีเลย์กับขา GND บน Arduino ขาขับเคลื่อนสำหรับรีเลย์ ซึ่งมักจะมีป้ายกำกับว่า IN ควรเชื่อมต่อกับขาดิจิตอลบน Arduino เช่น ขา 8 การตั้งค่านี้ช่วยให้ Arduino สามารถควบคุมสถานะของรีเลย์ได้

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

Relay wiring when load is OFF
Relay wiring when load is ON

ตัวอย่างโค้ดและการเดินทาง

int relayPin = 8; // define output pin for relay

void setup() {
  pinMode(relayPin, OUTPUT); // define pin 8 as output
}

void loop() {
  digitalWrite(relayPin, LOW); // turn the relay ON
  delay(500); // wait for 500 milliseconds
  digitalWrite(relayPin, HIGH); // turn the relay OFF
  delay(500); // wait for 500 milliseconds
}

ในโค้ด เราเริ่มต้นโดยการกำหนดขาเอาต์พุตสำหรับรีเลย์ด้วยrelayPinตั้งค่าเป็น 8 ในsetup()ฟังก์ชัน เรากำหนดพินนี้เป็นเอาต์พุตloop()ฟังก์ชันจะสลับสถานะของรีเลย์อย่างต่อเนื่องโดยการเขียน LOW ไปยังพิน ทำให้มันเปิด และจากนั้นเขียน HIGH ทำให้มันปิดหลังจากดีเลย์ 500 มิลลิวินาที

การสาธิต / สิ่งที่คาดหวัง

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

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

รหัสเวลาในวิดีโอ

  • 00:00บทนำสู่โครงการ
  • 00:30ภาพรวมฮาร์ดแวร์
  • 01:15คำแนะนำการเดินสาย
  • 02:15การสาธิตการทำงานของรีเลย์

ภาพ

5V LOW-LEVEL trigger relay
5V LOW-LEVEL trigger relay
Relay wiring when load is OFF
Relay wiring when load is OFF
Relay wiring when load is ON
Relay wiring when load is ON
5V HIGH-level trigger relay module
5V HIGH-level trigger relay module
controlling_Relay_AC_bulb_wiring_low_trigger
controlling_Relay_AC_bulb_wiring_low_trigger
7-Introduction to a 5V, 1-channel relay for Arduino
ภาษา: C++
// April 1, 2017
 // Written by Ahmad Shamshiri for Robojax.com video 
 // Introduction to 5V relay.
 // Watch video for this code: https://www.youtube.com/watch?v=7tUGUXyloXQ
/* 
 * Please keep this note with the code.
 * This code is available on Robojax.com
 * 
 * This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
 * This code has been downloaded from Robojax.com
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */
 
int relayPin = 8;// define output pin for relay 

void setup() {
  pinMode(relayPin, OUTPUT);// define pin 8 as output

}

void loop() {
  
  digitalWrite(relayPin, LOW); // turn the relay ON (low is ON if relay is LOW trigger. Change it to HIGH if you have a HIGH trigger relay)

  delay(500); // wait for 500 milliseconds
 digitalWrite(relayPin, HIGH);// // turn the relay OFF (HIGH is OFF if relay is LOW trigger. Change it to LOW if you have a HIGH trigger relay)
 delay(500);// wait for 500 milliseconds
}

สิ่งที่คุณอาจต้องการ

แหล่งข้อมูลและเอกสารอ้างอิง

ยังไม่มีทรัพยากรเลย

ไฟล์📁

ไฟล์ Fritzing