بسم الله الرحمن الرحيم
استخدام الريموت كونترول للتحكم في الآردوينو
هل انشأت مشروع بأستخدام الاوردوينو و تريد التحكم فيه عن بعد ... هل ترغب باستخدام الريموت كونترول الخاص في التلفاز او اي جهز آخر !!
في هذا المقال سوف نستخدم ريموت كونترول خاص بالتلفاز للتحكم بإضاءة 3 LED موصولة على الاوردوينو ..
• ماذا أحتاج ؟
![]() |
| مستقبل IR |
- أوردوينو (اي نوع ) .
- Breadboard
- A three pin IR receiver
و هو مستقبل اشارة الـ IR
- ريموت كونترول لأي جهاز .
- LED عدد 3 .
- مقاومة 1 كيلو اوم .
• لـنبـــدأ :) ...
يمكننا التأكد من جهاز التحكم من خلال النظر
للـ 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 ) !
- التحكم بإضـاءة المنزل ( باستخدام المرحلات Relay ) !






merciii
ردحذفممتاز جدا وفقك الله
ردحذفشكرا على الشرح الرائع لو تفضلت بشرح آخر حول كيفية استعمال الريلي للتحكم في مصباح من فئة 220 فولت اميل: hellonh555@gmail.com
ردحذفابداع
ردحذفسؤال واحد لماذا قمت باضاقة 0x للكود الريموت
وشكرا
x0 هي مجرد تسمية للكود
حذفx0 هي مجرد تسمية للكود
حذفشكرا
ردحذفأزال المؤلف هذا التعليق.
ردحذفهل يمكن التحكم من نفس الزر فى الريموت تشغيل ثم تطفئ وممكن زيادة مفتاح تحكم آخر عادى فى الجدار ثابت ولو ينفع ارجو الكود وشكرا
ردحذف