PDA

View Full Version : مقاله: برنامه نويسي فرستنده ، گيرنده مادون قرمز



singel
پنج شنبه 28 آبان 1388, 20:15 عصر
سلام عزيزان :بوس:
من ميخوام يه فرستنده ؛ گيرنده مادون قرمز درست كنم اما نميدونم بايد چي توي برنامش بنويسم
لطفا كمكم كنيد
اگر سايت يا مطلب داريد دريق نفرمائيد .
:کف::بوس::قلب:

zaker3055
پنج شنبه 28 آبان 1388, 21:40 عصر
سلام عزیز
چند تا نکته:
اول اینکه با چه زبانی میخوای برنامه بنویسی؟
با چه میکرویی میخوای کار کنی؟
در کل من یه پیشنهاد دارم و اون اینه که بری دنبال برنامه نویسی avr
برنامه نویسی اسم گنده ای داره اما واقعا سادس.
در کل اگه دوس داری کار با میکرو کنترل رو یاد بگیری بگو تا با یاری دوستان با هم دست به کار شیم
البته اینم بگم که اگه زبان برنامه نویسیه میکرو رو یاد بگیری بعدش ساختن چیزایی مثل کنترل مادون قرمز یه چیز پیش پا افتاده میشه.در کل هر امری بود در خدمتم zaker3055@yahoo.com:چشمک:

singel
پنج شنبه 28 آبان 1388, 22:33 عصر
دوست عزيز سلام
من با بسكام ميخوام بنويسم
ميكرو atmega32
البته يه زمينه كوچيكي از avr دارم
در حد يك دماسنج ديجيتال ساختم اما از مادون قرمز هيچي نميدونم

farzadsw
جمعه 29 آبان 1388, 14:25 عصر
http://www.scienceprog.com/ir-remote-control-signal-receiver-using-avr-microcontroller/
http://www.serasidis.gr/circuits/InReCoMe/InReCoMe.htm

singel
جمعه 02 بهمن 1388, 19:38 عصر
سلام دوستان
من برای دریافت مادون قرمز مشکل دارم از کد زیر استفاده کردم اما هیچ چیزی رو نمایش نمیده




$regfile = "m32def.dat" ' specify the used micro
$crystal = 4000000 ' used crystal frequency
$baud = 19200 ' use baud rate
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
$lib "mcsbyte.lbx"
Config Portd.6 = Output
Config Rc5 = Portd.2
Enable Interrupts
Dim Address As Byte , Command As Byte
Set Portd.6
Cls
Lcd "Waiting for RC5..."
Do
Reset Portd.6
Getrc5(address , Command)
Cls
Command = Command And &B01111111
Lcd Address ; " " ; Command
Waitms 2500
Loop
End




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

singel
یک شنبه 11 بهمن 1388, 16:13 عصر
یعنی کسی نمیدونه مشکل کار من چیه ؟

من از کنترل تلویزیون سامسونگ استفاده میکنم اما توی نمایش پایانی روی ال سی دی address,command هر دو 255 رو نشون میده
اشکال کار من کجاست



$regfile = "m32def.dat" ' specify the used micro
$crystal = 1000000 ' used crystal frequency
$lib "mcsbyte.lbx"
Config Rc5 = Portd.2
Config Portb = Output
'Config Porta = Output
Enable Interrupts
Dim Address As Byte , Command As Byte
'Set Porta.0
Do
Cls
Getrc5(address , Command)
Lcd Address ; " " ; Command
Waitms 1000
Cls
Loop
End

farzadsw
یک شنبه 11 بهمن 1388, 23:09 عصر
با بسکام برنامه رو نوشتید؟ مثال از جای دیگه ای بوده یا خودتون برنامه رو نوشتید ؟
چون من دقیقا نمیدونم توی mcsbyte.lbx چه تابع هایی هست ، فرض میکنم نحوه استفاده از تابع ها درست باشه . در این صورت :
اگه برای گیرنده بافر وجود نداره اشکال از wait هست . برای تست این حالت wait رو داخل یه IF بگذارید تا هروقت مقدار command غیر از 255 شد اونوقت 1 ثانیه صبر کنه (در غیر این صورت همیشه مقدار گیرنده رو چک کنه).
مورد دیگه ای که به نظر گنگ میاد اینه که از چه interrupt یی استفاده شده (i/o ,timerو..) و کی فعال میشه ؟

singel
دوشنبه 12 بهمن 1388, 18:51 عصر
من از help بسکام استفاده کردم

M_Ali_Safdari
سه شنبه 13 بهمن 1388, 17:45 عصر
این برنامه کد RC5 استاندارد رو می خونه
این استاندارد متعلق به سونی است .احتمالآ ریموت کنترل شما از استاندارد دیگه ای استفاده می کنه (البته اگر فرض کنیم مدار و سایر موارد درست باشند)

برای تست برنامه و مدار : یک میکرو دیگر به عنوان فرستنده قرار دهید.برنامه فرستنده هم در help وجود دارد .در راهنما به دنبال دستور RC5SEND بگردید.

singel
سه شنبه 13 بهمن 1388, 21:23 عصر
مورد دیگه ای که به نظر گنگ میاد اینه که از چه interrupt یی استفاده شده (i/o ,timerو..) و کی فعال میشه ؟

دوست عزیز میخوام بدونم ایا توی ارتباطات مادون قرمز احتیاجی به interrupt هست یا نه ؟:لبخند:

M_Ali_Safdari
سه شنبه 13 بهمن 1388, 22:26 عصر
دوباره سلام
شما مادون قرمز را برای چه منظوری می خواهید استفاده کنید؟

1-ارسال داده بین دو دستگاه (مثلآ دو میکرو ؛ کامپیوتر و یا ترکیبی از آنها)
2-دریافت اطلاعات از ریموت کنترل های دستگاه های معمول مثل تلویزیون و...

؟

farzadsw
چهارشنبه 14 بهمن 1388, 01:11 صبح
دوست عزیز میخوام بدونم ایا توی ارتباطات مادون قرمز احتیاجی به interrupt هست یا نه ؟:لبخند:
اگه اینتراپت نباشه که میکرو باید همیشه چک کنه پیام اومده یا نه ! 2 صورت اینتراپت میشه استفاده کرد . یکی اینکه تایمر بگذاری که مثلا هر 50 میلی ثانیه بافر رو چک کنه (در این حالت بافر برای ذخیره سیگنال لازمه) . حالت دیگه اینه که هر وقت سیگنال اومد همون موقع اینتراپت فعال بشه و سیگنال رو ذخیره کنه (بافر نرم افزاری) .

singel
چهارشنبه 28 بهمن 1388, 17:59 عصر
من هنوز مشکل دارم !!!