ريموت كونترول + الآردوينو

بسم الله الرحمن الرحيم

استخدام الريموت كونترول للتحكم في الآردوينو



    هل انشأت مشروع بأستخدام الاوردوينو و تريد التحكم فيه عن بعد ... هل ترغب باستخدام الريموت كونترول الخاص في التلفاز او اي جهز آخر  !!
في هذا المقال سوف نستخدم ريموت كونترول خاص بالتلفاز للتحكم بإضاءة 3 LED  موصولة على الاوردوينو ..


• ماذا أحتاج ؟
مستقبل IR 
-         أوردوينو (اي نوع ) .

-         Breadboard

-         A three pin IR receiver
     و هو مستقبل اشارة الـ IR 

-         ريموت كونترول لأي جهاز .

-         LED  عدد 3 .

-         مقاومة 1 كيلو اوم .






• لـنبـــدأ :) ... 

أولاً , يجب ان نتأكـد من ان جهاز التحكم و IR receiver   يعملان بشكل جيد !



يمكننا التأكد من جهاز التحكم من خلال النظر
 للـ LED  عبر كميرا 
(لا يمكن رؤية الضوء -الاشعة تحت الحمراء - بالعين المجرده لذا يجب استخدام الكاميرا , كاميرا الهاتف مثلاً ! )
يجب ان يضيء عند الضغط على اي زر .









للتأكد من IR receiver نوصل الدارة التالية ..

و عند توجيه الريموت كونترول باتجاه المستقبل و الضغط على اي زر يجب ان يضيء ال LED 
(تكون الاضاءة بشكل سريع , لذلك اضغط اكثر من مره بسرعة !)  ,
عندها نتأكد بأن القطعة تعمل بشكل جيد .








بـعد التأكد من ان كل القطع اصبحت جاهزة للإستخدام  نبــدأ بتوصيل دائرة الاستقبال مع الاوردوينو .
و هي تقريباً نفس التوصيلة السابقة , لكن وصلنـا الطرف الايسر من المستقبل (المسؤول عن نقل البيانات ) مع المدخل رقم 11 في الاوردوينو .
 ببساطــة اصبحت دائرة الاستقبال جاهزة الآن  J....


• البرمجة : 

نحتاج لتحميل مكتبة IRremote   التي سوف تمكن الاوردوينو من قراءة كودات جهاز التحكم عن بعد ...
 يمكنـك تحمـيلـهـا مـن هــــــنـــــا  ...

مهم ►  بعد تحميـل الملف و فك ضغطـه , سيكون اسم المجلـد 
    shirriff-Arduino-IRremote-nnn      
اعد تسميته  باسم IRremote     و ضعه في ملف  library الموجود ضمن ملفات الاوردوينو .
لتصبح المكتبة جاهزة للإستخدام .  

• لــكــن ما هي كودات جهاز التحكم عن بعد ؟؟

كل جهاز تحكم عن بعد لديه نظام كودات خاص به, يمكنه من إرسال كود معين عند الضغط على احد الازرار  يختلف عن اي جهاز تحكم آخر.
 لنفرض مثلاً أن لدينا جهازيـن تحكم , عند الضغط على الرقم واحد في الجهاز الأول سوف يرسل كود معين و لنفرض انه  FFA25D .
لكن الجهاز الثاني سوف يرسل كود مختلف عند الضغط على الرقم واحد , مثلا A25D18E  ...
لهذا السبب لا يمكننا استخدام جهاز التحكم الخاص في التلفاز للتحكم في مشغل الموسيقى  مثلاُ !!!

و يفيد هذا  الامر في عدم حصول تشويش عند استخدامك لجهاز معين , و يمكنك بناء نظام تشفير خاص بك , لضمان عدم التشويش على مشروعك ! 
( سنقوم بهذه التجربة باستخدام الكودات مباشرة و ببساطة , دون العمل على انظمة التشفير ) 



• كيف يمكنني ان اعرف كودات جهاز التحكم الذي ارغب في استخدامه ؟؟
بعد توصيل الدارة وتحميل المكتبة .. افتح مثـال ( IRrecvDemo ) .
من خلال  File  ->  Examples  ->  IRremote ->  IRrecvDemo

حمل الكود الموجود في المثال على الاوردوينو .. 
البرنامج ببســاطة يقوم  بقراءة الكود من الريموت و عرضه على “Serial Monitor” ..
نقوم بالضغط على زر معين فيظهر الكود الخاص به , و بالتالي يمكننا معرف الكود الخاص بكل زر في الريموت كونترول ..
قم بتسجيل الكود الخاص بالازرار الموجودة في الريموت كونترول .
او على الاقل الازرار التي سوف نحتاجها في تجربتنا ( 5 ازرار ) .


شـــاهد الفيديــــو :




 الآن اصبح لدينا طريقة للتحكم في اوامر الاوردوينو , وهي كودات الازرار !!
مثلاً ... للتحكم بإضاءة LED  موصول على Pin 6 من خلال زر رقم واحد .. نكتب البرنامج (باستخدام جملة switch او اي جمل اخرى ) 

 بحيث اذا استقبل الاوردوينو كود الزر رقم واحد  , يضيء LED  و اذا استقبل كود زر آخر ينطفأ !

لنكتب برنامج بسيط جداً لإضــاءة LED  موصول على Pin 6 .. عند الضغط على الزر رقم واحد في جهاز التحكم عن بعد ( لنفرض ان الكود للرقم واحد هو 0xFFA25D )

__________________________________________________________
Void setup ()
{
  pinMode (6, OUTPUT);
  irrecv.enableIRIn();          // Start the receiver
 
}

Void loop ()
 {
   If (irrecv.decode(&results)) {
     Switch (results.value) {   // results.value:  it’s the IR receiver reading. 
         case 0xFFA25D:      //  FFA25D : it’s the code of button 1
         digitalWrite (6, HIGH);
        break;
}


_____________________________________________________


لنقم بزيادة عدد الـ LED الــى 3 .
و لنتحكم بهم كالتالي :
 الرقم 1 يضيء  الليد الاول .
و الرقم  2 يضيء اللد الثاني .
 و الرقم 3 يضيء اللد الثالث .
و زر الpower   يطفئ اللدات الثلاث !
و الازر الاخضر يضيئهم جميعا ً !

سيكـون شكل الدارة كالتالي :

اكتب البرنامـج التالي (تتبعه جيداً)



بعد انتهاء التجربة حاول بنفسك ان تضيف وضائف اخرى باستخدام عدد اكبر من الازرار 
فكر مثلاً بـ :
    - التحكم بالروبوت !
    - التحكم بإضـاءة المنزل ( باستخدام المرحلات Relay ) !
    
    


هل أعجبك الموضوع ؟

هناك 9 تعليقات :

  1. شكرا على الشرح الرائع لو تفضلت بشرح آخر حول كيفية استعمال الريلي للتحكم في مصباح من فئة 220 فولت اميل: hellonh555@gmail.com

    ردحذف
  2. ابداع
    سؤال واحد لماذا قمت باضاقة 0x للكود الريموت
    وشكرا

    ردحذف
  3. أزال المؤلف هذا التعليق.

    ردحذف
  4. هل يمكن التحكم من نفس الزر فى الريموت تشغيل ثم تطفئ وممكن زيادة مفتاح تحكم آخر عادى فى الجدار ثابت ولو ينفع ارجو الكود وشكرا

    ردحذف

جميع الحقوق محفوظة - علي الهضابين ©2012-2013 | ، يرجى ذكر المصدر عند النقل . Privacy-Policy | أنضم ألى فريق التدوين


تصميم alwan-blogger | تطوير Reda Yagoub