كود Arduino وفيديو للتحكم في مرحّل عبر USB من خلال سطر أوامر PowerShell
في هذا الدليل التعليمي، سنستعرض كيفية التحكم في مرحّل باستخدام أردوينو ووحدة USB إلى UART، وكل ذلك عبر أوامر Windows PowerShell. يتيح هذا الإعداد تشغيل ضوء وإيقافه عن بُعد عن طريق إرسال أوامر محددة عبر سطر الأوامر. بنهاية هذا الدليل سيكون لديك نظام عملي يمكنه التحكم في أجهزة التيار المتردد بأمان وفعالية.

سنستخدم قدرات الاتصال التسلسلي في Arduino للاستماع إلى الأوامر المرسلة من PowerShell. ستكون الأوامر المحددة أعدادًا صحيحة تتوافق مع تشغيل وإيقاف المرحّل. يتطلب هذا المشروع التعامل بحذر مع جهد التيار المتردد، لذلك ينبغي مراعاة احتياطات السلامة طوال العملية. لمزيد من التوضيح، تأكد من مشاهدة الفيديو الكامل (في الفيديو عند 00:00).
شرح الأجهزة
المكونات الرئيسية في هذا المشروع تشمل لوحة Arduino، ووحدة USB إلى UART، والمرحل. تعمل لوحة Arduino كعقل للعملية، حيث تعالج الأوامر التسلسلية وتتحكم في المرحل وفقًا لذلك. تسهّل وحدة USB إلى UART الاتصال بين Arduino وجهاز الكمبيوتر الخاص بك، مما يمكّن إدخال الأوامر عبر PowerShell.
يعمل المرحل كمفتاح يتحكم في تدفق الكهرباء إلى المصباح. عندما يتم تفعيل المرحل، يغلق الدائرة، مما يسمح بمرور التيار ويؤدي إلى إضاءة المصباح. وعند تعطيله، يفتح الدائرة فيُقطع التيار وينطفئ المصباح. وهذا يتيح التحكم الآمن في الأجهزة عالية الجهد من نظام منخفض الجهد.
تفاصيل ورقة البيانات
| الشركة المصنعة | إف تي دي آي |
|---|---|
| رقم القطعة | FT232R |
| جهد المنطق/الإدخال والإخراج | 3.3 فولت / 5 فولت |
| جهد التغذية | 4.5 فولت إلى 5.5 فولت |
| تيار الخرج (لكل قناة) | 50 ملي أمبير |
| التيار الأقصى (لكل قناة) | 100 ميلي أمبير |
| إرشادات تردد PWM | غير متاح |
| عتبات منطق الإدخال | 0.3 V (منخفض)، 0.7 V (مرتفع) |
| هبوط الجهد / RDS (في حالة التشغيل)/ التشبع | 0.5 V كحد أقصى |
| الحدود الحرارية | 125 درجة مئوية |
| حزمة | حزمة LQFP بـ32 دبوسًا |
| ملاحظات / تنويعات | محول USB إلى UART |
- تأكد من مستويات الجهد المناسبة للريليه ووحدة UART.
- استخدم مشتتًا للحرارة إذا كان من المتوقع أن يتحمل المرحل أحمالًا عالية.
- تحقق مرة أخرى من جميع التوصيلات قبل تشغيل النظام.
- أبقِ الوحدة بعيدًا عن الرطوبة والمواد الموصلة.
- استخدم تأريضًا مشتركًا لجميع المكونات لتجنّب نبضات الجهد.
تعليمات التوصيل الكهربائي


ابدأ بتوصيل دبوس VCC في وحدة المرحّل إلى دبوس 5V على لوحة الأردوينو. بعد ذلك، قم بتوصيل دبوس GND في المرحّل إلى أحد دبابيس الأرضي في الأردوينو. يجب توصيل دبوس التحكم (الموسوم بـ IN أو ما شابه) من المرحّل إلى الدبوس الرقمي 8 في الأردوينو.
لوحدة USB إلى UART، قم بتوصيل دبوس TX بدبوس RX للأردوينو ودبوس RX في الوحدة بدبوس TX للأردوينو. تأكد من توصيل دبوس الأرضي في وحدة USB بنفس أرضية الأردوينو لضمان مرجع مشترك. يتيح هذا الإعداد اتصالاً سلسًا بين الأردوينو والكمبيوتر عبر PowerShell.
أمثلة على الكود ودليل خطوة بخطوة
byte RX_Value = 0; // stores received byte
#define relay 8 // pin 8 for relay
int comON = 6; // code to turn ON the light
int comOFF = 2; // code to turn OFF the light
في هذا المقتطف، نعرّف المتغيرRX_Valueلتخزين الأمر المستلم من المراقب التسلسلي. الـrelayتم تعيينه إلى الدبوس 8، ونعرّف أمرين:comONلتشغيل الضوء وcomOFFلإيقاف تشغيله.

void setup() {
Serial.begin(9600); // Start serial communication at 9600 baud
pinMode(relay, OUTPUT); // Set relay pin as output
digitalWrite(relay, HIGH); // Turn the relay OFF initially
}
في الـsetup()في الدالة نهيئ الاتصال التسلسلي بمعدل 9600 باود، ويجب أن يتطابق هذا المعدل مع إعدادات PowerShell. تم تكوين دبوس المرحل كمخرج، ونضبطه على HIGH لضمان أن المرحل معطل عند بدء تشغيل البرنامج.

if (Serial.available()) {
RX_Value = Serial.read(); // Read the incoming byte
if (RX_Value == comON) {
digitalWrite(relay, LOW); // Turn the relay ON
} else if (RX_Value == comOFF) {
digitalWrite(relay, HIGH); // Turn the relay OFF
}
}
يوضح مقطع الشيفرة هذا كيف يستمع البرنامج إلى البيانات التسلسلية الواردة. إذا تم استلام أمر يتطابق معcomON, يتم تنشيط المرحل، مما يؤدي إلى إضاءة المصباح. وعلى العكس، إذاcomOFFعند استلامه، يتم تعطيل المرحل، مما يؤدي إلى إطفاء الضوء. تستمر هذه الحلقة، مما يسمح بالتحكم التفاعلي من PowerShell.
عرض توضيحي / ما الذي تتوقعه
عند اكتمال الإعداد ورفع الشيفرة، يجب أن تكون قادرًا على فتح PowerShell وإرسال الأوامر للتحكم في الضوء. كتابة الأمر المقابل يجب أن تُفعّل المرحّل فورًا، مما يؤدي إلى تشغيل الضوء أو إيقافه حسب الرغبة. كن حذرًا عند التعامل مع أجهزة التيار المتردد (AC)، وتأكد من عدم انكشاف أي أسلاك حية أثناء الاختبار.
الطوابع الزمنية للفيديو
- 00:00- مقدمة ونظرة عامة على المشروع
- 02:30- شرح الأسلاك
- 05:00- شرح الكود
- 08:15- عرض توضيحي لأمر PowerShell
- 10:45- الخلاصة ونصائح السلامة
++
/*
* This Arduino code is to read and decode serial monitor
* code sent from USB to UART or USB to UART FTDI chip
* commands sent from Windows PowerShell or other systems commands.
* When the code is detected and matched with the present codes
* for example, 6 is to turn the relay ON and 2 to turn OFF the relay,
* in turn, will turn ON the AC bulb.
Watch the video for this code: https://youtu.be/HzLCkzX5q3w
*
*/
// Written by Ahmad S. Robojax at 19:11 on Saturday, April 01, 2018
byte RX_Value = 0; // stores received byte
#define relay 8 // pin 8 for relay
int comON = 6;//code to turn ON the light
int comOFF = 2;// code to turn OFF the light
void setup() {
// Robojax code for USB command to Relay
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
pinMode(relay,OUTPUT);// define pin 8 as output
digitalWrite(relay,HIGH);// turn the relay OFF
Serial.println("Robojax USB Command");
}
void loop() { // run over and over
// Robojax code for USB command to Relay
if (Serial.available()) {
RX_Value = Serial.read();
if(Serial.read() == comON)
{
digitalWrite(relay,LOW);// turn the relay ON
Serial.print("Code to Turn ON:");
Serial.println(RX_Value);// print the received command
}
if(RX_Value == comOFF)
{
digitalWrite(relay,HIGH);// turn the relay OFF
Serial.print("Code to Turn OFF:");
Serial.println(RX_Value); // print the received command
}
}
}// loop
الأشياء التي قد تحتاجها
-
أمازون
-
أمازون
-
إي باي
-
علي إكسبريسشراء 1 قناة 5V KY-019 مرحل من علي إكسبريسs.click.aliexpress.com
الموارد والمراجع
لا توجد موارد حتى الآن.
ملفات📁
Fritzing File
-
وحدة مرحل 4 قنوات 5 فولت
4-Channel 5v Relay Shield.fzpz0.02 MB -
FT232-AZ-USB-to_TTL-serial-adapter
FT232-AZ-USB-to_TTL-serial-adapter.fzpz0.01 MB
ملفات أخرى
-
برنامج باور للتحكم في جهاز التتابع عبر USB
robojax-usb-relay-powershell_scripts.zip