مشروع للتحكم بالاجهزة عن بعد باستخدام IR Remote controller

الموضوع في 'برمجة الاشياء arduino' بواسطة ابوفارس, بتاريخ ‏28 يناير 2020.

  1. ابوفارس

    ابوفارس ادارة المنتدى إداري

    إنضم إلينا في:
    ‏12 يوليو 2014
    المشاركات:
    690
    الإعجابات المتلقاة:
    200
    نقاط الجائزة:
    43
    الجنس:
    ذكر
    في هذا الدرس نوضح طريقة توصيل مستقبل الاشعة تحت الحمراء ir receiver بالاردوينو ARDUINO وبرمجة اي ريموت كنترول على الاردوينو والتحكم به عن بعد باستخدامة
    [​IMG]
    مستقبلة الاشعة تحت الحمراء
    IR receiver
    وهناك العديد من انواع الريموت كنترول تباع جديده في السوق او يمكنك استخدام اي ريموت في المنزل
    فهذه الفكرة تصلح لاي نوع ريموت

    [​IMG]

    [​IMG]
    بعض انواع الريموت كنترول

    نستخدم في هذا الدرس اردوينو ميجا كما يمكنك استخدام اي وع آخر
    [​IMG]
    Arduino MEGA
    نقوم بتوصيل مستقبلة الاشعة تحت الحمراء مع الاردوينو كما هو موضح في الرسم

    [​IMG]
    ثم نقوم بتوصيل الاردوينو بالكمبيوتر وتحميل ملف ال IRremote
    ثم نقوم بالضغط على ازرار الريموت ليظهر لنا كود كل زر
    نقوم بنسخ الكود وكتابة رقم الزر الخاص به

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

    الكود البرمجي
    [​IMG]
    [​IMG]
    في البداية نقوم بتحميل المكتبة الخاصة بـ IR لنتمكن من قراءة الكود لجهاز التحكم. IRremote

    بعد تحميل المكتبة نقوم بنسخ الكود ولصقه في برنامج الاردوينو.

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

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


    كود:
    
    #include <IRremote.h>      //including infrared remote header file
    int RECV_PIN = 11;        // the pin where you connect the output pin of IR sensor
    IRrecv irrecv(RECV_PIN);
    decode_results results;
    int value;
    void setup()
    {
    Serial.begin(9600);
    irrecv.enableIRIn();
    }
    void loop()
    {
      value = results.value;
    Serial.println("f");
    Serial.println(value);
    delay(20);
    if (irrecv.decode(&results))
       {
    value = results.value;
    Serial.println("f");
        Serial.print("Code: ");
    Serial.println(results.value); //prints the value a a button press
       Serial.println("n");
       irrecv.resume();              // Receive the next value
    Serial.println("************");
         }
         if(results.value==16724175){
           digitalWrite(13,HIGH);
    Serial.println("ON");
         }
         else if (results.value==16716015 ){
           digitalWrite(13,LOW);
           Serial.println(" OFF ");
         }
    }
    
    
    
    
    
    
     
    آخر تعديل: ‏21 ديسمبر 2022

مشاركة هذه الصفحة