قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

A.Fathi
:: مهندس ::
تاريخ التسجيل: May 2013
المشاركات: 10
نشاط [ A.Fathi ]
قوة السمعة:0
قديم 04-12-2014, 05:49 PM المشاركة 1   
افتراضي سؤال حول IR Remote Module Twitter FaceBook Google+



السلام عليكم ورحمة الله وبركاته

ارجو الافادة من حضراتكم فى فكرة التعامل مع IR Remote Module وتوصيلها مع مايكروكنترولر من نوع pic . حيث انى قد رايتها فى احد محلات الالكترونيات وقمت بشرائها لكنى لاحظت ان اغلب من تعامل معها بسهولة كان مع اردوينو وليس مايكروكنترولر.

بارك الله فيكم و فى خبراتكم و للجميع جزيل الشكر والعرفان.


التعديل الأخير تم بواسطة : A.Fathi بتاريخ 04-12-2014 الساعة 05:59 PM
اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:394
قديم 04-12-2014, 07:41 PM المشاركة 2   
افتراضي


لكي تستطيع التعامل مع المرسل يجب ان تعرف اولا الكود الخاص بكل مفتاح ...
لذلك من الافضل ان تصنع المرسل و المستقبل بنفسك و باستخدام البك الصغير PIC16f628a

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

A.Fathi
:: مهندس ::
تاريخ التسجيل: May 2013
المشاركات: 10
نشاط [ A.Fathi ]
قوة السمعة:0
قديم 04-12-2014, 09:55 PM المشاركة 3   
افتراضي


لكي تستطيع التعامل مع المرسل يجب ان تعرف اولا الكود الخاص بكل مفتاح ...
لذلك من الافضل ان تصنع المرسل و المستقبل بنفسك و باستخدام البك الصغير PIC16f628a
اخي و استاذي حيدر يسرني ردك علي سؤالي لكن كل ما اعرفه عن اكواد الازرار هي انها اكواد ريموت NEC وكانت مكتوبة في احد المواقع.


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 05-12-2014, 04:35 AM المشاركة 4   
افتراضي


السلام عليكم ورحمة الله وبركاته

ارجو الافادة من حضراتكم فى فكرة التعامل مع IR Remote Module وتوصيلها مع مايكروكنترولر من نوع pic . حيث انى قد رايتها فى احد محلات الالكترونيات وقمت بشرائها لكنى لاحظت ان اغلب من تعامل معها بسهولة كان مع اردوينو وليس مايكروكنترولر.

بارك الله فيكم و فى خبراتكم و للجميع جزيل الشكر والعرفان.
السلام عليكم
يوجد مواضيع كثيره في منتدى تتكلم عن هذا الموضوع
سحاول البحث عنها واعلامك بها

تفضل الكود بأستخدام برتوكول NEC
http://up.top4top.net/downloadf-top4...97c11-rar.html

شرح البرتوكول
http://www.sbprojects.com/knowledge/ir/nec.php


التعديل الأخير تم بواسطة : حسن هادي محمود بتاريخ 05-12-2014 الساعة 04:38 AM

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 05-12-2014, 04:43 AM المشاركة 5   
افتراضي


انظر الى هذا الرابط
http://www.qariya.info/vb/showthread.php?t=112840


A.Fathi
:: مهندس ::
تاريخ التسجيل: May 2013
المشاركات: 10
نشاط [ A.Fathi ]
قوة السمعة:0
قديم 05-12-2014, 06:51 AM المشاركة 6   
افتراضي


السلام عليكم
يوجد مواضيع كثيره في منتدى تتكلم عن هذا الموضوع
سحاول البحث عنها واعلامك بها

تفضل الكود بأستخدام برتوكول NEC
http://up.top4top.net/downloadf-top4...97c11-rar.html
البرتوكول
http://www.sbprojects.com/knowledge/ir/nec.php
اخي المهندس حسن هادي حفظك الله
شكراً جزيلاً على إهتمامك لمساعدتي . يجب على فهم البروتوكول جيدا قبل أي شيء


A.Fathi
:: مهندس ::
تاريخ التسجيل: May 2013
المشاركات: 10
نشاط [ A.Fathi ]
قوة السمعة:0
قديم 06-12-2014, 03:36 PM المشاركة 7   
افتراضي


وجدت فى هذا الرابط الموضوع بالتفصيل لكنه معقد بعض الشيئ .
جزاك الله كل الخير ولصاحب الموضوع.


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 06-12-2014, 04:04 PM المشاركة 8   
افتراضي


وجدت فى هذا الرابط الموضوع بالتفصيل لكنه معقد بعض الشيئ .
جزاك الله كل الخير ولصاحب الموضوع.
السلام عليكم
أخي العزيز البرتوكول NEC يعمل كتالي
نبضه بدء 9ms ثم فاصل 4,5ms


ثم يرسل العنوان ثم معكوس العنوان ثم بيانات ثم معكوس البيانات
عند ارسال مثلا العنوان فأنه يتم ارسال بت بت وبتالي يوجد زمن بين ارسال واخر هو 560us
في حاله البت =1 فان زمن = 1680us وفي حاله بت=0 فأن زمن = 560us



هذا هو كود البرتوكول
كود:
/*******************************************************************************
* Function IR_Send(char IR_Address, char IR_COmmand)
* ------------------------------------------------------------------------------
* Overview: Functions sends address and command via IR NEC protocol
* Input:  Address - address of the device
*         Command - command for device
* Output: Nothing
*******************************************************************************/
void IR_Send(char IR_Address, char IR_COmmand)
{
     char ir_byte[4];
     char bitnum;
     char bytenum;

     ir_byte[3] = ~IR_COmmand;
     ir_byte[2] =  IR_COmmand;
     ir_byte[1] = ~IR_Address;
     ir_byte[0] =  IR_Address;

    // Delay_ms(100);                                  // precaution to be certain of some dead time before message start
     PWM1_Start();                                   // mark
     led=1;
     Delay_ms(9);                                 // 9mS mark start bit
     PWM1_Stop();                                    // space
     led=0;
     Delay_us(4500);                                 // 4.5mS space ends start bit
     for(bytenum = 0; bytenum < 4; bytenum++)        // 4 bytes to send
           {
             for(bitnum = 0; bitnum < 8; bitnum++)    // 8 bits LSB first
                  {
                   PWM1_Start();                           // mark
                   led=1;
                   Delay_us(560);                          // 560uS mark for '0' or '1'
                   PWM1_Stop();                            // space
                   led=0;
                   if(ir_byte[bytenum] & (1 << bitnum))     // test bit <bitnum>
                       {
                         Delay_us(1680);                     // 1.68mS space for a '1'
                       }
                  else{
                       Delay_us(560);                      // 560uS space for a '0'
                     }
                  }
           }
     PWM1_Start();                                   // mark
     
     Delay_us(560);                                  // stop bit of '1'
     PWM1_Stop();                                    // space
     
     Delay_us(1680);                                 // stop bit of 1
     Delay_ms(200);                                  // precaution to be certain of some dead time after message ends

}
طبعا زمن Delay_ms(200); في اخر الكود هي خاصه لضغطه سويج يعني لايوجد داعي ان نضع هذا زمن مع كل سويج لهذا سبب وضعتها في كود البرتوكول

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 07:45 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025