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

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

  1. ابوفارس

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

    إنضم إلينا في:
    ‏12 يوليو 2014
    المشاركات:
    635
    الإعجابات المتلقاة:
    194
    نقاط الجائزة:
    43
    الجنس:
    ذكر
    في هذه التجربة سنقوم بالتحكم في LED المدمجة مع لوحة الاردوينو في المنفذ 13 عن طريق جهاز التحكم عن بعد والمستقبل IR.


    الادوات المستخدمة
    [​IMG]
    اردوينو اونو
    لوحة توصيل
    جهاز تحكم عن بعد - اي نوع
    مستقبل IR - يرجى مراعاة طريقة التوصيل عند تغير النوع
    أسلاك توصيل - حسب الحاجة
    الجزء النظري
    جهاز التحكم عن بعد يوجد به دائرة الكترونية ومصدر للاشعة تحت الحمراء (المرسل). عند الضغط على احد ازرار التحكم في الجهاز يتم اصدار موجات من المرسل بتردد معين ولها كود معين. يمكننا قراءة هذا الاكواد بواسطة الاردوينو والمستقبل لهذه الاشعة.
    التوصيل
    [​IMG]
    اتبع طريقة التوصيل لتنفيذ التجربة!
    الكود البرمجي
    [​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 ");
         }
    }
    
    
    
    
    
    
     
    آخر تعديل: ‏28 يناير 2020

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