ثانوية الفاروق بالرياض

نبذة:

فكرة هذا المشروع ، نستهدف لمساعدة كبار السن وذوي الاحتياجات الخاصة ، هو عبارة عن صندوق داخله لمبات وكل لمبة امامه كلمة . مثال: يحتاج الى طعام يضغط بالريموت الكونترول رقم 2 وهو على طعام.

1- مخطط العمل

الهدف من هاذا المشروع تقليل الجهد لكبار السن وذوي الاحتياجات الخاصة . عمل المشروع موضح ادناه . وهو عبارة عن،
تشغيل وإيقاف LED باستخدام وحدة تحكم عن بعد رخيصة IR.  استخدمنا هنا مكتبة IR Arduino المتاحة ، لذا كان من السهل جدًا فك تشفير الإشارات المرسلة بواسطة جهاز التحكم عن بعد بالأشعة تحت الحمراء. سوف يتم التحكم في LED التي ترتبط مع Arduino بواسطة وحدة الإرسال والاستقبال IR. IR Transmitter بمعنى ، ينقل جهاز التحكم عن بُعد رمزًا فريدًا إلى مستشعر الأشعة تحت الحمراء لاسلكيًا. يستشعر مستشعر الأشعة تحت الحمراء هذه الإشارة ويتحكم في مصابيح LED المتصلة بـ Arduino وفقًا للشفرة.

2- مستلزمات المشروع

  • اردوينو اونو ( Arduino Uno )
  • اسلاك كهرب
  • مستقبل اشعة تحت الحمراء ( IR receiver )
  • 5 لمبات LAD
  • ريموت كونترول
  • وبطارية 6V

3- ترتيب القطع حسب المخطط

ترتيب جميع القطع والاسلاك حسب المخطط في جميع المنافذ مع التأكد من امكنتها جميعها

4- برمجة الاردوينو

يمكنك نسخ الكود البرمجي :

#include <IRremote.h>

int receiver_pin = 8;
int first_light_pin = 7;
int second_light_pin = 6;
int third_light_pin = 5;
int fourth_light_pin = 4;
int led_case[] = {0,0,0,0};
IRrecv receiver(receiver_pin);
decode_results output;

#define code1 48703
#define code2 58359
#define code3 6375
#define code4 25979

void setup()
{
Serial.begin(9600);
receiver.enableIRIn();
pinMode(first_light_pin, OUTPUT);
pinMode(second_light_pin, OUTPUT);
pinMode(third_light_pin, OUTPUT);
pinMode(fourth_light_pin, OUTPUT);
}

void loop()
{
if (receiver.decode(&output))
{
unsigned int value = output.value;
switch(value)
{
case code1:
if(led_case[1] == 1)
{
digitalWrite(first_light_pin, LOW);
led_case[1] = 0;
}
else
{
digitalWrite(first_light_pin, HIGH);
led_case[1] = 1;
}
break;
case code2:
if(led_case[2] == 1)
{
digitalWrite(second_light_pin, LOW);
led_case[2] = 0;
}
else
{
digitalWrite(second_light_pin, HIGH);
led_case[2] = 1;
}
break;
case code3:
if(led_case[3] == 1)
{
digitalWrite(third_light_pin, LOW);
led_case[3] = 0;
}
else
{
digitalWrite(third_light_pin, HIGH);
led_case[3] = 1;
}
break;
case code4:
if(led_case[4] == 1)
{
digitalWrite(fourth_light_pin, LOW);
led_case[4] = 0;
}
else
{
digitalWrite(fourth_light_pin, HIGH);
led_case[4] = 1;
}
break;
}
Serial.println(value);
receiver.resume();
}
}

رموز الاشعة تحت الحمراء

رموز الأشعة تحت الحمراء

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

ترسل أجهزة التحكم عن بُعد المختلفة رموزًا مختلفة لضغطات المفاتيح ، لذلك ستحتاج إلى تحديد الشفرة التي تم إنشاؤها لكل مفتاح على جهاز التحكم عن بُعد الخاص بك. إذا تمكنت من العثور على ورقة البيانات ، فيجب إدراج رموز مفاتيح IR. إذا لم يكن الأمر كذلك ، فهناك رسم Arduino بسيط سيقرأ معظم أجهزة التحكم عن بُعد الشائعة وطباعة الرموز السداسية عشرية على الشاشة التسلسلية عند ضغط مفتاح. سأوضح لك كيفية إعداد ذلك في دقيقة واحدة ، لكن أولاً نحتاج إلى توصيل جهاز الاستقبال بـ Arduino …

كيفية توصيل جهاز استقبال الأشعة تحت الحمراء لاردوينو

هناك عدة أنواع مختلفة من مستقبلات الأشعة تحت الحمراء ، بعضها مستقل ، وبعضها مثبت على لوحة جانبية. تحقق من ورقة البيانات الخاصة بجهاز استقبال الأشعة تحت الحمراء الخاص بك حيث قد يتم ترتيب المسامير بشكل مختلف عن جهاز استقبال HX1838 IR ومجموعة التحكم عن بعد التي أستخدمها هنا. ومع ذلك ، فإن جميع مستقبلات الأشعة تحت الحمراء لديها ثلاثة دبابيس: إشارة ، والأرض ، و VCC.

لنبدأ مع اتصالات الأجهزة. يبدو تخطيط الدبوس في معظم اللوحات الجانبية كما يلي:

يشبه pinout معظم الثنائيات المستقلة مثل هذا:

لتوصيل الصمام الثنائي المتلقي المستقل ، قم بتوصيله بالشكل التالي:

Arduino IR Remote Receiver – قائمة بذاتها IR استقبال الأسلاك

برمجة استقبال الأشعة تحت الحمراء

بمجرد توصيل جهاز الاستقبال ، يمكننا تثبيت مكتبة Arduino وبدء البرمجة. في الأمثلة أدناه ، سأوضح لك كيفية العثور على الرموز المرسلة من جهاز التحكم عن بعد ، وكيفية العثور على بروتوكول الأشعة تحت الحمراء المستخدم من قبل جهاز التحكم عن بعد ، وكيفية طباعة ضغطات المفاتيح على الشاشة التسلسلية أو شاشة LCD ، وأخيرا ، كيفية التحكم دبابيس الإخراج اردوينو مع جهاز التحكم عن بعد.

تثبيت مكتبة IRremote

سنستخدم مكتبة IRremote لجميع أمثلة التعليمات البرمجية أدناه. يمكنك تنزيل ملف ZIP الخاص بالمكتبة من هنا.

لتثبيت المكتبة من ملف ZIP ، افتح ملف Arduino IDE ، ثم انتقل إلى Sketch> Include Library> Add .ZIP Library ، ثم حدد ملف IRremote ZIP الذي قمت بتنزيله من الرابط أعلاه.

العثور على رموز لجهاز التحكم عن بعد

للعثور على الرموز الأساسية لجهاز التحكم عن بُعد ، قم بتحميل هذا الرمز إلى Arduino وافتح الشاشة التسلسلية:

1

2

3

4

5

6

7

8

9

10

11

12

# تضمين <IRremote.h>

const int RECV_PIN = 7 ؛

IRrecv irrecv (RECV_PIN) ؛

نتائج فك شفرة.

الإعداد باطل(){

Serial.begin (9600)؛

irrecv.enableIRIn ()؛

irrecv.blink13 (صحيح)؛

X

الآن اضغط على كل مفتاح على جهاز التحكم عن بُعد وقم بتسجيل الرمز السداسي عشري المطبوع لكل مفتاح ضغط.
Key                   Cod                 Key                   Code                Key            Code       
CH-                 0xFFA25D         200+               0xFFB04F            9               0xFF52AD
CH                  0xFF629D            0               0XFF6897
CH+                0xFFE21D            1               0xFF30CF
<<                 0xFF22DD            2               0xFF18E7
>>                 0xFF02FD            3               0xFF7A85
>||                 0xFFC23D            4               0xFF10EF
–                   0xFFE01F            5               0xFF38C7
+                  0xFFA857            6               0xFF5AA5
EQ                 0xFF906F            7               0xFF42BD
100+               0xFF9867            8               0xFF4AB5

 

 

 

الكاتب: سعود خالد
كاتب
قارئ

المشاركات (2)

أضف مشاركة