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

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

A-M-S
:: مهندس جيد ::
تاريخ التسجيل: May 2014
المشاركات: 242
نشاط [ A-M-S ]
قوة السمعة:0
قديم 11-06-2014, 12:41 AM المشاركة 1   
ha ريموت يعمل على RF Twitter FaceBook Google+



السلام عليكم و رحمة الله:
اخواني كنت قد وجدت في هذا المنتدى الرائع دائرة ريموت كنترول تعمل بالاشعه تحت الحمراء وتستخدم المايكرو 16F84A و ليد يضيئ بمجرد وصل الداره بمصدر الجهد؛ الجميل في الدائره ان بها مفتاح(كبسه) مكتوب عليها (ايبروم ) و عندما نضغط عليها ينطفئ اللد معلنا عن ادخال كود الريموت المراد استخدامه للتحكم في الداره و في كل ضغطه على زر في الريموت يضيئ اللد فلاشر خمسة مرات هكذا الى ان ننتهي من برمجة ثماني كبسات على الريموت ثم يثبت ضوء الريموت معلنا ان الداره جاهزه للعمل على الكود الجديد ..و يمكن عمل ذلك على اكثر من نوعيه للريموت و قمت بتنفيذ الدائره و هي تعمل بكفائه (بارك الله فيكم و في صاحب المشروع )
اخواني اذا سمحتم المطلوب هو دائره مثل هذه الدائره ولكن تعمل على RF بدل IR
حيث انني اريد استخدام ريموت (SENTER LOOK) المستخدم للسيارات نظرا لصغر حجمه و ترتيبه ..فهل ممكن تنفيذ هذه الدائره ؟
و اذا كان ممكن مع السيميوليشن و الكود او الهيكس
و جزاكم الله خيرا
اعذروني على اطالة الشرح و لكن للتوضيح ....

اعلانات

الصورة الرمزية mar7aba_01
mar7aba_01
:: مهندس متميز ::
تاريخ التسجيل: Jan 2010
الدولة: المغرب
المشاركات: 746
نشاط [ mar7aba_01 ]
قوة السمعة:0
قديم 11-06-2014, 12:57 AM المشاركة 2   
افتراضي


ممكن أخي الكريم تفيدنا بالدارة التي استفدت أنت منها سابقا ,,,

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

A-M-S
:: مهندس جيد ::
تاريخ التسجيل: May 2014
المشاركات: 242
نشاط [ A-M-S ]
قوة السمعة:0
قديم 11-06-2014, 05:07 AM المشاركة 3   
افتراضي


ممكن أخي الكريم تفيدنا بالدارة التي استفدت أنت منها سابقا ,,,
اكيد ممكن اخي الكريم ...ان شاء الله سأرفع الرابط قريبا ولكن النت لم يسعفني الان


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:136
قديم 11-06-2014, 10:57 AM المشاركة 4   
افتراضي


السلام عليكم و رحمة الله:
اخواني كنت قد وجدت في هذا المنتدى الرائع دائرة ريموت كنترول تعمل بالاشعه تحت الحمراء وتستخدم المايكرو 16F84A و ليد يضيئ بمجرد وصل الداره بمصدر الجهد؛ الجميل في الدائره ان بها مفتاح(كبسه) مكتوب عليها (ايبروم ) و عندما نضغط عليها ينطفئ اللد معلنا عن ادخال كود الريموت المراد استخدامه للتحكم في الداره و في كل ضغطه على زر في الريموت يضيئ اللد فلاشر خمسة مرات هكذا الى ان ننتهي من برمجة ثماني كبسات على الريموت ثم يثبت ضوء الريموت معلنا ان الداره جاهزه للعمل على الكود الجديد ..و يمكن عمل ذلك على اكثر من نوعيه للريموت و قمت بتنفيذ الدائره و هي تعمل بكفائه (بارك الله فيكم و في صاحب المشروع )
اخواني اذا سمحتم المطلوب هو دائره مثل هذه الدائره ولكن تعمل على RF بدل IR
حيث انني اريد استخدام ريموت (SENTER LOOK) المستخدم للسيارات نظرا لصغر حجمه و ترتيبه ..فهل ممكن تنفيذ هذه الدائره ؟
و اذا كان ممكن مع السيميوليشن و الكود او الهيكس
و جزاكم الله خيرا
اعذروني على اطالة الشرح و لكن للتوضيح ....
السلام عليكم
http://arabsh.com/files/0c33474360f2...civer-rar.html
http://www.mediafire.com/download/vx...er-reciver.rar

http://www.qariya.info/vb/showthread...078#post860078


محمد55555
:: مهندس متواجد ::
تاريخ التسجيل: Jun 2013
المشاركات: 82
نشاط [ محمد55555 ]
قوة السمعة:0
قديم 11-06-2014, 04:13 PM المشاركة 5   
افتراضي


الاستاذ/حسن هادي محمود جزاك اللة خيرا علي المشروع ممكن شرح للكود وما اسم الدائرة التي تركب علي الميكرو للارسال ولاستقبال وهل هي موجودة وكو يبلغ ثمنها وعزرني ان كنت اكثرت من الاسالة وشكرا


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


الاستاذ/حسن هادي محمود جزاك اللة خيرا علي المشروع ممكن شرح للكود وما اسم الدائرة التي تركب علي الميكرو للارسال ولاستقبال وهل هي موجودة وكو يبلغ ثمنها وعزرني ان كنت اكثرت من الاسالة وشكرا
السلام عليكم
يتم أستخدام دوائر RF احدهما تكون مرسله واخرى تكون مستقبله
http://www.ultest.com/index.php?rout..._417&limit=100

طبعا الكود يستخدم مكتبه Manchester

سيتم شرح كود بمشيئه الله

تحياتي


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


كود الارسال
========
كود:
// Initialize Transmitter:
sbit MANTXPIN at RC0_bit;
sbit MANTXPIN_Direction at TRISC0_bit;
// Initialize switches
sbit sw1 at RB0_bit;
sbit sw2 at RB1_bit;
sbit sw3 at RB2_bit;
sbit sw4 at RB3_bit;
sbit sw5 at RB4_bit;
sbit sw6 at RB5_bit;
sbit sw7 at RB6_bit;
sbit sw8 at RB7_bit;


// End Manchester module connections
char x;
const char device_address=10;
char led_on[10] , code_data[]={device_address, ~device_address,0,0};

void send_data(char data1);
void main()
{

ADCON1  = 6;                      // Configure AN pins as digital I/O
trisB=0xFF;
for(x=0;x<10;x++)led_on[x]=0;
Man_Send_Init();                 // Initialize transmitter
for(x=0;x<100;x++)Man_Send(0);
while (1) {
           /////////////// led1 ///////////////////
           if(sw1==0 && led_on[0]==0) //led1=on
                     {
                       send_data(1);
                       led_on[0]=1;
                       delay_ms(250);
                     }
          else if(sw1==0 && led_on[0]==1) //led1=off
                                {
                                  send_data(11);
                                  led_on[0]=0;
                                  delay_ms(250);
                                }
           /////////////// led2 ///////////////////
           if(sw2==0 && led_on[1]==0) //led2=on
                     {
                       send_data(2);
                       led_on[1]=1;
                       delay_ms(250);
                     }
           else if(sw2==0 && led_on[1]==1) //led2=off
                                {
                                  send_data(21);
                                  led_on[1]=0;
                                  delay_ms(250);
                                }
           /////////////// led3 ///////////////////
           if(sw3==0 && led_on[2]==0) //led1=on
                     {
                       send_data(3);
                       led_on[2]=1;
                       delay_ms(250);
                     }
           else if(sw3==0 && led_on[2]==1) //led1=off
                                {
                                  send_data(31);
                                  led_on[2]=0;
                                  delay_ms(250);
                                }
           /////////////// led4 ///////////////////
           if(sw4==0 && led_on[3]==0) //led2=on
                     {
                       send_data(4);
                       led_on[3]=1;
                       delay_ms(250);
                     }
           else if(sw4==0 && led_on[3]==1) //led2=off
                                {
                                  send_data(41);
                                  led_on[3]=0;
                                  delay_ms(250);
                                }
           /////////////// led5 ///////////////////
           if(sw5==0 && led_on[4]==0) //led1=on
                     {
                       send_data(5);
                       led_on[4]=1;
                       delay_ms(250);
                     }
           else if(sw5==0 && led_on[4]==1) //led1=off
                                {
                                  send_data(51);
                                  led_on[4]=0;
                                  delay_ms(250);
                                }
           /////////////// led6 ///////////////////
           if(sw6==0 && led_on[5]==0) //led2=on
                     {
                       send_data(6);
                       led_on[5]=1;
                       delay_ms(250);
                     }
           else if(sw6==0 && led_on[5]==1) //led2=off
                                {
                                  send_data(61);
                                  led_on[5]=0;
                                  delay_ms(250);
                                }
           /////////////// led7 ///////////////////
           if(sw7==0 && led_on[6]==0) //led1=on
                     {
                       send_data(7);
                       led_on[6]=1;
                       delay_ms(250);
                     }
           else if(sw7==0 && led_on[6]==1) //led1=off
                                {
                                  send_data(71);
                                  led_on[6]=0;
                                  delay_ms(250);
                                }
           /////////////// led8 ///////////////////
           if(sw8==0 && led_on[7]==0) //led2=on
                     {
                       send_data(8);
                       led_on[7]=1;
                       delay_ms(250);
                     }
           else if(sw8==0 && led_on[7]==1) //led2=off
                                {
                                  send_data(81);
                                  led_on[7]=0;
                                  delay_ms(250);
                                }

          }
}
//********************************************//
void send_data(char data1)
{
 code_data[2]=data1;
 code_data[3]=~data1;
 for(x=0;x<4;x++)
                {
                 Man_Send(code_data[x]);
                 delay_ms(10);
                }
}
=================================================
كود:
// Initialize Transmitter:
sbit MANTXPIN at RC0_bit;
sbit MANTXPIN_Direction at TRISC0_bit;
هذا الكود لتعريف طرف الارسال للمانشيستر كود على بورت c بن رقم 0
//// راجع مانشيستر كود في مايكروسي ///////


=============================================
تعريف سويجات
كود:
sbit sw1 at RB0_bit;
sbit sw2 at RB1_bit;
sbit sw3 at RB2_bit;
sbit sw4 at RB3_bit;
sbit sw5 at RB4_bit;
sbit sw6 at RB5_bit;
sbit sw7 at RB6_bit;
sbit sw8 at RB7_bit;
=======================================
جعل الاطراف كلها ديجيتل
كود:
ADCON1  = 6;                      // Configure AN pins as digital I/O
جعل بورت b كله مداخل
كود:
trisB=0xFF;
=============================
تصفير مصفوفه وهي تعبر عن اي ليد في حاله on or off
كود:
for(x=0;x<10;x++)led_on[x]=0;
=====================================
تعريف كود ارسال للمانشيستر كود ---- راجع ملف مساعده في مليكروسي خاص بمانشيستر كود
كود:
Man_Send_Init();                 // Initialize transmitter
===============================================
ارسال 0 الى مستقبل وهذا ارسال فقط لاختبار دائره بين مرسل ومستقبل فأذا أضاء ليد أخضر لحظه تشغيل يعني دائره مرسل ومستقبل تعمل بشكل الصحيح
كود:
for(x=0;x<100;x++)Man_Send(0);
=============================================

ندخل الان في لوب ستمر لاختبار السويجات

مثلا اذا اضغطنا على سويج 1 وكان ليد1 (led_on[0]==0) في حاله OFF
هنا سوف نرسل رقم 1 لاحظ كود لون أحمر
led_on[0]=1 وهذا يعني أصبح ليد1 في حاله ON
كود:
if(sw1==0 && led_on[0]==0) //led1=on
                     {
                       send_data(1);
                       led_on[0]=1;
                       delay_ms(250);
                     }
=============================================
مثلا اذا اضغطنا على سويج 1 وكان ليد1 (led_on[0]==1) في حاله On
هنا سوف نرسل رقم 11 لاحظ كود لون أحمر
led_on[0]=0 وهذا يعني أصبح ليد1 في حاله Off
كود:
else if(sw1==0 && led_on[0]==1) //led1=off
                                {
                                  send_data(11);
                                  led_on[0]=0;
                                  delay_ms(250);
                                }
وهكذا لبقيه السويجات
=========================================
ولكن مامهمه داله send_data
مهمتها ارسال الكود بمانشيستركود
كود:
void send_data(char data1)
{
 code_data[2]=data1;
 code_data[3]=~data1;
 for(x=0;x<4;x++)
                {
                 Man_Send(code_data[x]);
                 delay_ms(10);
                }
}
هنا يتم ارسال الكود كتالي
في بدايه الكود تم التعريف التالي
كود:
const char device_address=10;
char led_on[10] , code_data[]={device_address, ~device_address,0,0};
code_data تعني شفره التي سوف يتم ارسالها وهي تتكون من 4 بايتات
الاول device_address هذا يعني عنوان جهاز لانه اذا كان لدينا اكثر من جهاز فلابد من كل جهاز له عنوان لكي لايحدث تداخل بين الاجهزه
بايت الثاني هو معكوس بايت الاول

اما الثالث هو شفره تشغيل او اطفاء
اما الرابع هو معكوس بايت الثالث
وبتالي سوف يتم ارسال هذا الكود عبر داله send_data


A-M-S
:: مهندس جيد ::
تاريخ التسجيل: May 2014
المشاركات: 242
نشاط [ A-M-S ]
قوة السمعة:0
قديم 14-06-2014, 06:05 AM المشاركة 8   
افتراضي


الاخ المهندس حسن هادي محمود
شكرا جزيلا لك و بارك الله فيك و جعله في ميزان حسناتك ان شاء الله // جاري التنزيل و التجربه و سأوافيكم بالرد عندما يسمح لي الوقت ....

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

إضافة رد

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

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

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


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

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