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

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

hosam_eldin
:: مهندس متواجد ::
تاريخ التسجيل: Jun 2008
المشاركات: 185
نشاط [ hosam_eldin ]
قوة السمعة:0
قديم 23-02-2010, 01:42 PM المشاركة 1   
افتراضي الجزء الثالث دائرة استقبال الأشعة تحت الحمراء Twitter FaceBook Google+



السلام عليكم,

أعتذر بشدة عن التأخير, ما زال وقتى ضيق جدا ولكن كثيرا من الأخوة أرسل لى لاستكمال باقى الموضوع, سأضع الدائرة والفكرة الأساسية مع الكود , وإن شاء الله نشرح الكود مع كيفية تعديله لعمل أى ريموت كونترول أو ارسال بيانات بالأشعة تحت الحمراء.



كما ذكرت فى الموضوع السابق , مستقبل الأشعة تحت الحمراء متوافر بالسوق ويمكن استخدامه مباشرة

الدائرة توضح كيفية استخدام أكواد الأشعة تحت الحمراء واخراجها على PORTB بمعنى استقبال Byte واخراجه على PORTB

المرسل , هو الكود الذى وضحته فى الجزء الثانى وهو كود ريموت السونى وهذا طبعا كمثال, يمكنك تعديل المرسل والمستقبل بسهولة لعمل الأكواد الخاصة بك.

أيضا يمكن تجريب الريموت السونى مباشرة مع هذه الدائرة , فكل زر سيخرج رقم على البورت ومع IF Then بسيطة يمكنك تشغيل ريلاى أو عمل أى وظيفة.

الكود كما ذكرت كتب باستخدام PICBasic Pro وذلك لسهولة قياس عرض النبضة باستخدام أمر واحد, ولكن طبعا يمكن استخدام MikroC ولكن ستضطر لاستخدام Timers and Interrupts لقياس النبضة.

كود:
* DEVICE MCLR_OFF, INTRC_OSC, WDT_OFF, LVP_OFF, BOD_OFF, PWRT_ON, PROTECT_OFF
DEFINE PULSIN_MAX 3000  '// MAX wait time for pulsin
DEFINE NO_CLRWDT        '// Saves 17 words code space


'// For PIC16F62x & A versions
CMCON = 7           '// Comparators Off
VRCON = 0           '// Vref Off
TRISA.7 = 1         ' RA7 input
TRISB = 0           ' PORTB output

pulses VAR byte[13] 
i VAR byte 'loop index
pulse_width VAR byte
LeadIn VAR word 'start pulse
Dbyte VAR byte

PORTB=0
  i = 0

' Read Start Pulse
loop: PulsIn PORTA.7, 0, LeadIn
If LeadIn < 200 or LeadIn = 0 Then loop  ' if less than 2ms keep looking


PORTB = 0
' start pulse received

' process 7 bit data

data_loop:
Pulsin PORTA.7,0,pulse_width

' here we have a valid pulse
  
 pulses[i] = pulse_width 

 i = i+1 
 if (i<7) then data_loop 

Dbyte = $FF ' fill all with one's then fill zeros

For i = 0 To 6
  If pulses[i] < 100 Then Dbyte.0[i]=0   ' less than 1ms = 0
next i


PORTB = Dbyte
i=0
Dbyte = 0

Goto loop
إن شاء الله فى مشاركة قادمة, أضع مشروعا كاملا للريموت والمستقبل مع عدد من الريلاى كالدائرة التى تباع بمحلات الإلكترونيات التى تعمل على ريموت السونى.

أرحب بأى استفسارات

اعلانات

الصورة الرمزية Eng-Rayan
Eng-Rayan
:: عضو فضي ::
تاريخ التسجيل: Feb 2010
الدولة: تونس (بدرس بالأردن)
المشاركات: 455
نشاط [ Eng-Rayan ]
قوة السمعة:74
قديم 23-02-2010, 02:00 PM المشاركة 2   
افتراضي


مشكووور يا اخ حسام

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

الصورة الرمزية Eng-Rayan
Eng-Rayan
:: عضو فضي ::
تاريخ التسجيل: Feb 2010
الدولة: تونس (بدرس بالأردن)
المشاركات: 455
نشاط [ Eng-Rayan ]
قوة السمعة:74
قديم 23-02-2010, 02:26 PM المشاركة 3   
افتراضي


اخ حسام ممكن تفسير للكود و كيف عمل if then بالpicbasic لانني لا افهم فيل هذا البرنامج


hosam_eldin
:: مهندس متواجد ::
تاريخ التسجيل: Jun 2008
المشاركات: 185
نشاط [ hosam_eldin ]
قوة السمعة:0
قديم 23-02-2010, 03:47 PM المشاركة 4   
افتراضي


اخ حسام ممكن تفسير للكود و كيف عمل if then بالpicbasic لانني لا افهم فيل هذا البرنامج
Dear Eng Rayan

سأوضح الفكرة الأساسية لحين كتابة المشروع كاملا

أهم جزء بالبرنامج هو السطر
PORTB = DByte

أى أن المتغير Dbyte هو الذى يحمل الكود النهائى, وبمعرفة هذا الكود أو الرقم يمكنك كتابة جملة شرطية كما تريد

مثلا عند استخدام ريموت السونى سترى أن كود ON - OFF هو على ما أتذكر 21
وبالتالى لتفعيل ريلاى مثلا موصل على RB0 قم باستبدال هذا السطر بالحملة الشرطية الآتية

كود:
If Dbyte = 21 then
TOGGLE PORTB.0
endif
عند تنفيذ هذا الأمر, ستجد أن ضغطة على الزر ستقوم بفتح الريلاى وضغطة أخرى تغلقه

وهكذا تكرر هذا الأمر مع كل كود أو بمعنى آخر لكل زر

برنامج المرسل قد قمت بإرساله قبل ذلك من خلال موقعى على الرابط التالى:
http://www.electro-stuff.com/pic_ir_remote_2_ar.html

شكرا


الصورة الرمزية Eng-Rayan
Eng-Rayan
:: عضو فضي ::
تاريخ التسجيل: Feb 2010
الدولة: تونس (بدرس بالأردن)
المشاركات: 455
نشاط [ Eng-Rayan ]
قوة السمعة:74
قديم 23-02-2010, 04:12 PM المشاركة 5   
افتراضي


مشكور يا اخ حسام و لكن المشكلة اللي تواجهني هي انني اريد استعمال humax remote و هذا هو الكود بتاعو
http://lirc.sourceforge.net/remotes/humax/RS-101P


الصورة الرمزية Eng-Rayan
Eng-Rayan
:: عضو فضي ::
تاريخ التسجيل: Feb 2010
الدولة: تونس (بدرس بالأردن)
المشاركات: 455
نشاط [ Eng-Rayan ]
قوة السمعة:74
قديم 23-02-2010, 06:44 PM المشاركة 6   
افتراضي


استاذ حسام من فين حصلت على picbasic pro لم اجد الى الdemo
ممكن اذا لديك رابط تحميل


hosam_eldin
:: مهندس متواجد ::
تاريخ التسجيل: Jun 2008
المشاركات: 185
نشاط [ hosam_eldin ]
قوة السمعة:0
قديم 23-02-2010, 07:56 PM المشاركة 7   
افتراضي


لقد أنزلت البرنامج من هذا الرابط :

http://www.sonsivri.com/forum/index.php?topic=25291.0


الصورة الرمزية Eng-Rayan
Eng-Rayan
:: عضو فضي ::
تاريخ التسجيل: Feb 2010
الدولة: تونس (بدرس بالأردن)
المشاركات: 455
نشاط [ Eng-Rayan ]
قوة السمعة:74
قديم 23-02-2010, 08:21 PM المشاركة 8   
افتراضي





مشكور يا استاذ حسام

إضافة رد

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

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

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


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

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