مشروع التحكم بلوحة 8Channel Relay باستخدام جهاز التحكم عن بُعد و IR Receiver اكتب تعليقُا

تم نشر هذا المشروع لجميع الأشخاص المهتمين في مجال تصنيع وابتكار المشاريع الإلكترونية والبرمجية، و نود التنويه أن موقع انا الكتروني يخلي مسؤوليته التامة في حال لم يعمل المشروع لدى العميل أو في حال الاستخدام الخاطئ للمكونات الإلكترونية والكهربائية التي قد تؤدي لحدوث أي مشكلة لا سمح الله.

شرح فكرة المشروع

  • في هذا المشروع، سيتم التحكم في لوحة ريلاي 8 قنوات باستخدام لوحة أردوينو أونو.
  • يقوم الأردوينو بتلقي إشارات من جهاز التحكم عن بُعد عن طريق مستقبل الأشعة تحت الحمراء.
  • يتم بعدها مطابقة هذه الإشارات باستخدام كود برمجي معين، ومن ثم يتم تشغيل قناة الريلاي المحددة (المراد التحكم بها).
  • تتيح نافذة Serial Monitor الاطلاع على البيانات التي يتم قراءتها من مستقبل الأشعة تحت الحمراء، ومن ثم يمكن تحويلها إلى أكواد معينة للتحكم في قنوات الريلاي.
  • لفتح نافذة Serial Monitor، اختر Tools ثم Serial Monitor.
  • الكود البرمجي المستخدم في لوحة أردوينو أونو يقوم بتلقي البيانات من جهاز التحكم عن بُعد، ثم يقارنها مع سلاسل بيانات ثابتة.
  • إذا توافقت سلسلتي بيانات معينتين، يتم تنشيط القناة الموافقة على لوحة الريلاي.
  • البرنامج متوافق مع أي جهاز تحكم تلفاز عن بُعد. ورغم ذلك، قد تختلف البيانات المستقبلة، وعليه يجب تعديل ملف الكود بناءً على ذلك.
  • الرابط

ادوات المشروع

تنويه: استخدم لوحة Bread board لتوصيل الوحدات بمنفذ 5V و GND

طريقة توصيل الادوات مع أردوينو

موديول IR Receiver:

S -> 2

+ -> 5V

– -> GND

موديول 8Channel Relay:

VCC -> 5V

GND -> GND

IN1 -> 3

IN2 -> 4

IN3 -> 5

IN4 -> 6

IN5 -> 7

IN6 -> 8

IN7 -> 9

IN8 -> 10

الكود البرمجي

تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال.
  • للتعرف على تجهيز لوحة أردوينو للبرمجة قم بزيارة الرابط التالي.
  • للإطلاع على كيفية تحميل وتنصيب المكتبات قم بزيارة الرابط التالي.
  • قبل تحميل الكود البرمجي، عليك تحميل المكتبات التالية:
  • IRremote.h
  • في حال لم يعمل هذا الكود البرمجي، قم بتحميل ملف الكود بالضغط على زر التحميل الموجود في الأسفل.

#include <IRremote.h>
const int apin03 = 3;
const int apin04 = 4;
const int apin05 = 5;
const int apin06 = 6;
const int apin07 = 7;
const int apin08 = 8;
const int apin09 = 9;
const int apin10 = 10;

const int RECV_PIN = 2;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup(){
Serial.begin(9600);
irrecv.enableIRIn();
irrecv.blink13(true);
pinMode(apin03, OUTPUT);
pinMode(apin04, OUTPUT);
pinMode(apin05, OUTPUT);
pinMode(apin06, OUTPUT);
pinMode(apin07, OUTPUT);
pinMode(apin08, OUTPUT);
pinMode(apin09, OUTPUT);
pinMode(apin10, OUTPUT);
}

void loop(){
if (irrecv.decode(&results)){
Serial.println(results.value, HEX);
Serial.println(results.value);
switch(results.value){
case 16738455:
Serial.println(“0”);
digitalWrite(apin03, !digitalRead(apin03));
delay(500);
break;
case 16724175:
Serial.println(“1”);
digitalWrite(apin04, !digitalRead(apin04));
delay(500);
break;
case 16718055:
Serial.println(“2”);
digitalWrite(apin05, !digitalRead(apin05));
delay(500);
break;
case 16743045:
Serial.println(“3”);
digitalWrite(apin06, !digitalRead(apin06));
delay(500);
break;
case 16716015:
Serial.println(“4”);
digitalWrite(apin07, !digitalRead(apin07));
delay(500);
break;
case 16726215:
Serial.println(“5”);
digitalWrite(apin08, !digitalRead(apin08));
delay(500);
break;
case 16734885:
Serial.println(“6”);
digitalWrite(apin09, !digitalRead(apin09));
delay(500);
break;
case 16728765:
Serial.println(“7”);
digitalWrite(apin10, !digitalRead(apin10));
delay(500);
break;

}
irrecv.resume();
}
}

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *