کوڈ تلاش کریں

اردوینو کوڈ 4-سے-16 چینل 5V ریلے ماجیول کے لیے

اردوینو کوڈ 4-سے-16 چینل 5V ریلے ماجیول کے لیے

اس ٹیوٹوریل میں، ہم سیکھیں گے کہ Arduino استعمال کرتے ہوئے 4-چینل ریلے ماجیول کو کیسے کنٹرول کیا جائے۔ یہ آپ کو روشنیوں، پنکھوں، یا ہیٹر جیسے AC لوڈز کو محفوظ اور مؤثر طریقے سے منظم کرنے کی اجازت دے گا۔ فراہم کردہ کوڈ کو زیادہ چینلز والے ماڈیولز کے لیے ڈھالا جا سکتا ہے، جو اسے مختلف ایپلیکیشنز کے لیے ورسٹائل بناتا ہے۔

تفصیلات میں جانے سے پہلے، اس پروجیکٹ میں شامل اجزاء کو سمجھنا ضروری ہے۔ ریلے ماجیول ایک سوئچ کے طور پر کام کرتا ہے جو ہائی وولٹیج ڈیوائسز کو کنٹرول کر سکتا ہے جبکہ Arduino سے کم وولٹیج سگنلز کے ذریعے کنٹرول کیا جاتا ہے۔ ہر ریلے یا تو نارمل اوپن یا نارمل کلوز ہو سکتا ہے، جو منسلک ڈیوائسز کے آپریشن میں لچک فراہم کرتا ہے۔ براہ کرم بصری رہنمائی کے لیے ویڈیو دیکھیں (ویڈیو میں 02:15 پر)۔

ہارڈویئر کی وضاحت

اس پروجیکٹ کے اہم اجزاء میں Arduino بورڈ اور ریلے ماجیول شامل ہیں۔ Arduino کنٹرولر کے طور پر کام کرتا ہے، جو ہمارے لکھے گئے کوڈ کی بنیاد پر ریلے ماجیول کو سگنل بھیجتا ہے۔ ریلے ماجیول میں متعدد ریلے ہوتے ہیں جو AC لوڈز کو آن اور آف کر سکتے ہیں۔ ہر ریلے کے تین ٹرمینلز ہوتے ہیں: نارمل کلوز (NC)، نارمل اوپن (NO)، اور ایک کامن ٹرمینل (COM)۔

جب ریلے فعال ہوتا ہے، کامن ٹرمینل نارمل اوپن ٹرمینل سے جڑ جاتا ہے، جس سے لوڈ کے ذریعے کرنٹ بہنے لگتا ہے۔ یہ ایک لو-ٹریگر ریلے ہے، یعنی یہ اس وقت فعال ہوتا ہے جب اسے لو وولٹیج سگنل (0V) ملتا ہے اور ہائی وولٹیج سگنل (5V) کے ساتھ غیر فعال ہوتا ہے۔ AC ڈیوائسز کو محفوظ طریقے سے کنٹرول کرنے کے لیے اس میکانزم کو سمجھنا ضروری ہے۔

ڈیٹاشیٹ تفصیلات

مینوفیکچررجنرک
پارٹ نمبر4-چینل ریلے ماجیول
لاجک/IO وولٹیج5 V
سپلائی وولٹیج5 V
آؤٹ پٹ کرنٹ (فی چینل)زیادہ سے زیادہ 10 A
پیک کرنٹ (فی چینل)15 A
PWM فریکوئنسی رہنمائیN/A
ان پٹ لاجک تھریشولڈزلو: 0 V؛ ہائی: 5 V
وولٹیج ڈراپ / RDS(on) / سیچوریشنN/A
تھرمل حدود85 °C
پیکیجمعیاری ریلے ماجیول
نوٹس / ویریئنٹس2، 4، 8، اور 16 چینل ویریئنٹس میں دستیاب

  • نقصان سے بچنے کے لیے ریلے کی کرنٹ ریٹنگ سے تجاوز نہ کریں۔
  • Arduino کو الگ تھلگ کرنے کے لیے ہائی-کرنٹ ایپلیکیشنز کے لیے علیحدہ پاور سپلائیز استعمال کریں۔
  • آپریشن کے دوران ریلے کے لیے مناسب حرارت کی ترسیل برقرار رکھیں۔
  • شارٹ سرکٹ سے بچنے کے لیے وائرنگ کو احتیاط سے چیک کریں۔
  • اضافی تحفظ کے لیے اگر ضروری ہو تو آپٹو-آئسولیٹر استعمال کریں۔

وائرنگ ہدایات

Arduino wirign for 4 channel relay to control 4 AC load
Arduino wirign for 4 channel relay to control 4 AC load

ریلے ماجیول کو اپنے Arduino سے وائر کرنے کے لیے، ریلے ماجیول کے گراؤنڈ پن کو Arduino کے گراؤنڈ پن سے جوڑ کر شروع کریں۔ اگلا، ریلے ماجیول کے VCC پن کو Arduino کے 5V پن سے جوڑیں۔ کنٹرول پنز کے لیے، ریلے ماجیول کے IN1، IN2، IN3، اور IN4 پنز کو بالترتیب Arduino کے ڈیجیٹل پنز 2، 3، 4، اور 5 سے جوڑیں۔ یہ سیٹ اپ Arduino کو ہر ریلے کی حالت کو کنٹرول کرنے کی اجازت دیتا ہے۔

ریلے ماجیول کو موصل سطح پر رکھنا یقینی بنائیں، کیونکہ یہ AC لوڈز سے نمٹتا ہے۔ اگر آپ ریلے کے لیے بیرونی پاور سپلائی استعمال کر رہے ہیں، تو اس کے گراؤنڈ کو Arduino گراؤنڈ سے جوڑیں تاکہ مشترکہ حوالہ یقینی بنایا جا سکے۔ مناسب آپریشن اور حفاظت کے لیے یہ ضروری ہے۔

کوڈ مثالیں اور واک تھرو

درج ذیل کوڈ سنیپٹ ریلے کی تعداد کو انیشیالائز کرتا ہے اور کنٹرول پنز سیٹ کرتا ہے:

int ch = 4; // آپ کے پاس ریلے کی تعداد
int relay[]={2,3,4,5}; // ریلے کے لیے Arduino پن نمبر

یہ ریلے کی تعداد اور ان کے متعلقہ Arduino پن کنکشنز کی وضاحت کرتا ہے۔ اری relay ہر ریلے کو کنٹرول کرنے کے لیے استعمال ہونے والے پن نمبرز رکھتی ہے۔

Wirig relay module to AC load

اگلا، ہم setup() فنکشن میں پنز سیٹ کرتے ہیں:

void setup() {
    Serial.begin(9600); // سیریل مانیٹر تیار کریں
    for(i=0; i < ch; i++) {
        pinMode(relay[i], OUTPUT); // i(ویں) پن کو آؤٹ پٹ کے طور پر سیٹ کریں
        digitalWrite(relay[i], HIGH); // ریلے کو بند کریں
    }
    Serial.println("Robojax 4 Relay Test");
}

یہ کوڈ سیریل مانیٹر کو ابتدائی شکل دیتا ہے اور ہر ریلے پن کو آؤٹ پٹ کے طور پر سیٹ کرتا ہے، انہیں ڈیفالٹ طور پر بند رکھتا ہے۔ سیریل پرنٹ اسٹیٹمنٹ تصدیق کرتا ہے کہ سیٹ اپ مکمل ہو گیا ہے۔

پروگرام کا مرکزی لوپ ریلے کو کنٹرول کرتا ہے:

void loop() {
    for(int i=0; i < ch; i++) {
        Serial.print("Relay "); Serial.print(i+1); Serial.println(" ON");
        digitalWrite(relay[i], LOW); // ریلے کو آن کریں
        delay(wait);
    }
    for(int i=0; i < ch; i++) {
        Serial.print("Relay "); Serial.print(i+1); Serial.println(" OFF");
        digitalWrite(relay[i], HIGH); // ریلے کو بند کریں
        delay(wait);
    }
    Serial.println("====== loop done ==");
}

یہ لوپ پہلے ہر ریلے کو ایک ایک کر کے آن کرتا ہے، ایک مقررہ وقت انتظار کرتا ہے، اور پھر انہیں اسی ترتیب میں بند کرتا ہے۔ سیریل آؤٹ پٹ حقیقی وقت میں ریلے کی حالت کی نگرانی میں مدد کرتا ہے۔

مظاہرہ / کیا توقع کریں

جب آپ پروگرام چلاتے ہیں، تو آپ کو ریلے ترتیب وار فعال ہوتے نظر آئیں گے، ہر دو سیکنڈ میں آن اور آف ہوتے ہوئے۔ اگر سب کچھ درست طریقے سے وائر کیا گیا ہے، تو ریلے سے منسلک AC لوڈ اسی کے مطابق جواب دیں گے۔ Arduino سے کرنٹ کے استعمال سے محتاط رہیں؛ اگر بہت سارے ریلے بیک وقت فعال ہوں تو یہ بورڈ کی صلاحیت سے تجاوز کر سکتا ہے (ویڈیو میں 13:45 پر)۔

ویڈیو ٹائم اسٹیمپس

  • 00:00 تعارف
  • 02:15 ہارڈویئر کی وضاحت
  • 05:30 وائرنگ کی ہدایات
  • 08:45 کوڈ واک تھرو
  • 13:45 مظاہرہ

تصاویر

Wirig relay module to AC load
Wirig relay module to AC load
Arduino wirign for 4 channel relay to control 4 AC load
Arduino wirign for 4 channel relay to control 4 AC load
88-This is code for a 4- to 16-channel 5V relay module for Arduino.
زبان: C++
++
/*
This is code to control 4 to 16 channel 5V relay modules using Arduino.
 * Watch the video on how to use 4 to unlimited relay channels: https://youtu.be/Wbm3MCMgM_s
 
 */
/*
 *  This code was written by Ahmad Shamshiri for Robojax.com.
// Written March 26, 2018, at 12:14 in Ajax, Ontario, Canada.

 *  
 */

int ch = 4;// number of relays you have
int relay[]={2,3,4,5}; // Arduino pin numbers. The same number of relays should be defined here as input pins


int wait = 2000;// delay time
int i=0;

void setup() {
    Serial.begin(9600);// prepare Serial monitor
    // set pins as output
 for(i=0; i < ch; i++)
 {    
    pinMode(relay[i], OUTPUT);// set i(th) pin as output
   digitalWrite(relay[i], HIGH); // Turn the relay OFF  
 }
               
    Serial.println("Robojax 4 Relay Test");
}

void loop() {
    
     
 for(int i=0; i < ch; i++)
 {
      Serial.print("Relay "); Serial.print(i+1);Serial.println(" ON");
      digitalWrite(relay[i], LOW); // Turn the relay ON    
      delay(wait);  
 }// for loop


 for(int i=0; i < ch; i++)
 {
      Serial.print("Relay "); Serial.print(i+1);Serial.println(" OFF");
      digitalWrite(relay[i], HIGH); // Turn the relay OFF    
      delay(wait);  
 }// for loop

    Serial.println("====== loop done ==");

}// loop
89-If you want to replace the loop inside setup(), then use this as shown in the video.
زبان: C++
pinMode(relay[0], OUTPUT);// connected to relay 1
    digitalWrite(relay[0], HIGH); // Turn the relay OFF  


    pinMode(relay[1], OUTPUT);// connected to relay 2
    digitalWrite(relay[1], HIGH); // Turn the relay OFF  

    pinMode(relay[2], OUTPUT);// connected to relay 3
    digitalWrite(relay[2], HIGH); // Turn the relay OFF  

    pinMode(relay[3], OUTPUT);// connected to relay 4
    digitalWrite(relay[3], HIGH); // Turn the relay OFF

آپ کو جن چیزوں کی ضرورت ہو سکتی ہے

وسائل اور حوالہ جات

ابھی تک کوئی وسائل نہیں۔

فائلیں📁

فریٹزنگ فائل