كود أردوينو لوحدة مرحلات 4 إلى 16 قناة بجهد 5V
في هذا الدرس سنتعلم كيفية التحكم في وحدة مرحل ذات 4 قنوات باستخدام أردوينو. سيمكنك ذلك من إدارة أحمال التيار المتردد مثل المصابيح أو المراوح أو السخانات بأمان وفعالية. يمكن تكييف الكود المقدم للوحدات ذات عدد قنوات أكبر، مما يجعله متعدد الاستخدامات لمختلف التطبيقات.
قبل أن نغوص في التفاصيل، من الضروري فهم المكونات المشاركة في هذا المشروع. تعمل وحدة المرحل كمفتاح يمكنه التحكم في الأجهزة ذات الجهد العالي بينما يتم التحكم بها بواسطة إشارات جهد منخفض من الأردوينو. يمكن أن يكون كل مرحل إما مفتوحًا عادةً أو مغلقًا عادةً، مما يتيح مرونة في كيفية عمل الأجهزة المتصلة. يرجى الرجوع إلى الفيديو للحصول على إرشادات مرئية (في الفيديو عند 02:15).
شرح الأجهزة
المكونات الرئيسية لهذا المشروع تشمل لوحة أردوينو ووحدة المرحلات. يعمل الأردوينو كجهاز تحكم، يرسل إشارات إلى وحدة المرحلات بناءً على الكود الذي نكتبه. تحتوي وحدة المرحلات على عدة مرحلات يمكنها تشغيل وإيقاف الأحمال ذات التيار المتردد (AC). لكل مرحل ثلاثة أطراف: عادة مغلقة (NC)، عادة مفتوحة (NO)، وطرف مشترك (COM).
عند تنشيط المرحّل، يتصل الطرف المشترك بالطرف المفتوح عادةً، مما يسمح بتدفق التيار عبر الحمل. هذا مرحّل ذو تفعيل منخفض، يعني أنه يتفعّل عندما يستقبل إشارة جهد منخفضة (0 فولت) ويتعطّل بإشارة جهد عالية (5 فولت). فهم هذه الآلية أمر حاسم للتحكم الآمن في الأجهزة التي تعمل بالتيار المتردد.
تفاصيل ورقة البيانات
| المصنّع | عام |
|---|---|
| رقم القطعة | وحدة مرحل 4 قنوات |
| جهد المنطق/الإدخال والإخراج | 5 فولت |
| جهد التغذية | 5 فولت |
| تيار الخرج (لكل قناة) | 10 A كحد أقصى |
| التيار الأقصى (لكل قناة) | 15 أمبير |
| إرشادات تردد تعديل عرض النبضة | غير متوفر |
| عتبات منطق الإدخال | منخفض: 0 فولت؛ مرتفع: 5 فولت |
| هبوط الجهد / Rالمصب-المصدر (في حالة التوصيل)/ التشبع | غير متوفر |
| الحدود الحرارية | 85 °م |
| حزمة | وحدة مرحّل قياسية |
| ملاحظات / متغيرات | متوفر بإصدارات من 2 و4 و8 و16 قناة |
- تأكد من عدم تجاوز تصنيف التيار للمرحّل لمنع حدوث تلف
- استخدم مصادر طاقة منفصلة للتطبيقات ذات التيار العالي لعزل الأردوينو.
- حافظ على تبديد حراري مناسب للمرحلّات أثناء التشغيل.
- تحقق من الأسلاك بعناية لتجنب حدوث قصر كهربائي
- استخدم العوازل البصرية إذا لزم الأمر لمزيد من الحماية.
تعليمات التوصيل الكهربائي

لبدء توصيل وحدة الريليه بالأردوينو، ابدأ بتوصيل دبوس الأرضي (GND) في وحدة الريليه بدبوس GND على الأردوينو. بعد ذلك، وصل دبوس VCC في وحدة الريليه بدبوس 5V على الأردوينو. بالنسبة لأطراف التحكم، وصل IN1 وIN2 وIN3 وIN4 في وحدة الريليه بالدبابيس الرقمية 2 و3 و4 و5 على الأردوينو على التوالي. تتيح هذه التوصيلة للأردوينو التحكم في حالة كل ريليه.
تأكد من وضع وحدة الترحيل على سطح معزول، لأنها تتعامل مع أحمال التيار المتردد. إذا كنت تستخدم مصدر طاقة خارجي للريليه، فقم بتوصيل أرضيته بأرضي الأردوينو لضمان مرجع مشترك. هذا أمر بالغ الأهمية لعمل سليم والسلامة.
أمثلة على الكود وشرح خطوة بخطوة
يقوم مقطع الشيفرة التالي بتهيئة عدد المرحلات وتعيين دبابيس التحكم:
int ch = 4; // number of relays you have
int relay[]={2,3,4,5}; // Arduino pin numbers for relays
يحدد هذا عدد المرحلات واتصالات دبابيس الأردوينو المقابلة لها. المصفوفةrelayيحتوي على أرقام الدبابيس المستخدمة للتحكم بكل مرحّل.

بعد ذلك، نقوم بإعداد الدبابيس في الـsetup()دالة:
void setup() {
Serial.begin(9600); // prepare Serial monitor
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(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);
}
Serial.println("====== loop done ==");
}
تقوم هذه الحلقة أولاً بتشغيل كل مرحل واحدًا تلو الآخر، وتنتظر لمدة محددة، ثم تطفئها بنفس الترتيب. يساعد الإخراج التسلسلي على مراقبة حالة المرحلات في الوقت الحقيقي.
عرض توضيحي / ما الذي تتوقعه
عند تشغيل البرنامج، يجب أن ترى المرحلات تعمل بالتتابع، حيث تُشغّل وتُطفأ كل ثانيتين. إذا كان كل شيء موصولًا بشكل صحيح، فإن الأحمال المتصلة بالمرحلات بتيار متناوب (AC) ستستجيب وفقًا لذلك. كن حذرًا من سحب التيار من لوحة الأردوينو؛ إذا تم تشغيل عدد كبير من المرحلات في وقت واحد، فقد يتجاوز ذلك قدرة اللوحة (في الفيديو عند 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
الأشياء التي قد تحتاجها
-
أمازون
-
علي إكسبريسشراء وحدة ريليه 5 فولت 12 فولت 1 2 4 6 8 قناةs.click.aliexpress.com
الموارد والمراجع
لا توجد موارد حتى الآن.
ملفات📁
Fritzing File
-
وحدة المرحل الحالة الصلبة (SSR) من أومرون 4 قنوات
omron-relay-module-4way-1.fzpz0.02 MB -
وحدة مرحل 4 قنوات 5 فولت
4-Channel 5v Relay Shield.fzpz0.02 MB -
وحدة مرحل الحالة الصلبة من أومرون - 8 قنوات
omron-relay-module-8way-1.fzpz0.02 MB -
جزء موصل AC من فريزينغ (Robojax.com)
ACPlug_Robojax.com.fzpz