ارسال پاسخ 
 
امتیاز موضوع:
  • 3 رأی - میانگین امیتازات : 4.67
  • 1
  • 2
  • 3
  • 4
  • 5
ریموت کنترل مادون قرمز و ارتباط با AVR
نویسنده پیام
t3r!p3000 آفلاین
         
*****

ارسال ها: 5,208
تاریخ عضویت: ارديبهشت ۱۳۸۵

تشکرها : 34444
( 17172 تشکر در 5272 ارسال )
ارسال: #1
ریموت کنترل مادون قرمز و ارتباط با AVR
[تصویر: 12.jpg] INFRARED REMOTE CONTROL

با توجه به فراگیر شدن ریموت های مادون قرمز به بررسی استانداردهای موجود پرداخته و به ارسال استاندارهای معروف و دریافت اطلاعات از ریموت های رایج بازار می پردازیم .

در حال حاضر سراغ برندهای زیر رفته و به زودی به سراغ بقیه ریموتهای رایج می پردازیم :
JVC - SONY - PHILIPS

ادامه مطلب


فایل (های) پیوست شده بندانگشتی (ها)
   
(آخرین ویرایش در این ارسال: ۱۴-دي-۱۳۹۱ ۱۰:۰۵:۳۱، توسط babyy.)
۲۳-مهر-۱۳۸۹ ۰۱:۵۶:۴۹
یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
تشکر شده توسط : ECM-tank, reza555, salehjg, رسول, WhiteNoise, ^_^, rozoracle, Masood-PC, saeidhp, amk110, hohohoho, voyager2020, aliavr1, helma
t3r!p3000 آفلاین
         
*****

ارسال ها: 5,208
تاریخ عضویت: ارديبهشت ۱۳۸۵

تشکرها : 34444
( 17172 تشکر در 5272 ارسال )
ارسال: #2
RC5

واسه آشنایی با اشعه مادون قرمز لینک های زیر رو یه نگاهی بندازین :
از دانشنامه رشد
از دانشنامه ویکی پدیا


ارسال و دریافت اطلاعات به روش مادون قرمز روش ها و پروتکل های زیادی داره !!
پس رو مهم هاش بحث می کنیم !!!


RC5



مهمترین پروتکل ارسال و دریافت مادون قرمز , استاندارد RC5 می باشد !!

فرم ارسال اطلاعات در این روش به صورت زیر است که بر روی یه موج حامل 38 کیلوهرتزی سوار می شود :

[تصویر: 1.PNG]


14 بيت اطلاعات ارسال مي شود که 2 بیت اول آن مشخص کننده RC5 و بیت سوم پریتی و 5 بيت بعدي آدرس و 6 بیت بعدی عملکرد را نشان ميدهد .

جهت اطلاعات بیشتر دو لینک زیر را ببینید :

http://users.telenet.be/davshomepage/rc5.htm
http://wiki.altium.com/display/ADOH/Phil...n+Protocol

برای نمونه تمام ریموت کنترل های برند PHILIPS از استاندارد فوق استفاده می کنند !!

در اين استاندارد هر دستگاه و وسيلي اي که از اين استاندارد استفاده مي کند داراي شماره آدرسي بین 0 تا 31 مي باشد که چند نمونه بصورت زير است :

[تصویر: 2.PNG]


عملکرد در دستگاه هاي چند رسانه اي بدين صورت است !

[تصویر: 3.PNG]


به راحتی می توانیم با یه دیود گیرنده مادون قرمز اطلاعات ارسالی را اشکار کنیم !!
ولی چون سینگال دریافتی ضعیف بوده ابتدا باید تقویت شده و گفتیم سینگال ارسالی RC5 رو یه موج 38 کلیوهرتزی سوار هستش پس باید پس از تقویت اونو دموله کنیم !!
یعنی فرکاس 38 کیلوهرتزی که اطلاعاتمون رو اون سوار شده رو جدا کنیم !!
معمولا اینکار به فیلتر دقیقی نیاز دارد و لی خوشبختانه آی سی های زیادی در بازار موجود هستن که دریافت , تقویت و دموله را خودشون انجام می دن و خیلی راحت می تونیم سیگنال RC5 ارسالی رو دریافت کنیم !

تقریبا تمام آی سی های فوق سه پایه بوده و مجهز به نور خورشید هم می باشند !

تفاوت هاشون هم در فرکانس کریر و حساسیتشون هستش !!!

از مهترین ای سی ها تو این زمینه می توان TSOP1738 را معرفی کرد که در همه جا به راحتی پیدا میشه !!
دو رقم آخر فرکانس کارش رو نشون می دهد ( 38 کیلوهرتز )

و پایه هاش به صوت زیر هستش :

[تصویر: 4.jpg]


و واسه اتصال به میکرو هم هیچ قطعه جانبی نیاز نداره ولی به دلیل حساسیت بالاش بهتره یه فیلتر پایین گذر در مسیر تغذیه اش بذاریم :

[تصویر: 5.PNG]


نکته :
خروجی آی سی فوق در حالت معمول یک بوده و موقع دریافت اطلاعات صفر میشود !!
یعنی انگار خروجیش NOT شده !!!


خوشبختانه BASCOM AVR دستورات و توابع لازم برای دریافت و ارسال اطلاعات به روش مادون قرمز و با پروتکل RC5 رو داراست که در پست های بعدی به آن می پردازیم !!!


اگه عکس ها باز نمیشه تو پیوست دریافتشون کنین :
.rar  IR1.rar (اندازه: 54.27 KB / تعداد دفعات دانلود: 1031)


فایل (های) پیوست شده بندانگشتی (ها)
   
(آخرین ویرایش در این ارسال: ۱۴-دي-۱۳۹۱ ۱۰:۱۰:۳۱، توسط babyy.)
۲۳-مهر-۱۳۸۹ ۰۲:۵۳:۱۱
یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
تشکر شده توسط : reza555, salehjg, رسول, ^_^, parsadsa, pesar_33, aliavr1, helma
t3r!p3000 آفلاین
         
*****

ارسال ها: 5,208
تاریخ عضویت: ارديبهشت ۱۳۸۵

تشکرها : 34444
( 17172 تشکر در 5272 ارسال )
ارسال: #3
RC5


راه اندازي گيرنده RC5 در بسکام



گيرنده rc5 که شکل وطريقه اتصال آن به ميکرو را در بالا مشاهده کرديد با دستور زير راه اندازي مي شود:

کد PHP:
CONFIG RC5 pin 

که pin نام پايه دلخواه ميکرو ميباشد که پايه خروجي گيرنده سه پايه rc5 به آن متصل مي شود.

با دستور زير ميتوان اطلاعات دريافتي توسط گيرنده rc5 را اشکار کرد:

کد PHP:
GETRC5 (address,command

Address و command اطلاعات مربوط به دستور و آدرسي مي باشند که توسط فرستنده ارسال شده و توسط گيرند دريافت مي شود .

اين اطلاعات بايد در متغيير هاي مناسب ريخته شوند و مورد استفاده قرار گيرند ، متغيير ميتواند از جنس bayt يا word باشد .

مثال :

کد PHP:
$regfile "2313def.dat"
$crystal 4000000
Config Portd 
Output
Config Rc5 
Pind.7
Enable Interrupts
Dim Address 
As Byte Command As Byte
Do
Getrc5(address Command)
If 
Command 12 Then
Set Portd.0
Reset Portd.1
End 
If
If 
Command 13 Then
Set Portd.1
Reset Portd.0
End 
If
Loop
End 
(آخرین ویرایش در این ارسال: ۲۳-مهر-۱۳۸۹ ۰۴:۰۹:۵۸، توسط t3r!p3000.)
۲۳-مهر-۱۳۸۹ ۰۳:۰۰:۳۲
یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
تشکر شده توسط : reza555, salehjg, رسول, ^_^, masojena, sinastar, parsadsa, kawusi, aliavr1, helma, adeladel
t3r!p3000 آفلاین
         
*****

ارسال ها: 5,208
تاریخ عضویت: ارديبهشت ۱۳۸۵

تشکرها : 34444
( 17172 تشکر در 5272 ارسال )
ارسال: #4
RC5


فرستنده RC5 در بسکام



اتصال فرستنده به ميکرو مانند شکل زير است :

[تصویر: 6.PNG]


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

در ابتدا به پيکر بندي فرستنده ميپردازيم:

فرستنده مادون قرمز با دستور زير راه اندازي مي شود:

کد PHP:
RC5SEND togglebitaddresscommand 

Togglebit : به جاي اين واژه شما بايد 0 يا 32 قرار دهيد ، اين اعداد نشان دهنده سطح شروع ارسال پالس ميباشند.

Address : نشان دهنده آدرس دستور است که ميتواند به فرم باينري هگز يا دسيمال باشد .(در گيرنده و فرستنده بايد آدرس دستور فرستاده شده و دستور گرفته شده يکي باشد ، تا دستور اجرا شود)

Command : نشان دهنده فرمان است که ميتواند به فرم باينري ، هگز يا دسيمال باشد. (مثلا شما در گيرنده دستور زير را ارسال مي کنيد .

کد PHP:
Rc5send 0 20 12 

در گيرنده با دستوراتي که گفته شد ، اين کد را دريافت ميکنيد ، سپس با يک دستور if ميتوانيد هر کاري که خواستيد انجام دهيد .

اگر دستور 12 و آدرس 20 بود پين b.0 را يک کن ) وقتي rc 5 پيکر بندي مي شود ، پايه OC1A به عنوان خروجي داده قرار ميگيرد و فرستنده بايد به اين پايه متصل شود .

در هنگام استفاده از دستور RC5SEND ديگر نميتوان از تايمر 1 استفاده کرد. ( چون این دستور با تایمر یک زمان بندی ها و تولید فرکانس 38 کیلو و ... را انجام می دهد )

در مثال زير با نحوه کار اين فرستنده بيشتر آشنا ميشويد:

کد PHP:
$regfile "2313def.dat"
$crystal 4000000
Config Portd 
Input
Do
Debounce Pind.0 Q
Debounce Pind.1 
W
Loop
Q
:
Rc5send 32 12
Wait 1
Return
W:
Rc5send 32 13
Wait 1
Return
End 

در حالت قبل کد ها نوشته شده بدون هيچ تغييري به خروجي ارسال ميشد ، حالتي وجود دارد که شما ميتوانيد کد ارسالي را با يک کد باينري ترکيب کنيد ( کد را به صورت رمز در اوريد)

براي اين کار از دستور زير استفاده مي شود:

کد PHP:
RC5SENDEXT togglebitaddresscommand 

همه چيز مانند حالت قبل است فقط به جاي togglebit ميتوانيد هر عددي که دلتان ميخواهد قرار دهيد تا با دستور ترکيب شده و ارسال شود (در گيرنده بايد عدد گذاشته شده را برداريد).

مانند:

کد PHP:
$regfile "2313def.dat"
$crystal 4000000
Config Portd 
Input
Do
Debounce Pind.0 Q
Debounce Pind.1 
W
Loop
Q
:
Rc5sendext &B11000000 26
Wait 1
Return
W:
Rc5sendext 9 30
Wait 1
Return
End 

اگه عکس ها باز نمیشه تو پیوست دریافتشون کنین :
.rar  ir2.rar (اندازه: 3.59 KB / تعداد دفعات دانلود: 277)


فایل (های) پیوست شده بندانگشتی (ها)
   
(آخرین ویرایش در این ارسال: ۱۴-دي-۱۳۹۱ ۱۰:۲۷:۳۱، توسط babyy.)
۲۳-مهر-۱۳۸۹ ۰۳:۱۵:۳۰
یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
تشکر شده توسط : reza555, salehjg, رسول, ^_^, aliavr1, helma
t3r!p3000 آفلاین
         
*****

ارسال ها: 5,208
تاریخ عضویت: ارديبهشت ۱۳۸۵

تشکرها : 34444
( 17172 تشکر در 5272 ارسال )
ارسال: #5
RC6

فرستنده RC6 در بسکام



شاید RC5 استاندارد معروفی باشه ولی در حال حاضر در بیشتر دستگاه های صوتی و تصویری جدید از استاندارد RC6 استفاده میشود !

فرم کلی همچون RC5 بوده و شماره دستگاه و شماره عملکردهایی که در جداولی ارائه شد در این استاندارد هم صادق است !!!

تمامي جزييات مانند RC5 است ،فقط نحوه ارسال فرق دارد .

با دستور زير ميتوان ديتا را توسط اين رابط به گيرنده ارسال کرد:

کد PHP:
RC6SEND togglebitaddresscommand 

Togglebit : نشان دهنده وضعيت پايه بعد از ارسال دستور است که ميتواند صفر يا يک باشد .

Address : اين مورد ميتواند يکي از موارد جدول زير باشد:

[تصویر: 2.PNG]


Command : اين گزينه مشخص کننده دستور ارسالي است (دستور مورد نظر به جاي اين کلمه نوشته مي شود) دستورات مخصوص هر کنترل را ميتوانيد از سايت سازنده درياف کنيد.

مثال:

کد PHP:
$regfile "m8def.dat"
$crystal 4000000
Config Kbd 
Portd
Dim A 
As Byte
Dim B 
As Byte
Q
:
Getkbd()
If 
15 Then
Goto Q
End 
If
Lookup(Dat)
Rc6send 0 ,B
Goto Q
End
Dat
:
Data 30 31 16 17 61 12 0
'program +,program -,volume +,volume -,power,sound on/off,1,2,3,4,5,6,7,8,9,0 


در زير کد هاي مخصوص نوعي VCR (ويدو سيدي راديو دار) که در HELP بسکام موجود بود را مشاهده مي فرماييد :

[تصویر: 3.PNG]
(آخرین ویرایش در این ارسال: ۲۳-مهر-۱۳۸۹ ۰۴:۰۸:۰۰، توسط t3r!p3000.)
۲۳-مهر-۱۳۸۹ ۰۳:۴۳:۲۱
یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
تشکر شده توسط : reza555, salehjg, رسول, ^_^, makintajh, aliavr1, helma, adeladel
t3r!p3000 آفلاین
         
*****

ارسال ها: 5,208
تاریخ عضویت: ارديبهشت ۱۳۸۵

تشکرها : 34444
( 17172 تشکر در 5272 ارسال )
ارسال: #6
SONY

ساخت کنترل SONY



دو پروتکل یاد شده از مهمترین پورتکل ها می باشند ولی اکثر شرکت های بزرگ از پروتکل اختصاصی خودشون استفاده می کنند !!

و برند سونی در کنترل وسایل خود از پروتکل زیر استفاده می کند :

[تصویر: 7.png]


در این پروتکل فرکانس کریر 40 کیلو هرتز میباشد !!

توضیحات بیشتر را در دو سایت زیر ببینید :

http://users.telenet.be/davshomepage/sony.htm
http://www.kucher.org/projects/tvcontrol


توسط دستور زير ميتوان دستورات مخصوص کنترل تلوزيون و cd سوني را به اين دستگاه ارسال کرد.

کد PHP:
SONYSEND address 

address : آدرس نام دستور است که با ارسال آن به تلوزيون کار مخصوص آن انجام مي شود .

در جدول زیر جدول کدهاي مخصوص تلوزيون هاي sony امده است :

[تصویر: 8.PNG]

مثال

کد PHP:
$regfile "m8def.dat"
$crystal 4000000
Config Kbd 
Portd
Dim A 
As Byte
Dim B 
As Byte
Q
:
Getkbd()
If 
15 Then
Goto Q
End 
If
Lookup(Dat)
Sonysend B
Goto Q
End
Dat
:
Data &H090 , &H890 , &H490 , &HC90 , &HA90 , &H290 , &H010 , &H810 , &H410 , &HC10 , &H210 , &HA10 , &H610 , &HE10 , &H110 , &H910
'program +,program -,volume +,volume -,power,sound on/off,1,2,3,4,5,6,7,8,9,0 

در برنامه بالا با استفاده از ميکرو مگا 8 و فرستنده rc5 يک کنترل مخصوص تلوزيون سوني ساخته شده است.

فرستنده rc5 مطابق مداري که در بالا معرفي شد به پايه oc1a ميکرو (پايه 15 ) متصل مي شود شما ميتوانيد از ميکرو مگاهشت L استفاده کنيد و اين مدار را با 3 ولت راه اندازي کنيد

کد مربوط به ديگر دستگاهاي شرکت SONY را ميتوانيد از آدرس زير بدست اوريد :
http://www.fet.uni-hannover.de/purnhage


اگه عکس ها باز نمیشه تو پیوست دریافتشون کنین :
.rar  IR3.rar (اندازه: 29.33 KB / تعداد دفعات دانلود: 265)
(آخرین ویرایش در این ارسال: ۲۴-مهر-۱۳۸۹ ۰۲:۲۰:۲۴، توسط t3r!p3000.)
۲۳-مهر-۱۳۸۹ ۰۴:۰۵:۲۴
یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
تشکر شده توسط : reza555, salehjg, رسول, ^_^, makintajh, aliavr1, helma
t3r!p3000 آفلاین
         
*****

ارسال ها: 5,208
تاریخ عضویت: ارديبهشت ۱۳۸۵

تشکرها : 34444
( 17172 تشکر در 5272 ارسال )
ارسال: #7
JVC

معمولا ما در اکثر مدارهامون نیاز به ریموت کنترل داریم !!

حداقل با ریموت کنترل مدارهامون با کلاس تر میشه !!!

با دستورات گفته شده خیلی راحت می تونیم یه ریموت کنترل درست کنیم ولی با توجه به گیرون شدن میکرو و همین طور از نظر زیبایی و قاب و اندازه شاید بهتره باشه که یه ریموت بازاری بخریم و دیتای اون رو بخونیم !!!

در این میان , من دو ریموت برند JVC به دلیل خوش دست بودن و داشتن کلید های مناسب و قیمت معقول رو انتخاب کردم !!

[تصویر: 10.jpeg]

[تصویر: 9.jpg]


JVC نیز از جمله شرکت هایی هستش که از پروتکل اختصاصی خودش استفاده می کنه که به فرم زیر است :

[تصویر: 11.gif]


توضیحات بیشتر :

http://users.telenet.be/davshomepage/jvc.htm
http://www.sbprojects.com/knowledge/ir/jvc.htm


متاسفانه بسکام توابع و دستورات لازم برای خواندن پروتکل فوق رو نداره و باید خودمون دست به کار بشیم !

در پست بعدی به این قضیه پرداخته تا اگه خواستیم از کنترل یه شرکت دیگه هم استفاده کنیم روال کار دستمون باشه و راحت بتونیم دیتاش رو دستی بخونیم !!!


اگه عکس ها باز نمیشه تو پیوست دریافتشون کنین :
.rar  IR4.rar (اندازه: 114.9 KB / تعداد دفعات دانلود: 419)
(آخرین ویرایش در این ارسال: ۲۳-مهر-۱۳۸۹ ۱۴:۳۵:۳۵، توسط t3r!p3000.)
۲۳-مهر-۱۳۸۹ ۰۴:۵۰:۰۲
یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
تشکر شده توسط : reza555, salehjg, رسول, ^_^, makintajh, parsadsa, kawusi, aliavr1, helma
t3r!p3000 آفلاین
         
*****

ارسال ها: 5,208
تاریخ عضویت: ارديبهشت ۱۳۸۵

تشکرها : 34444
( 17172 تشکر در 5272 ارسال )
ارسال: #8
JVC

در این پروتکل 18 بایت ارسال میشود و فاصله برای هر تکرار 60 میلی ثانیه می باشید !
پس واسه شروع برنامه ای می نویسیم که 18 بایت را دریافت کند !!

چون حداقل زمان در ارسال 100 میکرو ثانیه است پس باید مدت زمان طول هر پالس رو بشماریم !!!
از تاخیر 95 میلی ثانیه ای استفاده می کنیم که با تاخیر دستورات شرط و حلقه این زمان به 100 میکرو ثانیه نزدیک شود .

توجه داشتین باشین این گونه برنامه ها به فرکانس کار میکرو حساس بوده و بهتره در طول مراحل از یه فرکانس ثابت و ترجیحا بالا استفاده کنید !

من از 8 مگاهرتز داخلی استفاده کردم !

اگه یادتون باشه گفتم که خروجی گیرنده های مادون قرمز برعکس هستش !
پس حواستون باشه و هر موقع گیرنده صفر شد بدونین دیتایی ارسال شده !


برنامه زیر چنین هدفی رو محقق می کند :

کد PHP:
$regfile "m128def.dat" $crystal 8000000 Baud 9600

Dim B 
As Byte W(36) As Word
Print "WWW.IRANLED.COM"

Do

 
Wait 1 : Print "ANT"
 
1

 Bitwait Pinb.0 
Reset

 
Do
 Do
 
Incr W(b) : Waitus 95
 Loop Until Pinb.0 
1
 Incr B
 
Do
 
Incr W(b) : Waitus 95
 Loop Until Pinb.0 
0
 Incr B
 Loop Until B 
36

 
For 1 To 36
 
Print "= " W(b)
 
W(b) = 0
 Next

 Wait 2

Loop 

برنامه اونقدری ساده هستش که نیازی به توضیح نداره !!

از هر گیرنده سه پایه مادون قرمز رایج بازار می تونید استفاده کنید !
فقط کافیه خروجی اون رو به PINB.0 وصل کنین !!


با فشار یکی از کلید های ریموت ( من کلید خاموش و روشن رو فشار دادم ) دیتای زیر دریافت میشود :

کد:
WWW.IRANLED.COM
ANT
1= 88
2= 42
3= 7
4= 15
5= 6
6= 16
7= 6
8= 15
9= 7
10= 15
11= 6
12= 5
13= 6
14= 5
15= 6
16= 5
17= 6
18= 15
19= 7
20= 4
21= 6
22= 16
23= 6
24= 16
25= 6
26= 15
27= 6
28= 5
29= 6
30= 5
31= 6
32= 5
33= 6
34= 15
35= 7
36= 197

مشاهده می کنین که زمان ها خیلی شبیه پروتکل موجود هستش :

[تصویر: 14.jpg]


حال ما زمان هر پالس رو داریم !
خیلی راحت با تست زمان پالس ها می تونیم آدرس و عملکرد رو بخونیم !!

زمان اول و دوم رو که بیت های شروع هستن و همیشه زمان ثابت دارن !!
زمان اول بین 8.4 میلی ثانیه تا 9.6 میلی ثانیه و زمان دوم بین 4 تا 4.6 میلی ثانیه میباشد !!

دقت کرده باشین متوجه میشین زمان های فرد بین 3 تا 35 دارای مدت زمان ثابت بین 500 میکرو ثانیه تا 800 میکرو ثانیه می باشند !! ( میانگین 600 میکروثانیه )

پس زمان های فوق را باید بسنجیم و در صورت برابر بودن با مقادیر می تونیم بفهمیم دیتا درست ارسال و دریافت شده !!!

حال که می دونیم دیتا درست دریافت شده و فرستنده هم یه ریموت برند JVC هستش با تست زمان های زوج بین 4 تا 34 آدرس و عملکرد را جدا می کنیم !!

این زمان مشخصه که بین 1.4 میلی ثانیه تا 1.8 میلی ثانیه هستش !!!

برنامه زیر رو ببینید :

کد PHP:
$regfile "m128def.dat" $crystal 8000000 $baud 9600

Dim B 
As Byte W(35) As Word As Byte As Byte As Byte

T1min Alias 84 
T1max Alias 96
T2min Alias 40 
T2max Alias 46
T3min Alias 5 
T3max Alias 8
T4min Alias 12 
T4max Alias 18

Star
:

 Print 
"WWW.IRANLED.COM"

Do

 
Wait 1 : Print "ANT"

 
1

 Bitwait Pinb.0 
Reset

 
Do
 Do
 
Incr W(b) : Waitus 95
 Loop Until Pinb.0 
1
 Incr B
 
Do
 
Incr W(b) : Waitus 95
 Loop Until Pinb.0 
0
 Incr B
 Loop Until B 
35

 
If W(1) > T1min And W(1) < T1max And W(2) > T2min And W(2) < T2max Then :
 For 
3 To 35 Step 2
 
If W(b) <= T3min Or W(b) >= T3max Then Goto Star
 Next
 D 
0
 
For 0 To 7
 
If W(d) >= T4min And W(d) =< T4max Then Set A.b
 D 
2
 Next
 D 
20 0
 
For 0 To 7
 
If W(d) >= T4min And W(d) =< T4max Then Set C.b
 D 
2
 Next
 
Else : Goto Star
 End 
If

 For 
1 To 35
 
Print "= " W(b)
 
W(b) = 0
 Next

 
Print " " : Print "A=" : Print "C=" Wait 1

Loop 

زمان های گفته شده رو خیلی راحت در اول برنامه می توان مقدار دهی کرد !!

با فشار یکی از کلیدهای ریموت دیتای زیر دریافت میشود :

کد:
WWW.IRANLED.COM
ANT
1= 88
2= 42
3= 7
4= 15
5= 6
6= 16
7= 6
8= 15
9= 7
10= 15
11= 6
12= 5
13= 6
14= 4
15= 7
16= 4
17= 7
18= 15
19= 6
20= 5
21= 6
22= 15
23= 7
24= 15
25= 6
26= 16
27= 6
28= 5
29= 6
30= 5
31= 6
32= 4
33= 7
34= 15
35= 6

A=143
C=142

با مشاهده به دو خط آخر میبینم آدرس کد 143 و عمکرد کد 142 را داراست !!!

با کمی حوصله می توان کد همه کلید های ریموتمون رو به دست بیاریم !!

در ریموت زیر کدهای به دست آمده به شرح زیر است :

[تصویر: 9.jpg]


کلید ATT
کد:
A=143
C=142

کلید SOUND
کد:
A=143
C=141

کلید D
کد:
A=143
C=149

کلید U
کد:
A=143
C=148

کلید R
کد:
A=143
C=147

کلید F
کد:
A=143
C=146

کلید SOURCE
کد:
A=143
C=136

کلید VOL+
کد:
A=143
C=132

کلید VOL-
کد:
A=143
C=133
با یه بررسی ساده میبینم آدرس ریموت فوق 143 میباشد !
کد عملکرد هم که واسه هر کلید مشخصه !!!

حالا ما آدرس و عملکرد رو داریم و می تونیم باهاش هر کاری دوست داشتیم بکنیم !!

البته بهتره که دست نگه دارین !!

فکر نکنین دیگه کار تموم شده !
خیلی قضایا و مسائل هستش که رعایتشون نکردیم که در پست بعدی بهش می پردازیم !!!


اگه عکس ها باز نمیشه تو پیوست دریافتشون کنین :
.rar  IR5.rar (اندازه: 36.83 KB / تعداد دفعات دانلود: 282)
(آخرین ویرایش در این ارسال: ۳۰-مهر-۱۳۸۹ ۰۰:۳۵:۳۷، توسط t3r!p3000.)
۲۵-مهر-۱۳۸۹ ۰۳:۲۷:۵۰
یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
تشکر شده توسط : joker, reza555, رسول, salehjg, ^_^, makintajh, aliavr1, HamidSay, helma
^_^ آفلاین
تازه وارد

ارسال ها: 4
تاریخ عضویت: آذر ۱۳۸۹

تشکرها : 20
( 5 تشکر در 4 ارسال )
ارسال: #9
RE: ریموت کنترل مادون قرمز و ارتباط با AVR
کیست مرا یاری کند؟

من اون کنترل JVC رو که آدرس و کداش رو پیدا کردین رو تهیه کردم و این برنامه رو برای یه گیرنده نوشتم :
کد PHP:
$regfile "m16def.dat"
$crystal 8000000
Config Portd 
Output
Config Rc5 
Pind.7
Enable Interrupts
Dim Address 
As Byte Command As Byte
Do
Getrc5(address Command)
If 
Command 136 Then
Set Portd.0
End 
If
If 
Command 142 Then
Reset Portd.0
End 
If
Loop
End 
ولی جواب نداد Sad
حالا من یه سوال دارم چون احتمالا اون کنترل از پروتکل RC5 یا RC6 پشتیبانی نمیکنه استفاده از دستوری مثل Getrc5 توی برنامه صحیح هست یا نه ؟
کارتون جالبه ، کاش ادامه میدادید
۲۴-آذر-۱۳۸۹ ۰۲:۳۸:۰۳
یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
تشکر شده توسط : aliavr1
WhiteNoise آفلاین
مدیر بازنشسته
*****

ارسال ها: 986
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 8082
( 7730 تشکر در 3078 ارسال )
ارسال: #10
RE: ریموت کنترل مادون قرمز و ارتباط با AVR
اولن که خوش اومدی به ایرانویج
دوما که باید بگم نویسنده این تاپیک رفته سربازی
و نمیتونیم از ایشون استفاده کنیم
ثالثا که جواب نمیده یعنی چی؟
تو بسکام ارور میده؟
یا دستگاه کار نمیکنه؟
یکم اطلاعات بیشتر میدین؟
از سخت افزار مطمئنین؟
اصولا پروتکل jvcخوب یکیه دیگه
نمیشه که برا هر کنترل یه جور باشه
۲۴-آذر-۱۳۸۹ ۱۸:۳۶:۴۲
یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
تشکر شده توسط : ^_^, aliavr1
^_^ آفلاین
تازه وارد

ارسال ها: 4
تاریخ عضویت: آذر ۱۳۸۹

تشکرها : 20
( 5 تشکر در 4 ارسال )
ارسال: #11
RE: ریموت کنترل مادون قرمز و ارتباط با AVR
خیلی ممنون که جواب دادین
ایشالا زود خدمتش تموم بشه
توی بیسکام که کامپایل میشه ، من روی برد برد بستمش ولی وقتی دکمه های att و source رو میزنم خروجی نمیده(led متصل به پین d0 خاموش روشن نمیشه)، یه لحطه پیش خودم فکر کردم چون rc5 rc6 استاندارد فرستنده و گیرنده های سونی و اکثر دستگاه های جدید چینی هستن شاید با دستور getrc5 کد درست دریافت نشه
هدفم اینه که اول از درست بودن برنامه نوشته شده مطمئن بشم ، تا اگه فلسفه برنامه! درست نبود بیخودی سراغ پیدا کردن عیب توی سخت افزار نباشم
خوب برای روشن تر شدن بذار یه سوال هم بپرسم!:
اگه من آدرس و کامند یه کنترل رو داشته باشم مثلا پاناسونیک با دستور getrc5 میتونم از اون ریموت کنترل استفاده کنم یا دستور getrc5 برای دریافت از یه سری ریموت کنترل خاصه؟
(آخرین ویرایش در این ارسال: ۲۴-آذر-۱۳۸۹ ۲۲:۰۲:۰۰، توسط ^_^.)
۲۴-آذر-۱۳۸۹ ۲۱:۵۵:۵۰
یافتن تمامی ارسال های این کاربر
نقل قول این ارسال در یک پاسخ
تشکر شده توسط : parsadsa, aliavr1
ارسال پاسخ 


موضوع های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
Cool [پروژه] پروژه ریموت کنترل کد لرنینگ Nimaaryamehr 14 4,256 ۲۵-آبان-۱۳۹۳ ۱۴:۵۰:۱۴
آخرین ارسال: a.mehran
  شبیه ساز کنترل TV,Camera,mp3 Player و ... . ha_60 23 5,779 ۷-مرداد-۱۳۹۳ ۱۲:۳۰:۳۷
آخرین ارسال: rezaa
  [مقاله] نوشتن در LCD با ارتباط سریال behzady 3 2,235 ۲۹-تير-۱۳۹۳ ۲۰:۱۹:۱۰
آخرین ارسال: salehjg
  ارتباط AVR بلوتوث علي برقي 22 8,017 ۱۱-ارديبهشت-۱۳۹۳ ۰۹:۳۹:۱۷
آخرین ارسال: student-p
  ارتباط میکرو با درگاه USB بدون نیاز به وابسته h0x00i 15 10,762 ۳۰-فروردين-۱۳۹۳ ۰۰:۱۷:۴۳
آخرین ارسال: avrpicarm
  [مقاله] avr oscilloscope h0x00i 3 2,055 ۱۶-بهمن-۱۳۹۲ ۲۰:۵۳:۳۴
آخرین ارسال: ترانسپورتر
  سنسور مادن قرمز بدون حساسيت به نور محيط ha_60 26 10,860 ۲۴-تير-۱۳۹۲ ۲۰:۳۳:۳۳
آخرین ارسال: hamed_458
  ارتباط با کامپیوتر از طریق USB ha_60 8 7,854 ۹-اسفند-۱۳۹۱ ۱۳:۱۶:۳۷
آخرین ارسال: afshinmar
  ارتباط USB با tf232 و rs232 h0x00i 13 4,861 ۲۵-مهر-۱۳۹۱ ۱۴:۴۶:۰۲
آخرین ارسال: abbasalifix
  پروژه ارتباط سریال AVR با hyper terminal و matlab و Labview 2nafar 12 16,529 ۱۳-مهر-۱۳۹۱ ۱۶:۳۲:۰۵
آخرین ارسال: shayanafz

پرش به انجمن: