‫راه اندازی ‪ RC5‬از طریق‬ ‫میکرو ‪AVR‬‬

‫راه اندازی ‪ RC5‬از طریق‬ ‫میکرو ‪AVR‬‬

‫گیرنده 605 ‪SFH‬‬

فرستنده و گیرنده های مادون قرمز که ما آنها را با نام تجاری 5‪ RC‬می شناسیم رواج بسیاری کرده اند . از آنها‬ ‫برای کنترل از راه دور، سنسورهای شمارنده و ربات ها و …. استفاده بسیار می شود .‬
‫این فرستنده ها به صورت زیر می باشند :‬
‫گیرنده 605 ‪ ) SFH‬فتو ترانزیستور )‬

فرستنده 584‪( IR ) SFH‬‬


فرستنده در واقع همانند یک ‪  led‬می باشد که رنگ آن سفید است ، نحوه اتصال فرستنده به میکرو مطابق‬ ‫شکل زیر است:‬

‫نکته:

ترانزیستور به کا رفته نقش تقویت پالس ها و دیگر قطعات وظیفه حذف نویز را بر عهده دارند .‬

‫در مورد گیرنده نیز باید بگم که گیرنده ای که ما اینجا استفاده و معرفی کردیم یک گیرنده 3 پایه است به نام‬
‫605 ‪ ) SFH‬نوع 2 پایه این سنسور نیز وجود دارد که به گیرنده مادون قرمز معروف است ، در ضمن اتصال‬
‫نوع دو پایه آن بدون ‪ VCC‬صورت می گیرد از این نوع بیشتر در تشخیص مانع استفاده می شود ) که نحوه‬
‫اتصال آن به مدار مطابق شکل زیر است :‬

‫بعد از ساختار و نحوه اتصال فرستنده و گیرنده به میکرو به ژیکره بندی و درایو کردن آنها از طریق برنامه‬ ‫نویسی ‪ Bascom‬می پردازیم .‬

‫راه اندازی فرستنده‬

‫ابتدا فرستنده مادون قرمز با دستور زیر راه اندازی می شود :‬
‫‪RC5SEND togglebit , address , command
‬‬
‫‪ : Togglebit‬به جای این واژه مقدار عددی 0 یا 23 را باید قرار داد . این اعداد نشان دهنده سطح شروع‬ ‫ارسال پالس می باشند .‬
‫‪ : Adress‬نشان دهنده آدرس دستور است که می تواند به فرم باینری ، هگز یا دسیمال باشد .‬ ‫

نکته:

در فرستنده و گیرنده باید آدرس فرستاده شده و گرفته شده یکی باشد تا دستور اجرا شود .‬

‫‪ : Command‬نشان دهنده فرمان است که می تواند به فرم باینری ، هگز یا دسیمال باشد .‬ 
‫(بر فرض 21 , 02 ,0 ‪ RC5SEND‬یعنی اگر دستور 21 و آدرس 02 بود پین 0.‪ b‬را یک کن )

‬نکته:

وقتی که فرستنده پیکر بندی می شود پایه )‪ OC1(A‬به عنوان خروجی داده قرار می گیرد و‬ ‫فرستنده باید به این پایه متصل شود ، در این حالت دیگر نمی توان از وقفه های تایمر 1 استفاده کرد .‬

‫مثال یک فرستنده :‬

‫”‪$regfile = “m16def.dat‬‬
‫0000004 = ‪$crystal‬‬
‫‪Config Portd = Input‬‬
‫‪Do‬‬
‫‪Debounce Pind.0 , 0 , Q‬‬
‫‪Debounce Pind.1 , 0 , W‬‬
‫‪Loop‬‬
‫:‪Q‬‬
‫11 , 0 , 23 ‪Rc5send‬‬
‫1 ‪Wait‬‬
‫‪Return‬‬
‫:‪W‬‬
‫21 , 0 , 23 ‪Rc5send‬‬
‫1 ‪Wait‬‬
‫‪Return‬‬
‫‪End‬‬‫در حالت قبل کدهای فرستنده بدون هیچ تغییری به خروجی ارسال می شود ، حالتی وجود دارد که می توان‬ ‫کد ارسالی را با یک کد باینری ترکیب کنید )به صورت رمز( لذا برای این کار از دستور زیر استفاده می شود :‬
‫‪RC5SENDEXT togglebit , address , command‬‬
‫ همه چیز مانند حالت قبل است فقط به جای‬‫ Togglebit می توان هر عددی که دلتان بخواهد قرار دهید تا‬‫با دستور ترکیب‬ ‫شده و ارسال شود‬.

مثال‬

$”regfile = “m16def.dat
$crystal = 4000000
Config Portd = Input
Do
Debounce Pind.0 , 0 , Q
Debounce Pind.1 , 0 , W
Loop
Q:
Rc5sendext &B11000000 , 0 , 26
Wait 1
Return
W:
Rc5sendext 9 , 0 , 30
Wait 1
Return
End‫ راه اندازی گیرنده‬

‫گیرنده 5‪ RC‬که آن را در بالا دید به چه صورت اتصال دادیم به صورت زیر پیکربندی می کنیم :‬
‫‪CONFIG RC5 = pin‬‬
‫که در آن ‪  pin‬پایه دلخواه میکرو است و پایه خروجی 5‪ RC‬به آن متصل می شود .
‬ ‫با دستور زیر می توان اطلاعات را از فرستنده در یافت کرد و توسط گیرنده آشکار نمود :‬
‫( ‪GETRC5( address , command‬‬
‫‪  Address‬و ‪  Command‬اطلاعات مربوط به دستور و آدرسی است که توسط فرستنده ارسال شده وتوسط‬ ‫گیرنده دریافت می شود . این اطلاعات باید در متغیر های مناسب ریخته شوند و مورد استفاده قرار گیرند ،‬
‫متغیر می تواند از جنس ‪  Byte‬یا ‪  Word‬باشد .‬

مثال

‫”‪$regfile = “m16def.dat‬‬
‫4000000 = ‪$crystal‬‬
‫‪Config Portd = Output‬‬
‫7.‪Config Rc5 = Pind‬‬
‫‪Enable Interrupts‬‬
‫‪Dim Address As Byte , Command As Byte‬‬
‫‪Do‬‬
‫(‪Getrc5 (address , Command‬‬
‫‪If Command = 12 Then‬‬
‫0.‪Set Portd‬‬
Reset Portd.1
End If
If Command = 13 Then
Set Portd.1
Reset Portd.0
End If
Loop
End

مقالات مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Fill out this field
Fill out this field
لطفاً یک نشانی ایمیل معتبر بنویسید.
You need to agree with the terms to proceed

پر بازدید ترین مقالات