کوډ ولټوئ

د ارډوینو کوډ د ۴-تر-۱۶ چینل ۵V ریل ماډل لپاره

د ارډوینو کوډ د ۴-تر-۱۶ چینل ۵V ریل ماډل لپاره

په دې ټیوټوریل کې به موږ زده کړو چې څنګه د 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 (th) پن د آوټ پوټ په توګه ټاکل
        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

هغه شیان چې تاسو ورته اړتیا لرئ

سرچینې او حوالې

تر اوسه هیڅ سرچینې نشته.

فایلونه📁

Fritzing فایل