PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : استفاده از ریموت های ارزان قیمت چینی در avr



giga0101
01-07-2013, 00:47
سلام

بنده قصد استفاده از ریموت های چینی در avr را دارم. نمونه ای از این ریموت ها در fm player های اتومبیل مشاهده میشوند. معمولا کانال های بسیاری دارند.

شیوه ارسال این کنترل ها NEC میباشد.

You can see links before reply

بنده کد های ارسالی از این ریموت ها را به وسیله ی نرم افزاری که در درایور های یک dvb (تلویزیون دیجیتال) بود برای سه مدل از این ریموت ها بدست آوردم که به شرح زیر می باشند:

تعدادی از کدهای hex مدل اول :

0x00 0xff 0x98 0x67
0x00 0xff 0x5a 0xa5
0x00 0xff 0x52 0xad

تعدادی از کدهای hex مدل دوم :

0x00 0xff 0xc8 0x37
0x00 0xff 0xf0 0x0f
0x00 0xff 0x08 0xf7

تعدادی از کدهای hex مدل سوم :

0x40 0xbf 0x80 0x7f
0x40 0xbf 0x88 0x77
0x40 0xbf 0xa8 0x57

عکس این نرم افزار :

You can see links before reply

امیدوارم بتوانم با راهنمایی های شما به پاسخ سوال هایم برسم...

giga0101
01-07-2013, 00:54
دوستان حتما به این لینک سر بزنند :ریموت کنترل مادون قرمز و ارتباط با AVR (You can see links before reply):125:

giga0101
01-07-2013, 11:51
این فایل آموزشی هم بد نیست.:mrgreen:AN #105 - Sending RC5 and SONY IR codes.rar (You can see links before reply)

در مثال های bascom نيز میتوانید برنامه های پایه ای در رابطه با IR پیدا کنید
:125:

giga0101
01-07-2013, 11:57
و این هم کاتالوگی در رابطه با IR از طرف atmel

rc5 ir reciver.pdf (You can see links before reply)
rc5 ir transmitter.pdf (You can see links before reply)

giga0101
01-07-2013, 13:56
گیرنده ی استفاده شده در مدار tsop1738 میباشد. که با توجه به دو رقم آخر فرکانس آن 38k است.You can see links before reply

giga0101
01-07-2013, 15:22
اساتید اگر اطلاعاتی در این زمینه دارند در این محل قرار دهند تا به نتیجه ی مطلوبی برسیم.


با این حال بنده پست هایی متوالی در این ضمینه خواهم گذاشت...

giga0101
01-07-2013, 18:28
دوستان این سه لینک میتوانند برای اطلاع از پروتکل NEC مفید باشند...NEC Infrared Transmission Protocol - English documentation - The Altium Wiki (You can see links before reply)

SB-Projects: IR Remote Control, NEC Protocol (You can see links before reply)

AN #157 - Implementation of IR NEC protocol - MCS Electronics (You can see links before reply)

M.Rajabi
01-07-2013, 22:47
ماشالا خودت یه تنه رفتی جلو که

giga0101
01-07-2013, 23:44
ماشالا خودت یه تنه رفتی جلو که

والا کسی دست به کار نمیشه...

giga0101
02-07-2013, 01:46
طی این دو روز خیلی ها بازدید کردند اما دریغ از یک راهنمایی!!!:sa:

دوستان عزیز اگر کوچکترین اطلاعی از به کارگیری پروتکل NEC دارید لطفا قرار دهید...

giga0101
02-07-2013, 09:41
آقایون احتمالا اگر خواستنید کمکم کنید!!!!!!:unh:
با زبان بیسیک راهنمایی کنید.

giga0101
02-07-2013, 12:29
اين لينك ها نيز خالی از لطف نیستند...
AVR Freaks :: View topic - IR Receiver Transmitter (IR Duplicator) (You can see links before reply)

ی ( IRC remote controls De-Encoder ) (You can see links before reply)

ی ی ی ی NEC (ی) (You can see links before reply)

USB IR Remote Receiver - Mikrocontroller.net (You can see links before reply)

giga0101
02-07-2013, 18:18
دوستان کسی نیست راهنمایی کنه؟!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!:unh:

giga0101
03-07-2013, 01:51
gfghfh.jpg (You can see links before reply)

پروتکل ها و گیرنده های مورد استفاده...fdgt.jpg (You can see links before reply)

sigma-mx
03-07-2013, 11:44
سلام
اون طور که فهمیدم شما در دریافت مشکل داری چون ریموت آماده رو در اختیار داری و فقط قراره دیکدش کنی ..

در کل چه فرستادن و تولید کد و چه گرفتن و دیکد با این ریموت ها بسیار نه ولی ساده هست ( فرستادن بسیار ساده ولی دریافت کمی مشکله .. )

برای دریافت و دیکد شما دو راه داری : اگر فرمت کد استاندارد ریموتت رو میدونی که از این مرحله باید عبور کنی وگرنه باید توسط یک اسکپ حافظه دار یا لاجیک آنالایزر شکل موج رو کپچر کنی تا تایمینگ سیگنال رو در بیاری ... و این کار هم پیچیده نیست و برای نام بردن اسکپ هم نگران نشو ! اسکپی که لازم داری ، فقط همون کامپیوتر خونت هست و یک فیش صوتی میکروفن یا LineIn ... باید از این برنامه های اسکوپ کامپیوتر استفاده کنی و کافیه سیگنال سنسور گیرندت رو بدی به کامپیوتر و توسط تابع تریگر سیگنال رو ببینی و با بیشترین دقتی که میتونی تایمینگ ها رو یادداشت کنی . اگه کدینگ استاندارد نباشه باید برای تمامی کلید ها تایمینگ ها رو یادداشت کنی ... خب حالا بخش دوم ..
یکی از راه های چک کردن سیگنال با میکرو استفاده از اینتراپت اکسترنال هست . میکرو باید در هر لحظه سطح سیگنال دریافتی رو چک کنه و با 1 یا 0 قرار دادن مقدار خوانده شده در یک آرایه ، پس از کامل شدن تعداد خوانده شده و صحیح ، تابع مربوط به دیکد ، عدد دیکد شده رو بر گردونه یا با استفاده از شرط case فرمان مورد نظر رو انجام بده . در این باره بیشتر توضیح میدم . ولی چون همین دیکدیگ هم چند روش داره و بستهگی به فرمت کد داره شما مهمترین کارت الان اینه که فرمت کد و تعداد بیتش رو دقیقا مطمئن شی . تا ما مطمئن بشیم کدت از نوع طول ثابته یا طول متغیر ( شکل موج باید دیده بشه به روش گفته شده ) ...

یا حق

giga0101
03-07-2013, 14:52
خیلی ممنون
پورتکل استفاده شده NEC است. که در پست هفتم کامل تشریح شده...
من حد تا جایی که ممکنه نمیخوام از قطعه ی دیگری استفاده نکنم. تنها میکروکنترولر و چشمی پارس. یک نرم افزار بسیار جالب در این رابطه پیدا کردم که پیشنهاد میکنم همه ی کاربران در گرایش های مختلف از این نرم افزار پرکاربرد استفاده کنند.
آقای شریفیان در یکی از امکانات این نرم افزار پورتکل NEC به شکل گرافیکی و محاسباتی کاملا شرح داده شده...
این هم لینک دانلود : You can see links before reply

sigma-mx
03-07-2013, 16:25
نرم افزار رو قبلا دیده بودم .. بله برای چند پروتکل معروف کمک خوبیه ولی شما باید مطومئن باشی که پروتکلت NEC هست .اگه مطمئنی که مطابق همین نرم افزار باید پیش بری ...

اینم از من داشته باش :
SB-Projects: IR Remote Control, NEC Protocol (You can see links before reply)
یکم واضح تره ..

giga0101
03-07-2013, 19:50
ممنون از لینکتون
بله.از اونجایی که نرم افزار موجود در درایور های تلویزیون دیجیتال (پست اول) نوع پروتکل رو nec مشخص کرده و همچنین در یک فروم دیگر هم این را تشخیص داده بود من مطمئن شدم این پروتکل nec است.

giga0101
04-07-2013, 15:24
اما چگونگی پیاده سازی برنامه گیرنده را نمیدانم...
واقعا ممنون میشم اگه دوستان راهنماییم کنند....:hi:

morteza_rk
06-07-2013, 03:45
سلام

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

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

sigma-mx
06-07-2013, 14:49
سلام دوست عزیز
من چون سرم خیلی شلوغه زیاد اینجا سر نمیزنم . ولی سعی میکنم تا حد امکان راهنمایی کنم..

خب ، الان که نگاه میکردم پروتکل NEC رو ، دیدم خودش دو نوع داره : معمولی و Extended . حالا اون نرم افزاری که توش نوشت NEC ، ننوشته کدوم نوعش ! پس بهتره اول از نوعش به یه شکلی مطمئن بشی چون بعدا که الگوریتم رو ریختیم وقتمون هدر نره ببینیم این نیست !! اگه میتونی با روشی که گفتم شکل موج رو عکس بگسر بزار اینجا ...

مهمترین فرق پروتکل معمولی و extended طول کد هست . در معمولی NEC طول کد ثابته و لی در دیگری متغیر ...

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


0 : 562us high + 562us low

1 : 562us high + 3*562us (1686us) low

و فرمت بخش Burst سیگنال (هدر ابتدای سیگنال) :


9000us high + 4500us low

و بالاخره فرمت اصلی پروتکل با احتساب موارد بالا ( نوع پروتکل معمولی ):


Burst + Address + Not Address + Command + Not Command


... ادامه دارد

giga0101
06-07-2013, 18:08
خيلى ممنونم آقاى مهندس. خدا از بزرگى کمتون نکنه.
من بايد با اسيلوسکوپ ديجيتال نوع دقيق رو مشخص کنم؟

sigma-mx
07-07-2013, 00:05
مهندس تو اولین پستم تو این تاپیک گفتم روشش رو . کافیه یکی از این برنامه های اسکپ با کارت صدا رو پیدا کنی و سیگنال رو به میکروفن یا linein کامپیوتر بدی . چون فرکانس سیگنال خیلی پایینه ، سیگنال رو بخوبی نشون میده . از قابلیت تریگر نرم افزار استفاده کن تا دقیقا تو یه صفحه بتونی همه سیگنال رو ببینی ...
یا اگه یه نرم افزار تونستی پیدا کنی که یه شکل گرافیکی از سیگنال گیرنده بتونه نشون بده دیگه بهتره .. فقط می خواهیم مطمئن بشیم کدوم پروتکله دقیقا ....

ajax007
07-07-2013, 00:20
با سلام
لینک زیر حاوی مطالبی دراین مورد هستش
You can see links before reply

giga0101
08-07-2013, 09:26
درست فرمودين. ممنون. 
حدود سه سال پيش نرم افزارى در اين رابطه دانلود کردم...
حداکثر ولتاژ خروجى چشمى پارس حدود 5 ولت است. امکانش هست که به کارت صدا آسيب برسونه؟

saeed210
08-07-2013, 11:33
سلام آقا حسام یک سر به این تایپیک بزن راجعبه RC5 هستش ولی اصول کار یکیه
You can see links before reply

giga0101
08-07-2013, 12:53
سلام. به اين تاپيک خوش اومدين.در رابطه با لينک شما دوست عزيز من مسافرتم از اونجايي که با گوشى به انجمن ميام نتونستم زبان لينک رو تغيير بدم...

اما لينک خيلى جالبى بود. 
ممنون.
اگر باچشمى سه پايه باشه ابزار خوبى از آب در مياد...

giga0101
08-07-2013, 13:08
سلام مهندس .ممنون بابت لينکتون. قبلا اين تاپيک رو ديده بودم. با اين حال ممنون ميشم اطلاعاتتون رو در اين تاپيک درميان بذاريد.

saeed210
08-07-2013, 15:18
آقا حسام این هم با چشمی 3پایه است دیگه
من برای یک کار کنترل مادون قرمز می خواستم با 5 تا دکمه برای اینکه نرم کنترل بخرم گفتم یک جور بنویسم که با همه کنترل ها کار کنه اومدم خروجیه چشمی رو دادم به وقفه میکرو و اون وقفه رو روی any port on change تعریف کردم و بقیش رو توی این تایپیک گفتم
کمک در رابطه با گیرنده rc6 کنترل تلوزیون و ... - ایـــــــــران میـــــــکرو ™ (You can see links before reply)
اگه به دردت خورد و سوال داشتی بپرس اگه تونستم راهنماییت می کنم
البته من خروجیه چشمی رو به آپ امپ دادم بعد از آپ امپ دادم به میکرو بهتر جواب گرفتم
با کنترل nec هم امتحان کردم جواب گرفتم ولی کنترل نسبتا قدیمی بود اصلا نمی دونم برای چی بوده فقط روش نوشته NEC
گیرنده ای هم که استفاده کردم این بود.(tsop1736)
You can see links before reply

giga0101
08-07-2013, 15:39
ممنون از راهنماييتون. سوالى داشتم مطرح ميکنم...

giga0101
11-07-2013, 20:21
آقايون اگر کسى نظرى داره خوشحال ميشم. فعلا که مسافرتم. به محض اينکه رسيدم مشهد حتما تمام راه هاى بالا رو تست ميکنم و نتيجه رو اعلام ميکنم.

giga0101
13-07-2013, 12:37
من پشت fm player رو باز کردم مدل گيرنده LFN بود و هيچ عددى ننوشته بود که حداقل بشه فرکانس رو تشخيص داد!
كسى اطلاعاتى در اين باره داره؟

coloop
14-07-2013, 04:34
موضوع جالبی شده.حتما پیگیر این تاپیک هستم.
نمیدونستم قضیه به این پیچیدگیه !!!

دوستان لطفا ادامه بدید .

giga0101
15-07-2013, 15:21
بله دوست عزيز اگر به سرانجام برسه کار جالب و پرکاربردى از آب در مياد...

giga0101
16-07-2013, 13:58
امیدوارم آقای شریفیان هر چه زودتر تشریف بیاورند... کارم خیلی گیره . . . متاسفانه کمتر کسی روی این موضوع کار کرده...

saeed210
16-07-2013, 16:07
مهندس اصلا تا الان چیزی نوشتی؟ امتحان کردی؟ یا فقط اطلاعات جمع کردی؟
چندتا تایپیک دوستان معرفی کردن چند تا هم که خودتون زحمت کشیدید و معرفی کردید از همین ها نتونستی ایده بگیری و ینویسی؟

giga0101
17-07-2013, 15:44
سلام آقا سعيد. جاتون خالى من تا امروز مسافرت بودم. اما طى اين دو هفته دو تا سوال مطرح کردم که به کار عملي ربطي نداشت و تا حالا هنوز کسى جوابم رو نداده...

saeed210
17-07-2013, 16:12
علیک سلام
خوش بحالتون دوستان جای من
اون fm player رو من نمی دونم که جواب بدم
اگه این کنترل هارو بتونید با اسکوپ یا کامپیوتر شکل موج بگیرید که خوبه اگه نه با کپچر میکرو یا یک وقفه any change و یک تایمر پالس ها رو بگیرید ببینیم چی می شه
اگه تونستنم تا فردا یک فیلم براتون می زارم ببینین به دردت می خوره یا نه
یا حق

giga0101
17-07-2013, 21:45
ممنون مهندس.اگر امکانش هست یک لطفی کنید برنامه ی وقفه رو با atmega8 بگذارید...:0013:
باز هم ممنون از این که اهمیت میدید.

saeed210
18-07-2013, 01:32
آقا حسام من چندروز پیش هاردم سوخت یک بک آپ از برنامم دارم ولی برای وقتیه که هنوز برنامه کامل نشده بود. سعی می کنم تا جمعه کامل کنمش برات آپ کنم
اون فیلمی هم که گفتم فک نشد بزارم شرمنده

giga0101
19-07-2013, 04:30
خیلی ممنون مهندس.
من با اسکوپ همون طور که دوستان فرمودند سیگنال رو دریافت کردم :
You can see links before reply


امیدوارم بشه نوع دقیق پروتکل رو مشخص کرد...:0013:

giga0101
19-07-2013, 04:57
این هم فایل wave که می توانید با نرم افزار زیر باز کنید و به طور واضح سیگنال ها رو مشاهده کتید:125:
You can see links before reply
You can see links before reply

ajax007
19-07-2013, 13:39
با سلام
از طریق دیتاشیت آی سی استفاده شده در کنترل میشه به نوع پروتکل پی برد؟

giga0101
19-07-2013, 14:08
سلام دوست عزیز.
روی آی سی این گونه ریموت ها قیر ریخته شده و تا اونجایی که من اطلاع دارم نمی توان مدل آی سی رو شناسایی کرد.

saeed210
21-07-2013, 00:58
سلام آقا حسام این فیلم رو ببین خیلی واضح نیست بخاطر حجم و آپلود و این حرف ها ولی یک چیز هایی روی lcd معلومه
داستان اینه که اول 5تا دکمه ازت می خواد شما باید یک دکمه کنترل رو 2بار فشار بدی تا تایید بشه بعد بری سراغ دکمه بعدی
5تا دکمه این کار ها رو میکنه بالا پایین چپ راست و سلکت بعد که 5تا رو دادی برمیگرده به منو اصلی
این شیوه برنامه نویسی که توی اون 2تا تایپیک که برات گذاشتم توضیح دادم کاری به پروتکل نداره و هرچی باشه کار میکنه
You can see links before reply

برای این شکل موج ها که گذاشتی دارم یک برنامه مینویسم اکه تو پروتوس جواب داد میزارم با کنترلت امحان کن ببینیم چی میشه با مگا 8 نوشتم و کدویژن آخه بسکام بلد نیستم
موفق باشی

saeed210
21-07-2013, 02:24
سلام مجدد
من اون سیگنالی که گذاشنید رو نگاه کردم نمی دونم پروتکلش چیه ولی اندازه که گرفتم دیدم هر پالس کوچکس 567us هستش و (دیوتی سایکلش رو گفتم نه پریودش رو) و بقیه سیگنال ها هم مضربی از 567 هست مثلا اون پالس طولانی اول 8 برابر 567us هستش حالا اگه بعد از ورود پالس اول شما به اندازه 567/2 تاخیر ایجاد کنی بعد از اون هر 567us شروع به خوندن پایه وقفه کنی می تونی سیگنال رو بخونی
من برای امتحان با pattern پروتوس یک سیگنال شبیه اون سگنال اول توی فایل های شما ساختم شد این شکلی( با فایل خودتون مقایسش کنید می بینید که جفتش یک شکله)
You can see links before reply
البته نشد همه سیگنال رو بسازم جا نشد
هر خونه از این شکل 567us هست همانطور که میبینید پالس طولانی اول 8 تا خونس
بعد از ورود اولین پالس(اولین لبه بالارونده) یک وقفه اتفاق می افته که توی تابع اون وقفه تایمر فعال میشه و وقفه خارجی غیر فعال میشه. بعد از این توسط تایمر 1 هر 567us یک وقفه مقایسه با OCR1A اتفاق می افته که توی تابع اون وقفه مقدار پابه INT0 خونده میشه و در یک آرایه 105 تایی ذخیره میشه بعد که همه 105 خونه آرایه پر شد روی lcd این آرایه 105 تایی نمایش داده میشه
شما میتونه میکرو رو پروگرم کنی و مدار رو ببندی یک دکمه کنترل رو فشار بدی و این عددهایی که روی lcd نمایش داده میشه رو با اون سیگنالی که از کامپیوتر برای همون دکمه گرفتی مقایسه کنی
این لینک برنامه با کدویژن و فایل پروتوس
You can see links before reply
توی اون مداری که فیلمش رو گذاشتم خروجی گیرنده رو به یک آپ امپ وصل کردم بهتر جواب گرفتم
سوال داشتی در خدمتم
یا علی

giga0101
21-07-2013, 21:57
سلام. آقا واقعا ممنونم.
لطف کردی.
من نتیجه رو تا فردا اعلام میکنم. یا علی.

raoofmtj
22-07-2013, 02:53
دوست عزیز اگر جواب گرفتی نتیجرو اعلام کنی ممنون میشم..

giga0101
23-07-2013, 19:40
سلام. دوستان عذر ميخوام كه دير شد. من دو روز پيش مدار رو بستم. يک نوع از اين کنترل هارو تست کردم. در چند مرحله کليد مشخصى رو فشار دادم. اعداد اين مراحل رو ياداشت کردم. اما حدود ده درصدش خطا داشت... ضمنا من از کريستال خارجى استفاده نکردم... كار جالبى بود

saeed210
24-07-2013, 00:41
سلام دوستان
یک لطفی یفرمایید
1- اول اون delay_us(283 رو بکنید 200 بعد امتحان کنید ببینید چی میشه؟
2- اگه فرقی نکرد این کار رو بکنید
چندبار یک دکمه رو بزنید و عددهایی که میده یادداشت کنید و بزارید اینجا ببینم کجاش مشکل داره( سعی کنید 5 بار امتحان کنید و همه عدد هارو بزارید-توی یک فایل notepad بزارید بعد با همون نرم افزار بالایی سیگنال همون دکمه رو بگیرید و اونم بزارید ببینیم چی میشه

saeed210
24-07-2013, 00:48
راستی مهندس
1-اگه از رگولاتور برای تغذیه استفاده میکنی حتما خازن های سر ورودی و خروجی رگولاتورها رو بزار
2-از مداری که توی دیتاشیت گیرنده نوشته استفاده من
3-خارن100 نانو تغدیه میکرو یادت نره
4- اگه تونستی خروجیه گیرنده رو به یک آپ امپ 358 بده ببین نتیجه بهتر میشه؟؟

saeed210
24-07-2013, 01:51
یک راستیه دیگه
معمولا همه پروتکل ها یک بیت toggle دارند که وقتی یک کلید رو نگه میداری توی تا ارسال متوالی این بیت toggle میشه که نشون بده یک کلید نگه داشته شده
سعی کنید وقتی می خواهید سیگنال یک کلید رو با کدش رو با میکرو گرفتی با کامپیوتر هم بگیری و شکل موجش رو بزاری چندبار فشار بده و چند بار سیگنال یک کلید رو بگیر و بزار
لطفا 3تا فایل بزار
1-یکی چندبار یک کلید مشخص رو بزن و شکلش رو بزار
2-یک بار دیگه توی یک فایل دیگه همون کلید بالایی رو نگه دار و بزار
3-یک بار دیگه 5تا کلید مختلف رو یک بار بزن و شکلش رو بزار
ببخشید درخواستام زیاد شد

giga0101
24-07-2013, 05:53
آقا سعيد حتما اين کار هايي رو که فرموديد انجام ميدم. واقا ازتون ممنونم که به اين قدر پي گيريد. متاسفانه امکانات ضعيفى و شرايطى که دارم باعث ميشه کارم کند پيش بره... انشاا... تا دو روز ديگه نتيجه رو کامل براتون ميزار

giga0101
24-07-2013, 19:37
راستى مهندس از رگلاتور استفاده ميکنم يک خازن ۱۰۰۰ قبلش و دو تا 100n بعدش گذاشتم.

sigma-mx
24-07-2013, 21:02
سلام
باید ببخشید . سرم واقعا شلوغه و 10 برابر این مشکلاتی که شما دارید رو خود من سر یه پروژه دیگه دارم ...!

خب ، با توجه به این عکس :
You can see links before reply


و این پست :
You can see links before reply

کاملا واضحه که پروتکل از نوع NEC معمولی هست و Extended نیست .مقدار آدرس 2 و کامند 1 هست .

حالا شما خودتون تونستید برنامه ای بنویسید ؟ برای نوشتن برنامه یه توصیه مهم و کارآمد دارم . استفاده از پروتیوس ..... با یه میکرو این شکل موج رو تولید کنید و با یکی دیگه روی برنامه گیرنده کار کنید . چون شما در اصل دارید رو پروتکل کار میکنید و تست عملی به دفعات زیاد حتما شما رو خیلی خسته میکنه . برنامه فرستنده تنها با دستور Wait و دستور High وLow کردن پین نوشته میشه و خیلی آسونه . برای بخش گیرنده باید سیگنال همونطوری که خودتون میدونید از طریق اینتراپت بگیرید و هر طول پالس رو چک کنید ببینید طبق قرار داد 0 هست یا 1 و اینا رو به تعداد طول کد در یه آرایه ذخیره کنید و اگه همه چیز درست بود بعنوان کد به خروجی تابع ارسال کنید. بهتر اینه که بخش آدرس و فرمان ( کامند ) رو جدا ذخیره کنید . مطمئن باشید اگه دیکد این رو یاد بگیرید دیگه از هر کدی خواستید میتونسد استفاده کنید . یادمه چند سال پیش که رو این کار میکردم دیگه هر چیز کنترلی تو خونه رو راحت هک میکردم .... تلویزیون ، ضبط ، پنکه ! و حتی شما بعدش براحتی میتونید کد ریموت RF رو هم به همین روش دیکد کنید ... شروع به نوشتن برنامه به کمک پروتئوس کنید که خیلی کمکتون میکنه .

saeed210
25-07-2013, 00:59
سلام
با تشکر از آقای شریفیان
آقا حسام با توجه به توضیحات آقای شریفی و این که فرمودند پروتکل nec معمولی هست می تونید توی نت سرچ کنید و کتابخونش رو پیدا کنی
برای رگولاتور توی دیتاشیتش نوشته ورودی یک خازن 330 نانو و خروجی یک 100 نانو
دوستان چیزای دیگه هم میزارند
من خودم توی اون فیلم وقتی خازن 100 نانو خروجی رگولاتور رو نمی زاشتم گیرنده کدها رو اشتباه تشخیص میداد اونم به طرز وحشت ناک اشتباه اما خازن که میزاشتم درست میشد

sigma-mx
25-07-2013, 01:22
در مورد بخش آنالوگ کار هم این نکته خیلی مهم رو بگم که ... همون طور که saeed210 هم اشاره کردند وجود خازن و بطور کلی فیلتر خیلی مهمه و نگذاشتن اون ممکنه حالات پیش بینی نشده و بدی رو بوجود بیاره . اگر تو نقشه ها یی که توش سنسور گیرنده مادون قرمز بکار رفته یا حتی دیتاشیت سنسور رو نگاه کنید میبینید که تقریبا همه جا یک فیلتر پایین گذر RC سر تغذیه سنسور بسته شده که گذاشتنش بسیار کارآمده ! مقدار این فیلتر رو طوری انتخاب کنید که تنها فرکانس حوالی مورد نظر شما رو عبور بده ، نه بیشتر ! یادمه یه مشکل عجیب برام پیش اومده بود و اون این بود که فرستنده و گیرنده رو با یه آداپتور تغذیه میکردم و یادمه حتی دیود IR فرستنده رو کندم ولی بازم گیرنده عمل میکرد !!! آخرش فهمیدم کد از راه تغذیه گویا وارد گیرنده میشه ! همین فیلتر RC رو گذاشتم حل حل شد ...!

giga0101
26-07-2013, 22:12
سلام . در حال حاضر مسافرتم و به محض این که رسیدم همه چیو بررسی میکنم و نتیجه رو قرار میدم...
از دوستانی که پیگیر این موضوع اند هم عذر می خوام...

giga0101
11-08-2013, 14:46
سلام.
انشاا... تا شب تمام نتایج آزمایش ها رو میزارم.
مجدد از دوستانی که پیگیر این موضوع بودند مجدا عذر می خواهم.:mrgreen:

giga0101
11-08-2013, 21:35
مجددا سلام...
عدد رو به 200 تغییر دادم
من سیگنال ها رو دریافت کردم و در یک فایل notepad یادداشت کردم...
You can see links before reply

کلید مورد نظر رو چند بار فشار دادم و حدود 3 ثانیه نگه داشتم با اسکوپ سیگنال گرفتم و در فایل زیر ذخیره کردم...
You can see links before reply
لطفا فایل را با نرم افزار زیر (Wavosaur)باز کنید...
You can see links before reply
ممنونم از لطفتون.

sigma-mx
12-08-2013, 01:12
مهندس چیزی مشخص نیست !! چی رو کپچر کردی ؟!

مگه شما قبلا شکل موج رو نداده بودی ؟ من تو پست 55 ، پروتکل رو تایید کردم که ... ؟! قرار بود بری سراغ برنامه ....

giga0101
12-08-2013, 09:36
راستی در رابطه با منبع تغزیه باید بگم من از مدار پیشنهادی خود سنسور استفاده کردم
رگلاتور هم يک خازن ۱۰۰۰uf قبلش و دو تا 100nعدسی بعدش گذاشتم. You can see links before reply

giga0101
12-08-2013, 10:36
مهندس چیزی مشخص نیست !! چی رو کپچر کردی ؟!

مگه شما قبلا شکل موج رو نداده بودی ؟ من تو پست 55 ، پروتکل رو تایید کردم که ... ؟! قرار بود بری سراغ برنامه ....

سلام.
بله مهندس. اما این فایل هارو آقا سعید خواسته بودند.
الان سعی و تلاشم اینه دقت رو بالا ببرم.
این پروژه هم خالی از لطف نیست :
You can see links before reply
پروتکل NEC است و امیدوارم بشه از کتابخونه اش استفاده کرد.
متاسفانه من با c کار نکردم. از اساتید خواهش میکنم کمکم کنند.
ممنون

sigma-mx
12-08-2013, 12:40
راستی در رابطه با منبع تغزیه باید بگم من از مدار پیشنهادی خود سنسور استفاده کردم
رگلاتور هم يک خازن ۱۰۰۰uf قبلش و دو تا 100nعدسی بعدش گذاشتم.

درسته مهندس این همون فیلتره که گفتم . مقدار مقاومت رو 100 اهم هم میگذارن ولی خیلی مهم نیست .

giga0101
12-08-2013, 16:19
بله مهندس از اول این فیلتر رو گذاشته بودم...

saeed210
13-08-2013, 01:27
سلام مهندس
من فکر کردم تا حالا به نتیجه رسیدی که خبری نشد ازتون
حالا من مسافرتم هفته دیگه بر می گردم فعلا از راهنمایی های استاد شریفیان استفاده نمایید
کتابخونش برای بسکام نبود تو اینترنت؟

sigma-mx
13-08-2013, 01:47
چرا همه تو این تاپیک اینقدر تو مسافرت هستن ؟! :mrgreen:
یه چیزایی تو فروم بسکام پیدا کردم یه نگاه بنداز فکر کنم کار کنه !


AN #157 - Implementation of IR NEC protocol - MCS Electronics (You can see links before reply)

giga0101
13-08-2013, 03:01
سلام:hi:
متاسفانه کتابخوبه ای پیدا نکردم...
شما هم لطف کنید یک نگاهی بندازید.
انشاا... سفر بهتون خوش بگذره.
این لینک رو قبلا هم دیده بودم آقای شریفیان. اما چیزی از کارایی آن متوجه نشدم .فرستنده آن هم در دسترسم نیست...
لطفا کمکم کنید

saeed210
13-08-2013, 23:50
خیلی ممنون آقا حسام
اون فایل notepad که گذاشتید هر 6 تا برای یک کلیده؟

sigma-mx
14-08-2013, 00:39
این لینک رو قبلا هم دیده بودم آقای شریفیان. اما چیزی از کارایی آن متوجه نشدم .فرستنده آن هم در دسترسم نیست...خب مهندس مشکلت با این برنامه چیه ؟؟!!! اینجا که برنامش به بیسیک برای avr نوشته !
پروتکلش هم همین nec هست دیگه . فرستنده در دست نیست یعنی چه ، مگه شما ریموت nec نداشتی ؟
برنامه هم باید کار کنه . شماتیک مدار رو هم کشیده . یه lcd کارکتری میبندی و کد گرفته شده از ریموت رو توش مینویسه . خب مشکل چیه ؟! برنامه رو تست کن فعلا ، جواب گرفتی بعد الگوریتمشو با هم چک میکنیم..

giga0101
15-08-2013, 14:31
بله آقا سعید. برام عجیب بود یکی از اونها آخرش فرق میکرد...
مهندس دیروز این مدار رو بستم با وجود این که نقشه مدار ناخوانا بود اما همونطور که گفته بود یک مقاومت به reset و یکی هم به led سری کردم. پایه های lcd درست وصل شد و 2 عدد صفر نمایان شد. وقتی کلید های ریموت رو فشار میدادم اولی 2 و دومی 0 میشد. حتی کنترل LG هم به همین روال... فقط عدد 2 و 0...

giga0101
16-08-2013, 02:35
آقا سعید لطف کنید این لینک رو ببینید
ی ( IRC remote controls De-Encoder ) (You can see links before reply)

giga0101
18-08-2013, 00:41
سلام!
این لینک واسه تست اینگونه ریموت هاست!!!You can see links before reply
میشه با atmega8 و lcd 2*16 باهاش کار کرد؟

'* Author : Rubashka Vasiliy , Ukraine , 2007
$regfile = "m32def.dat"
$crystal = 8000000
$hwstack = 36
$swstack = 36
$framesize = 40
Config Lcdpin = Pin , Rs = Portc.7 , E = Portc.6 , Db4 = Portc.5 , Db5 = Portc.4 , Db6 = Portc.3 , Db7 = Portc.2
Config Lcd = 24 * 2
Cursor Off
Cls
Locate 1 , 4
Lcd "NEC DECODER"
Locate 2 , 4
Lcd "BASCOM-AVR"
Wait 1
Config Timer0 = Timer , Prescale = 256 '8000000/256=31250 Hz
Config Int1 = Falling 'Interruption on Falling
Stop Timer0
Enable Timer0
Enable Int1
Enable Interrupts
On Timer0 Tikers 'work on timer
On Int1 Infrared 'work on interruption
Dim Got As Bit
Dim Tik As Word 'counter of teaks of timer
Dim Byt As Byte 'counter accepted bit
Dim Repeat_flag As Bit 'flag of repetition
Dim Start_flag As Bit 'flag of start condition
Dim Address_1 As Byte 'direct byte of address
Dim Command_1 As Byte 'direct byte of command
Dim Address_0 As Byte 'indirect byte of address
Dim Command_0 As Byte 'indirect byte of command
Dim Summa As Word
Dim Address_nec As Byte , Command_nec As Byte
Cursor Off 'Switch Off cursor
'################################################# ################################################## #############
Do 'Main cycle
If Got = 1 Then
Cls
Locate 1 , 1
Lcd "ADDRESS " ; Address_nec
Locate 2 , 1
Lcd "COMMAND " ; Command_nec 'Lcd ADDRESS and COMMAND
Reset Got
End If
Waitms 10 'Delay 10 en
Loop
End 'End of main cycle
'################################################# ################################################## #############
Tikers: 'work on timer
Timer0 = 253 '31250/(256-253)=10416,66 Hz (96 een)
Incr Tik
If Tik >= 1200 Then 'if 1200 teaks, have thrown all in source condition
Tik = 0
Repeat_flag = 0
Start_flag = 0
Address_1 = 255
Command_1 = 255
Address_0 = 0
Command_0 = 0
Address_nec = 255
Command_nec = 255
Stop Timer0
End If
Return
'################################################# ################################################## #############
Infrared: 'work on interruption
Start Timer0
If Tik >= 139 And Tik < 150 Then 'if has happenned from 139 before 150 teaks - "START"
Address_nec = 1
Repeat_flag = 0
Start_flag = 1
Address_1 = 255
Command_1 = 255
Address_0 = 0
Command_0 = 0
End If
If Tik >= 116 And Tik < 139 Then 'if has happenned from 116 before 138 teaks - "REPETITION"
Address_nec = 0
Repeat_flag = 1
Start_flag = 0
End If
If Tik >= 22 And Tik < 116 And Start_flag = 1 Then 'if has happenned from 22 before 115 teaks - have taken "1"
Incr Byt
If Byt < 9 Then
Shift Address_1 , Left
Address_1 = Address_1 + 1
End If
If Byt >= 9 And Byt < 17 Then
Shift Address_0 , Left
Address_0 = Address_0 + 1
End If
If Byt >= 17 And Byt < 25 Then
Shift Command_1 , Left
Command_1 = Command_1 + 1
End If
If Byt >= 25 Then
Shift Command_0 , Left
Command_0 = Command_0 + 1
End If
End If
If Tik >= 10 And Tik < 22 And Start_flag = 1 Then 'if has happenned from 10 before 21 teaks - have taken "0"
Incr Byt
If Byt < 9 Then
Shift Address_1 , Left
End If
If Byt >= 9 And Byt < 17 Then
Shift Address_0 , Left
End If
If Byt >= 17 And Byt < 25 Then
Shift Command_1 , Left
End If
If Byt >= 25 Then
Shift Command_0 , Left
End If
End If
Tik = 0
If Byt = 32 Then
Address_nec = Address_1
Command_nec = Command_1
Set Got
Address_1 = 255
Command_1 = 255
Byt = 0
Repeat_flag = 0
Start_flag = 0
Stop Timer0
End If
Return

saeed210
22-08-2013, 00:47
سلام دوستان
شرمنده , یک مدت نبودم
یکم فکر کردم دیدم میکرو که قاطی نمی کنه توی زمان بندی ها خروجی سنسور گیرنده هم که شما با کامپیوتر گرفتی و توی تکرار های متوالی 100درصد مثل همه 2تا نکته به نظرم رسید که ممکنه اشکال از اونجاه باشه
1- یا برنامه نویسی ما توی زمان بندی ها مشکل داره
2- یا اشکال از نویزه
راه حل هایی که به ذهن من رسید

اول اینکه اگه شما میتونی از یک آپ امپ lm358 استفاده کن ببین نتیجه چی میشه

سوال این اسیلوسکوپی که شما با کامپیوتر ساختی 2 کاناله است؟
برای اینکه ببینیم اشکال از زمان بندی بوده یا نه یکی از پایه های میکرو رو زمانی که از سیگنال ورودی نمونه برداری میکنه توگل می کنیم و اون رو هم همزمان با سیگنال خروجی گیرنده با اسکوپ مانیتور میکنیم ببینیم زمان بندی و نمونه برداری چطوریه؟؟

کاری که شما باید زحمتش رو بکشید:
خبر خوب اینکه توی اون برنامه ای که گذاشتم توی تابع وقفه تایمر 1 پورت B.3 رو توگل کردم شما فقط پراب اسکوپ رو وصل کن به این پایه و سیگنالش رو بگیر و بزار ببینیم چی میشه
اگه تونستی سیگنال خروجی فرستنده و PORTB.3 رو همزمان بگیری (یعنی با دوتا کانال) که چه بهتر اگر هم نه جدا جدا بگیر و بزار فقط لطفا کلیدی که فشار میدی یکی باشه و عوضش نکن

برای اون لینکهایی هم که گذاشتی میخونم و جواب میدم
دوستان دیگه هم ممنون میشیم تجربیاتتون رو بفرمایید

giga0101
24-08-2013, 01:35
سلام مهندس. منتظر شما دوستان بودم... آقای شریفیان که فکر کنم این تاپیک رو ترک کردند...!
میشه در مورت این تقویت کننده اطلاعاتی بهم بدید؟ چطور باید وصلش کنم؟
اسکوپ که ساختم یک گیرنده 2 پایه وصله. همین. چطور باید فهمید یک کاناله یا دو کانال؟
این اسکوپ فقط دو تا پایه داره که وصل میشع به پورت mic...
ممنون مهندس پیگیر میشید. من تا جایی که در توانم باشه پیگیری میکنم. اما تا حالا هر چی با avr کار کردم و نتیجه گرفتم همه به شکل تجربی بوده و حتی هنوز به درس مبانی میکروکنترلر دانشگاه هم نرسیدم!

saeed210
24-08-2013, 19:03
سلام
منم قدرت خوندم و کلا مبانی میکرو هم پاس نکردم و کلاس هم نرفتم
قبلا ها که دنبال اسکوپ با کامپیوتر بودم یک نورم افزارهایی بود که فکر کنم می گفت چون میشه کارت صدا ورودی استریو داشته باشه یعنی میتونه 2تا سیگنال هم زمان دریافت کنه پس میشه یک اسکوپ 2کاناله ساخت شما هم توی برنامه تون صفحه اصلی به 2 قسمت بالا و پایین تقسیم شده که 2تا سیگنال یک شکل میده شاید برای همین 2تا کاناله باشه
ولش کن بار به صورت جدا موج ها رو بگیر و بزار
برای آپ امپ هم یک مقایسه کننده منطقی درست کن به یک سرآپ امپ یک پتانسیومتر بزار اون سر دیگه رو هم به خروجی سنسور بده سعی میکنم تا آخر شب شکلش رو بزارم برات

giga0101
24-08-2013, 20:04
سلام
ببخشید دقیق متوجه نشدم! چکار باید انجام بدم. الان دارم میرم خرید برای آپ امپ.
یا حق

sigma-mx
24-08-2013, 20:17
سلام
نرمافزارهای اسکوپ با کارت صدا معمولا دو کاناله هستند چون ورودی میکروفن کامپیوتر استریو هست . پس کار ی که باید بکنید اینه که دو سیگنال رو به کانال Left و Right میکروفن با یک گراند مشترک بدید . من خودم براحتی قبلا جهت تست همین قضیه ازش استفاده کردم . در مورد شیوه اتصال هم من مستقیم خروجی سنسور گیرنده رو اتصال دادم ولی بهتره جهت محدود کردن سطح ولتاژ از یه دیود زنر مثلا در محدوده 1-2 ولت استفاده بشه ... فکر نمیکنم هم احتیاجی به آپ امپ باشه چون اگه مدار داخلی این سنسورهای گیرنده رو نگاه کنید طبقه آخرش برای سوییچ کردن ولتاژ یه ترانزیستور پول آپ داره ( در بعضی مدلها پول آپ نیست"Open Drain" ، بنابراین در خروجی حتما باید گذاشته بشه ) . بنابراین ولتاژ بین hi و lo سوییچ میکنه و دامنش کم نیست . شما براحتی میتونید یه led رو به خروجی سنسور اتصال بدید و اونو با تحریک روشن کنید .
یه نمونه از سیگنالی رو که قبلا با همین اسکوپ ها از یه ریموت سونی گرفته بودم رو الان اتفاقی تو کامپیوترم پیدا کردم که قرار میدم ... این سیگنال مربوط به کلید P- یه تلویزیون سونی هست ..

You can see links before reply

giga0101
24-08-2013, 20:23
سلام مهندس لطفا لینک رو چک کنید. پیگیرش هستم از راهنماییتون ممنونم

saeed210
25-08-2013, 00:07
آقای شریفیان ممنون از راهنماییتون منم خیلی از مدارها رو تو اینترنت دیدم که مستقیم وصل شده بود ولی من 2تا ساختم با آپ امپ جواب بهتری داد ( البته میدونم کار درستی نیست) فقط می خواستم مطمئن بشم که اشکال از نویز نیست

giga0101
25-08-2013, 00:46
آقا سعید آپ امپ رو خریدم. تا حالا باهاش کار نکردم یک لطفی بکنید مدار رو برام بزارید ممنون

saeed210
25-08-2013, 01:21
You can see links before reply

abbasalifix
26-08-2013, 01:49
سلام من یه برنامه و مدار دارم که با همین ریموت شما کار کرد و برنامه ای که بچه ها گذاشتن با کمی تغیرات
اگه جواب نگرفتین که کن برنامه رو بزارم

saeed210
27-08-2013, 02:27
سلام آقای محمدنیا نیکی و پرسش؟ ممنون میشیم بزارید برنامتون رو

giga0101
28-08-2013, 23:02
سلام آقای محمدنیا. به این تاپیک خوش اومدید.
آقا سعید متاسفانه lcd دسترسم نیست! تا چند روز دیگه که به دستم رسید تمام نتایج رد میزارم...
آقای محمدنیا اگه امکانش هست برنامتون رو بزارید. خدا خیرتون بده... کارم خیلی گیره این ریموت هاست...
ممنون.

bigbear
24-02-2014, 18:00
سلام دوستان ،من قراره خيره سرم کد کليد هاي يک ريموت کنترل بخونم.کد زير رو نوشتم.جواب ميده ولي هردفه جوابش متغيره.اساتيد يکي يه کمکم بکن


$regfile = "m16def.dat" ' specify the used micro

$crystal = 2000000 ' used crystal frequency

$baud = 9600 ' use baud rate

Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.1 , Db7 = Portb.0 , E = Portb.4 , Rs = Portb.6
Config Lcd = 16 * 2
Config Lcdbus = 4
Config Portb = Output
Config Portd = Input
Config Pina.0 = Input
Dim L(10) As Byte
Dim A As Byte

A = 0




Lcd "sallam"
Waitms 1000
Cls

Do
Do

L(a) = waitkey()
Waitms 5
Incr A
Loop Until A = 9

Lcd L(a) ; "," ; L(a + 1) ; "," ; L(a + 2) ; "," ; L(a + 3)
Locate 2 , 1
Lcd L(a + 4) ; "," ; L(a + 5) ; "," ; L(a + 5) ; "," ; L(a + 7)
Wait 2
Cls



Loop
En

ehsanmikro
30-05-2019, 11:03
سلام پس از سالها ...
یه نفر گیر کرده به همین داستان ...
حل شده بالاخره ؟؟؟
منم گیر کرده ام