امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 4
  • 1
  • 2
  • 3
  • 4
  • 5
كدهاي ريموت كنترل سيستمهاي صوتي و تصويري براي AVR
نویسنده پیام
ghafari آفلاین
كاربر دو ستاره
**

ارسال‌ها: 78
موضوع‌ها: 17
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 0
( 31 تشکر در 25 ارسال )
ارسال: #34
 
سلام..منظورم از 20 میلی ثانه مدت نمونه برداریه...مثلا وقتی دکمه vol روی ریموت فشرده میشه ریموت هر 20 میلی ثانیه کدهای مربوط به vol رو میفرسته...خوب اگه ما با میکرو به مدت 60 میلی ثانیه از این کد نمونه برداری کنیم و در جایی ذخیره کنیم نمیشه؟بعدش مثلا دکمه ch رو فشار دهیم و باز هم میکرو 60 میلی ثانیه از ارسالی ریموت نمونه برداره و در جایی ذخیره کنه!هر دکمه از ریموت هم یه دیتای خاصی رو ارسال میکنه که با هم فرق دارن!پس میکرو با نمونه برداری 60 میلی ثانیه ای دیتای هر دکمه رو یه جایی ذخیره کنه بدون در نظر گرفتن فرکانس کریر.چون خروجی سنسور بدون کریر هست.حالا میتونیم با فراخوانی کدهای نمونه گرفته شده و ذخیره شده اونهارو بفرستیم تو خروجی میکرو یا ....!
من برنامه خاصی فعلا براش نتونستم بنویسم و این یه ایده بود که گفتم بگم تا همگی بهش فکر کنیم.
موفق باشید! :)
۱۰-بهمن-۱۳۸۶, ۰۹:۳۵:۲۳
ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
etrmodern آفلاین
كاربر دو ستاره
**

ارسال‌ها: 68
موضوع‌ها: 5
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 0
( 17 تشکر در 15 ارسال )
ارسال: #35
 
آقای غفاری هم درست می فرمایند.

من همین کاری رو که توضیح دادید کاملاً برنامش رو نوشتم و تو پست های قبلی گذاشتم.
اما روش من اینطوری بود که : به زمان نمونه برداری کاری نداشت و به تعداد پالسهای دریافتی متکی بود
چون من چندین ریموت رو آزمایش کردم و دیدم که با فشردن یک لحضه ی کوتاه از هر کلید و ریموتی حداقل کد اون کلید 2 مرتبه تکرار میشه و تعداد پالس های 0و1 اون هم بیشتر از 200 تا نمیشه ، خوب منم برای میکرو تعریف کردم که بیشتر از 900 تا پالس رو در حافظه ذخیره نکند .

موفق باشید .

Time is jewel
۱۰-بهمن-۱۳۸۶, ۱۲:۱۰:۴۲
وب سایت ارسال‌ها
پاسخ
etrmodern آفلاین
كاربر دو ستاره
**

ارسال‌ها: 68
موضوع‌ها: 5
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 0
( 17 تشکر در 15 ارسال )
ارسال: #36
 
خوب من همون برنامه ای که کد های ریموت سونی رو می خوند و در پستهای قبلی لینک کامل فایل اونو گذاشتم حالا روی برد بستم تا کار عملیش رو کاملاً بررسی کنم و 2 تا نکته (مشکل) عجیب ازش دیدم :
1- کدی ارسالی از ریموت های سونی رو می خونه اما چه خوندنی ! این کدی که میکروی من بدست میاره با کد اصلی کلید فشرده شده کاملاً فرق داره ! (روشم در بدست آوردن کد درسته و با کمی تغییر می تونم از ریموت های دیگه هم کد دریافت کنم). من با فرکانس 8 مگاهرتز و Prescal=256 و با Timer0 کار می کنم . برنامه اونو در زیر قرار دادم .
2- با تعویض چشم گیرنده 3 پایه بازم کدها ثابت هستند (من با چشمهایی به شماره 1238 و 1560 کار میکنم مگه نه فرکانس این دو 38KHz , 60KHz است ! از طرفی سیگنال کریر هم 40KHz است، پس چرا هر دو چشم به راحتی کد ثابتی رو دریافت می کنند ؟)


$regfile = "M32def.dat"
$crystal = 8000000

Config Lcdpin = Pin , Db4 = Pinb.1 , Db5 = Pinb.2 , Db6 = Pinb.3 , _
Db7 = Pinb.4 , Rs = Pinb.5 , E = Pinb.6
Config Lcd = 16 * 2
Cursor Off

Config Timer0 = Timer , Prescale = 256
Stop Timer0

Config Pind.3 = Input
Set Portd.3
Pin_ir Alias Pind.3

'Config Int1 = Falling
On Int1 Isr_int1

Dim Data_ir As Word
Dim Cnt_ir As Byte
Dim Flag_ir_start As Bit
Dim Flag_ir_ok As Bit
Dim Hex_data_ir As String * 10

Cls
Lcd "SONY REM DECODER"

Enable Interrupts
Enable Int1

'********************************************************
Do
If Flag_ir_ok = 1 Then
Reset Flag_ir_ok
Disable Int1

Locate 2 , 1
Hex_data_ir = Hex(data_ir)
Lcd "DATA : " ; Hex_data_ir ; " Hex "
Reset Flag_ir_ok

Enable Int1
End If
'Wait 1
Loop

End
'******************************************************

'isr for infrared sensor
Isr_int1:
Timer0 = 0
Start Timer0
Bitwait Pin_ir , Set
Stop Timer0

If Cnt_ir = 0 Then
If Timer0 > 70 And Timer0 < 85 Then
Set Flag_ir_start
Incr Cnt_ir
End If
End If

If Flag_ir_start = 1 And Cnt_ir > 0 Then
Decr Cnt_ir
If Timer0 < 35 Then
Data_ir.cnt_ir = 0
Else
Data_ir.cnt_ir = 1
End If

Cnt_ir = Cnt_ir + 2

If Cnt_ir > 11 Then
Shift Data_ir , Right , 1
Reset Flag_ir_start
Set Flag_ir_ok
Cnt_ir = 0
End If
End If

Return

Time is jewel
۱۰-بهمن-۱۳۸۶, ۱۲:۱۱:۳۵
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
ghafari آفلاین
كاربر دو ستاره
**

ارسال‌ها: 78
موضوع‌ها: 17
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 0
( 31 تشکر در 25 ارسال )
ارسال: #37
 
سلام استاد etrmodern
آقا این برنامه بالایی کاملا ok هست.من با ریموت تلویزیون سونی تست کردم همه چیز درسته.شما میگید کد کاملا فرق میکنه...خوب همه دکمه ها رو جدا گانه میفهمه و یه کد هگز میده...تو تبدیلشه که کد ریموت رو میگیره با چه روشی به هگز تبدیل میکنه...اگه این قسمت اصلاح بشه همون کد واقعی دکمه رو میده که فکر کنم باید روش سعی و خطا رو امتحان کنی!
حال کردم با این برنامت.حرف نداشت!فقط یه سوال : چرا از mega32 استفاده کردید؟
با mega8 نمیشه؟آیا mega8 محدودیتی داره که نمیشه ازش استفاده کرد؟
مرسی!
۱۰-بهمن-۱۳۸۶, ۱۴:۵۴:۰۲
ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
etrmodern آفلاین
كاربر دو ستاره
**

ارسال‌ها: 68
موضوع‌ها: 5
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 0
( 17 تشکر در 15 ارسال )
ارسال: #38
 
آقای غفاری من هنوز به درجه استادی نرسیدم ، ضمناً دوست دارم همیشه شاگرد باشم ! (هر شاگردی روزی از استادش جلو میزنه) 8)

درسته ، این برنامه کاملاً کد هگزها رو از هم تفکیک میکنه برای کنترل دستگاهها میشه ازش استفاده کرد .

من برای تبدیل کد آن به هگز از دستور varST=hex(var) استفاده کردم ، مطمئناً مشکل از این دستور نیست ، فکر نمیکنم مشکل از تبدیل باشه و در همون لحظه ی تولید کد مشکل وجود دارد ، فعلاً که دارم باهاش دست و پنجه نرم میکنم. :evil:
مثلاً وقتی کد 1D1 رو ارسال می کنم ، میکرو کد B8 رو بازخونی می کنه (همچنین AD1=>B5) ، حتی نتونستم یه رابطه ای بین کد ارسال و دریافت پیدا کنم .! :?: :!: :idea: :cry:

دلیل خاصی برای استفاده از Mega32 نیست و میشه از Mega8 هم استفاده کرد .

Time is jewel
۱۰-بهمن-۱۳۸۶, ۲۳:۵۰:۴۵
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
newdesign آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 218
موضوع‌ها: 14
تاریخ عضویت: فروردین ۱۳۸۶

تشکرها : 0
( 30 تشکر در 22 ارسال )
ارسال: #39
 
سلام
من کد بالا رو چک کردم درست کار می کرد .
مثلا کد پاور - ولوم - کانال و قطع صدا طیق جدول سونی باز گردونده شد
از آقای ETR و تمام دوستان بابت این پست نهایت تشکر را داریم من مدار آماده به تست این مدار رو بستم اگه مشکلی داشتید بپرسید
۱۱-بهمن-۱۳۸۶, ۰۲:۳۸:۳۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
etrmodern آفلاین
كاربر دو ستاره
**

ارسال‌ها: 68
موضوع‌ها: 5
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 0
( 17 تشکر در 15 ارسال )
ارسال: #40
 
کدهایی رو که روی lcd برام چاپ میکرد توی یک حرف هگز تفاوت داشت مثلاً من با ریموت آمپلی فایر سونی (RM-SS300) از کلید Vol+ مقدار 0012 هگز رو نمایش می داد این در حالی بود که جدولی که من از کدهای سونی داشتم Vol+=0812 است. اینم لینک جدول کدها : :o
http://etrmodern.persiangig.ir/document/Sony.HTML

من از کدهای ساده شروع کردم به فرستادن و با جمع و تفریق بلاخره فهمیدم که اگه 2048 تا به کد بدست آمده اضافه کنم کد اصلی حاصل می شود.
آنگاه مثلاً کد vol+ در ریموت آمپلی فایر سونی برابر با 812 هگز می شود .

:arrow: حالا بعد از کلی تحقیق متوجه شدم که من فقط کد دستور رو lcd میدیدم اون 8 قبل از 12 در واقع کد آدرس دستگاه بوده : :oops: Amaze
http://www.sbprojects.com/knowledge/ir/sirc.htm

اینم قسمتی از برنامه که تغییر دادم :
Do
If Flag_ir_ok = 1 Then
Reset Flag_ir_ok
Disable Int1

Data_ir = Data_ir + 2048
Hex_data_ir = Hex(data_ir)
Locate 2 , 1
Lcd "DATA : " ; Hex_data_ir ; " Hex "
Data_ir = 0

Enable Int1
End If
Loop


و در مرحله بعدی می خوام یک مدار دیگه درست کنم و با اون یه کد به روش سونی ارسال کنم به این مدار ، ببینم آیا همون کد ، صحیح به مقصد میرسه یا نه ؟! :idea:

Time is jewel
۱۱-بهمن-۱۳۸۶, ۱۲:۰۷:۰۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
etrmodern آفلاین
كاربر دو ستاره
**

ارسال‌ها: 68
موضوع‌ها: 5
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 0
( 17 تشکر در 15 ارسال )
ارسال: #41
 
اینم 3 تا از بهترین بهترین لینک های مادون قرمز که تا الان یافتم :

یه لینک توپ و با حال که به هرجا و هر چیز در رابطه با مادون قرمز بخوای لینکت می کنه :
http://www.educypedia.be/electronics/televisionrc5.htm


دو لینک آخرهم که از مبتدی تا پیشرفته راجع به مادون قرمز گفته :
http://www.sbprojects.com/knowledge/ir/ir.htm
http://www.ustr.net/infrared/index.shtml
http://www.ustr.net

Time is jewel
۱۱-بهمن-۱۳۸۶, ۱۲:۱۱:۴۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
newdesign آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 218
موضوع‌ها: 14
تاریخ عضویت: فروردین ۱۳۸۶

تشکرها : 0
( 30 تشکر در 22 ارسال )
ارسال: #42
 
سلام آقای ETR
توجه داشته باشید که دو دستور sonysend و rc5 را میکرو داره و دوباره نویسی نشه
۱۱-بهمن-۱۳۸۶, ۱۴:۱۹:۲۱
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
etrmodern آفلاین
كاربر دو ستاره
**

ارسال‌ها: 68
موضوع‌ها: 5
تاریخ عضویت: آذر ۱۳۸۵

تشکرها : 0
( 17 تشکر در 15 ارسال )
ارسال: #43
 
آره آقای Newdesign صحیح می فرمایند بیسکام دستور آماده برای سونی و RC5 داره اما من هدفم اینه که خودمان روش ساخت رو یاد بگیریم که در آینده بتونیم برای اهداف دیگری هم از آن بهره ببریم . :wink:
خوب اینم برنامه ی ساخت و ارسال کد سونی که بلاخره ازش جواب گرفتم . و با کمی تغییر می تونیم اونو برای دیگر ریموت ها پیکربندی کنیم.
برنامه رو از این لینک دانلود کنید : :arrow:
http://etrmodern.persiangig.ir/document/...IR%202.bas

اما یه مشکل کوچیک داره که اونم اگه کمکم کنید، سریع رفعش میکنیم ، مشکل اینجاست که کد هایی مثل 5D1 رو صحیح ارسال نمیکنه اما 812 و 815 و ... رو بطور کاملاً صحیح ارسال میکنه، اینطور به نظر میرسه که با کدهای بزرگ یکم مشکل داره ، شما هم تست کنید ببیند همین مشکل رو داره ؟!

جالب اینکه من دستور sonysend v رو دیده بودم اما یک مرتبه هم ننوشتمش که حداقل کارش رو ببینم ! لازم شد برم برنامش رو بنویسم ... :roll:

Time is jewel
۱۱-بهمن-۱۳۸۶, ۱۶:۲۹:۱۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
newdesign آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 218
موضوع‌ها: 14
تاریخ عضویت: فروردین ۱۳۸۶

تشکرها : 0
( 30 تشکر در 22 ارسال )
ارسال: #44
 
DeviceAddress : Command Description

01:15 Power
سلام
شما کد بالا رو چند می خونی؟
اگه 95 هگز می خونی درسته
طریقه محاسبه
Command Description:15 در مبنای هگز است در مبنای 10 می شود 21
DeviceAddress:1 محل آن واقع در بیت 6 (هفتمین بیت است)پس ازش آن 2 یه توان 7 یعنی 128 می باشد
128+21=149 که در مبنای هگز برابر 95 است
۱۱-بهمن-۱۳۸۶, ۱۹:۱۷:۱۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  درخواست كمك براي رفع اشكال برنامه بيسيك يك دما سنج shoghal 16 7,341 ۰۵-مرداد-۱۳۹۴, ۱۵:۰۱:۲۶
آخرین ارسال: shoghal
  گيرنده ريموت کنترل 12 کانال pt2294 alimohammad_sh 0 2,130 ۱۴-فروردین-۱۳۹۴, ۱۷:۰۹:۵۳
آخرین ارسال: alimohammad_sh
  کمک براي مدار کنترل ولتاژ با تغییر نور sarbaz021 19 12,447 ۰۲-بهمن-۱۳۹۳, ۲۰:۴۲:۱۲
آخرین ارسال: milad15m
  طرح سنسور مادون قرمز براي اندازه گيري ضربان قلب akbar_online 16 21,229 ۰۵-مهر-۱۳۹۳, ۲۲:۵۷:۱۴
آخرین ارسال: khalaban1371
Question ساده ترين مدار براي بيسيم کردن سنسور ها با برد اصلي Nimaaryamehr 6 4,302 ۲۹-تير-۱۳۹۳, ۲۰:۳۳:۱۹
آخرین ارسال: EBKA
  [سوال] كنترل سرو موتور 180 درجه microoo 15 10,142 ۱۸-خرداد-۱۳۹۲, ۲۱:۰۱:۱۲
آخرین ارسال: sharin
  راه اندازي حافظه فلش k9f2g08u0b براي ميکرو mamal_7153 0 1,784 ۱۵-اردیبهشت-۱۳۹۲, ۱۶:۳۷:۵۶
آخرین ارسال: mamal_7153
  راهنمايي در زمينه كنترل PWM با ولوم يا مقاومت متغير؟ complexcoding 33 26,859 ۲۳-بهمن-۱۳۹۱, ۲۰:۱۷:۳۱
آخرین ارسال: behzady
  راه اندازي موتور dc به صورت چپ گرد و راست گرد و كنترل سرعت و همچنين ..... ali-123 11 17,539 ۲۳-بهمن-۱۳۹۱, ۰۹:۲۵:۱۳
آخرین ارسال: sharin
  اين سوالات براي كانتر 1 رقمي 7 سگمنت براي من ايجاد شده؟ complexcoding 5 6,041 ۱۳-دى-۱۳۹۱, ۱۲:۱۰:۰۶
آخرین ارسال: hadikh73

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 11 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS