النتائج 1 إلى 7 من 7
الموضوع:

افتراضي تعلم كيفية صنع ريموت كنترول (مرسل + مستقبل) بالميكروسى

الزوار من محركات البحث: 100 المشاهدات : 1074 الردود: 6
جميع روابطنا، مشاركاتنا، صورنا متاحة للزوار دون الحاجة إلى التسجيل ، الابلاغ عن انتهاك - Report a violation
  1. #1
    أبو بنين الگرعاوي
    مشاكس و افتخر
    تاريخ التسجيل: May-2014
    الدولة: ارض الحضارة البابلية
    الجنس: ذكر
    المشاركات: 22,347 المواضيع: 3,155
    صوتيات: 15 سوالف عراقية: 3
    التقييم: 11417
    مزاجي: بكيفي
    المهنة: رائد في الشرطة الاتحادية
    أكلتي المفضلة: الدولمة البابلية
    آخر نشاط: منذ أسبوع واحد
    الاتصال: إرسال رسالة عبر Yahoo إلى ¥محبوب$القلوب¥
    مقالات المدونة: 16

    Rose افتراضي تعلم كيفية صنع ريموت كنترول (مرسل + مستقبل) بالميكروسى

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

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

    في البداية اريدكم ان تشاهدوا هذا الفديو للتجربة الحقيقية



    وبعد المشاهدة
    نبدء فى الشغل العملى على طول

    حمل الدائرة والكود والمحاكاة وكل شىء من هنا

    انا موصل IR_Link لكي نجرب الدائرة كانها على الحقيقة بالربط

    طبعا سوف تلاحظ انى لم استخدم كريستال او مقاومة على الطرف mclr
    هذه من خواص هذا الميكرو 16f628a
    يوجد بة مذبذب داخلى ولا يحتاج لكريستال وايضا يمكنك الغاء طرف mclr

    "((نأتي الى الشرح كل الى احنا قمنا بوضعه هنا ))"

    - كيف نرسل اشعه تحت حمراء ويستقبلها المستقبل ؟؟

    يجب ان تعلم ان المستقبل لا يستقبل الاشارة الا اذا كانت بتردد معين
    مثل 36khz او 38khz او 40khz

    وهناك ما هو اقل او اكثر من ذلك
    المهم هو ان نرسل الاشارة بتردد

    ولكن كيف يفكك المستقبل الاشارة وما تعنى الارسال بتردد اليس التردد نبضات ؟؟!! اذن سيخرج المستقبل نفس عد النبضات وهو ملا يحدث اذن ماذا يحدث بالفعل

    هذه الصورة توضح عمل المستقبل بكل دقة




    انظر الى المرسل كيف هى الاشارة وكيف يخرجها المستقبل
    المستقبل ليس مجرد ترانزيستور ضوئى يخرج كما ترسل له
    لا يوجد به نظام للاستقبال بتردد واخراج الاشارة TTL كما تراها

    بدون الدخول فى تفاصيل كثيرة

    هناك طريقة سهلة للارسال وهى استخدام PWM او التعديل فى عرض النبضة
    والطريقة بسيطة جدا ((الشرح فى الكود تحت باذن الله))

    وهى الطريقة المستخدمة فى المشروع وتم الارسال بتردد 38khz

    وكما نعلم ان بروتوكول شركة سونى هو من اسهل البروتوكلات الموجودة
    لذا قمت باستخدام ريموت سونى وايضا المرسل الذى صنعته يرسل اشارات سونى

    كيف هو شكل نبضات بروتوكول سونى ؟؟

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

    الرقم واحد فى البايت يساوى 1200 ميكرو ثانية
    اما الصفر فهو يساوى 600 ميكرو ثانية

    يعنى هاكذا مثلا اذا اردنا ارسال البايت هذا
    10000000
    يكون هكذا
    2.4 مللى ثانية نبضة البداية
    وبعد ذلك 600 ميكرو ثانية مساحة بدون ارسال((اى يتوقف المرسل عن الارسال))
    وبعد ذلك
    يبدء البايت هنا اول بيت هو 1 اذا 1200 ميكروثانية وبعد ذلك مساحة
    والذى يلية هو 0 اذا 600 ميكرو ثانية ارسال ثم مساحة (اى بدون ارسال)
    ثم البيت الى بعدة وهكذا

    فى الكود الى انشاتة 12 بيت غير نبضة البداية
    مقسمون الى 7 بيت كومند
    و 5 بيت ادريس او عنوان

    الادريس او العنوان فائدة تحدد نوع الجهاز حتى لا يحدث تداخل بين الاجهزة
    وفى حالة ريموت التلفزيون يساوى 10000 وهو ثابت على التلفزيون لشركة سونى

    والكومند الى هما 7 بيت عبارة عن الاوامر التى تنفزها الازرار بمعنى
    الزرار واحد يساوى 0000000 اى 7 اصفار والواحد يساوى 1000000
    وهكذا
    يعنى اذا رادنا ارسال شفرة الزرار الاول نرسلها بتردد 38khz بهذا الشكل
    نبضة البداية 2.4 ثم فراغ ثم 12 بيت بينه فراغات كما وضحت هكذا
    000000010000
    كما نرى 7 اصفار كومند و 10000 الادريس

    ولمعرفة اكواد الريموت كلها اتبع الرابط الاتى

    http://www.kucher.org/projects/tvcontrol/

    هذا شرح للعملية
    ولكن اذا لم تفهم لا تقلق مع شرح الكود سوف تفهم جيدا كل حرف كتبتة

    ناتى لشرح كود الارسال

    سوف اضح شكل الكود لزرار واحد فقط حتى لا يكون طويل
    واذا فهمت الفكرة يمكنك عمل كل ازرار الريمونت كما تريد

    كود:
    
    
    كود:
    char x;
    
    void main() {
    CMCON=0x07;TRISA=255;TRISB=0;portb=0;
    PWM1_Init(38000);
    PWM1_Set_Duty(255);
    
    
      while (1) {
      if (porta.f0==0){
          PWM1_Start();delay_us(2400);PWM1_Stop();                    //button 1
          delay_us(600);
          for(x=0;x<7;x++){
          PWM1_Start();delay_us(600);PWM1_Stop();delay_us(60  0); }
    
          PWM1_Start();delay_us(1200);PWM1_Stop();
            delay_us(600);
             for(x=0;x<4;x++){
          PWM1_Start();delay_us(600);PWM1_Stop();delay_us(60  0);  }
          delay_ms(250);
            }
             }
            }


    فى البدء عرفت متغير اسمة X
    وبعد ذلك قمت بتحديد الخرج والدخل

    ثم جعل PWM يعمل على تردد 38khz وتكتب 38000 كما تروها
    بكل هذه البساطة سوف يخرج الميكرو اشارة بتردد 38khz
    وبعد ذلك جعلت النبضات تخرج 5 فولت وليس اقل

    اذا لم يبقى علينا الا تشغيل الخرج لل PWM وايقافة بالاوقات المطلوبة
    على حسب الشفرة التي في الريمونت

    هذا الزر هو رقم 1 فى الريموت
    وشفرتة هى
    000000010000

    اى كل الكومند اصفار وطبعا الادريس ثابت كما قلت

    انظر الى النقطه هذه

    كود:
    PWM1_Start();delay_us(2400);PWM1_Stop();                    //button 1
          delay_us(600);
          for(x=0;x<7;x++){
          PWM1_Start();delay_us(600);PWM1_Stop();delay_us(60  0); }


    ماذا فعلت هنا ؟؟

    ببساطة قلت له شغل الخرج لمدة 2.4 مللى ثانية اى 2400 ميكرو ثانية وهى نبضة البداية
    وبعد ذلك افصلة لمدة 600 ميكرو ثانية ((المساحة التى تكلمت عنها ))

    ثم وهذا هو الاهم
    أنا أرغب بأن يبعت 7 بيت من الكومند كلهم 0
    يبقى نكرر الامر بتاع ارسال الرقم 0 7 مرات
    كما ترى يشغل الخرج لمدة 600 ميكرو ثانية ثم يفصل لمدة 600 ميكرو ثانية المساحة التى تكلمت عنها
    وهكذا 7 مرات يعطينا 0000000 بكل بساطة

    ثم 5 بيت من الادريس او العنوان
    اولهم الرقم واحد 1
    فكتبتة فى الاول هكذا امر بتشغيل الخرج لمدة 1200 ميكرو ثانية
    ثم المساحة
    تبقى لنا الان من 5 بيت 4 بيت فقط لاننا ارسال اول بيت منهم

    اذا نكرر الامر 0 4 مرات وهكذا يصبح لدينا 0000
    وفى المجمل 000000010000
    وهى الاشارة المطلوبة

    وباقى الازرار هكذا
    ما يمكن تكرارة نكررة والذى يكون وحيد مثل الرقم واحد نكتبة مرة واحدة هكذا
    وهذا يوفر فى المساحة للميكرو

    وفى النهاية ينتظر 250 مللى ثانية حتى ترفع يدك من على الزرار


    وهذا هو كود ارسال الرقم 2

    كود:
     if (porta.f1==0){
          PWM1_Start();delay_us(2400);PWM1_Stop();
          delay_us(600);
          PWM1_Start();delay_us(1200);PWM1_Stop();      //button  2
          delay_us(600);
          for(x=0;x<6;x++){
          PWM1_Start();delay_us(600);PWM1_Stop();delay_us(60  0);  }
            PWM1_Start();delay_us(1200);PWM1_Stop();
            delay_us(600);
             for(x=0;x<4;x++){
          PWM1_Start();delay_us(600);PWM1_Stop();delay_us(60  0);  }
            delay_ms(250);
            }


    ارجوا من المتابعين كتابة الرقم 3 بنفس الطريقة
    والاكواد موجودة فى الموقع الموجود في الاعلى


    وانا أعرف ان شرحى ليس شرحاً جيد ههههههههههه

    لكن حاول ان تجتهد شوية فى فهم الكود والنقطة الى تقف معاكولا تتردد انك تسئل




    ملحوظة هناك الكثير من الطرق لعمل المرسل والمستقبل وهذه احداها

    للأمانة منقول

    لكنني قمت بتغيير بعض الكلمات لكي تتناسب مع اللهجة العراقية و الخليجية

  2. #2
    أميري علي ونعم الأمير
    صــديـقــات روحــي
    تاريخ التسجيل: August-2014
    الدولة: بغداد
    الجنس: أنثى
    المشاركات: 6,586 المواضيع: 371
    صوتيات: 10 سوالف عراقية: 0
    التقييم: 2379
    مزاجي: الـــحــمـــد الـــلــه
    المهنة: طالبة
    أكلتي المفضلة: القاسمة الله
    موبايلي: تاب 3
    آخر نشاط: 20/November/2017
    مقالات المدونة: 1
    اممممم بصراحة موضوع رائع ومفيد
    لية العودة أخي

  3. #3
    أبو بنين الگرعاوي
    مشاكس و افتخر
    اقتباس المشاركة الأصلية كتبت بواسطة زهرة النرجس1 مشاهدة المشاركة
    اممممم بصراحة موضوع رائع ومفيد
    لية العودة أخي
    أهلاً بكِ متى ما اتيتِ

    شكراً للتواجد العطر

  4. #4
    صديق نشيط
    تاريخ التسجيل: June-2015
    الجنس: ذكر
    المشاركات: 258 المواضيع: 24
    التقييم: 134
    مزاجي: بلا قيود
    أكلتي المفضلة: دولمه
    موبايلي: IPhone
    آخر نشاط: 16/April/2024
    معلومات رائعه

  5. #5
    أبو بنين الگرعاوي
    مشاكس و افتخر
    اقتباس المشاركة الأصلية كتبت بواسطة عذب الكلمات مشاهدة المشاركة
    معلومات رائعه
    مرورك هو الاروع

  6. #6
    صديق جديد
    تاريخ التسجيل: February-2015
    الجنس: ذكر
    المشاركات: 12 المواضيع: 0
    التقييم: 4
    آخر نشاط: 27/December/2016
    اشكرك على مجهودك الرائع

  7. #7
    صديق جديد
    تاريخ التسجيل: January-2017
    الجنس: ذكر
    المشاركات: 26 المواضيع: 2
    التقييم: 8
    آخر نشاط: 24/January/2017

تم تطوير موقع درر العراق بواسطة Samer

قوانين المنتديات العامة

Google+

متصفح Chrome هو الأفضل لتصفح الانترنت في الجوال