د ارډوینو کوډ د ۴-تر-۱۶ چینل ۵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 ته د تارولو لپاره، لومړی د ریلې ماډل د ځمکې پن د 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 ارې هغه پن شمېرې لري چې د هر ریلې کنټرول لپاره کارول کیږي.

بیا، موږ پنونه په 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 ښودنه
++
/*
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
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
هغه شیان چې تاسو ورته اړتیا لرئ
-
امازون
-
علی ایکسپریسBuy 5V/12V 1, 2, 4, 6, or 8-channel relay modules.click.aliexpress.com
سرچینې او حوالې
تر اوسه هیڅ سرچینې نشته.
فایلونه📁
Fritzing فایل
-
omron silid state relay SSR module 4 channel
omron-relay-module-4way-1.fzpz0.02 MB -
4-Channel 5v Relay module
4-Channel 5v Relay Shield.fzpz0.02 MB -
omron solid state relay SSR module- 8 channel
omron-relay-module-8way-1.fzpz0.02 MB -
AC Plug Fritzing Part (Robojax.com)
ACPlug_Robojax.com.fzpz