ایول فعالیت من همش رو نتونستم بخونم
برای من جالبه که چرا میخواید اون فرکانس رو با میکرو بسازید با یه 555 هم می شه ساخت شما ورودی رو به پایه 4 بدید خروجی آماده تحویل بگیرید دیگه از شر اون سیگنال 38k هم راحت می شید
توی گیرنده هم از همون 3 پایه ها استفاده کنید دیگه این فرکانس 38k رو نمی بینید
به همین راحتی دیگه میکرو وقت بیشتری برای پردازش هاش داره و فکر کنم برنامه راحت تر بشه بعد که ساخته شد می شه این قسمت ها رو هم برد توی میکرد
که فکر کنم قسمت گیرنده عاقلانه ترین راهش همون گیرنده های 3 پایه باشه
أقاي pardazesh-gar خيلي خيلي ممنونم از بابت عکسی که گذاشتی ، کاملا روش مدوله کردن رو برام روشن کرد (شما گفتی که "این تصویر آزمایشی که انجام دادم" یعنی این عکس رو خودت بدست آوردی !؟ با چه برنامه ای آنالیز کردی؟!) به هر حال خیلی حال کردم ، آفرین .
پس باید اینطور عمل کنیم که : به ازای منطق 1 سیگنال کریر 38 کیلوهرتز و به ازای منطق 0 سیگنال صفر ارسال کنیم . برای ساخت کریر 38 کیلو هم از PWM كمك مي گیریم .
به عبارتی من باید جاهایی که می خوام پالس 1 درست کنم برای میکرو تعریف کنم که بجای اینکه پورت فلان رو 1 کند باید PWM رو روشن کنه تا سیگنال 38 کیلو در خروجی پورت OC2 ظاهر شود . درسته ؟
در مورد صحبت آقا هادی هم دارم روش کار می کنم ولی فکر کنم ساخت پالس 38 کیلو با 555 یکم دردسر داشته باشه ، راستی وقتی پیام رو به پایه 4 میدیم آی سی 555 چطوری خروجی رو مدوله میکنه ؟ آیا 555 می تونه به این سرعت کار کنه ؟
خوب حالا فرض کنیم ما این کریر رو درست کردیم و مدار هم جواب بده امــا اینکه بازم مدارمون محدود شد یعنی ما از قبل می دونستیم این ریموت مثلاً با کریر 38 کیلوهرتز کار میکرده حالا اگر فرکانس کریر رو ندونستیم تکلیف چیه؟ ، یا اگه یه ریموت دیگه که مثلاً با فرکانس 60 کیلوهرتز کار میکرد ... ؟ !
ما قرار شد که مداری رو طراحی کنیم که کاری به پروتکل و کریر و اینها نداشته باشه ، آقا دقیقاً مثل ساعت مچی کاسیو قدیمی معروف به " درب پژو بازکن " خوب اون ساعت که هر چی ریموت مادون قرمز جلوش می گرفتیم میتونست کد اونو تو حافظه خودش ذخیره می کرد و بعد می تونستیم اون کد رو از حافظه منتشر کنیم .
چطوری اون ساعت مچی کوچیک همه کدها رو با فرکانس های متفاوت حفظ و درست می کرد ؟ ! ! !
خوب حالا فرض کنیم ما این کریر رو درست کردیم و مدار هم جواب بده امــا اینکه بازم مدارمون محدود شد یعنی ما از قبل می دونستیم این ریموت مثلاً با کریر 38 کیلوهرتز کار میکرده اگر ندونستیم تکلیف چیه ؟ یا اگه یه ریموت دیگه که مثلاً با فرکانس 60 کیلوهرتز کار میکرد ... ؟ !
ما قرار شد که مداری رو طراحی کنیم که کاری به پروتکل و کریر و اینها نداشته باشه ، آقا دقیقاً مثل ساعت مچی کاسیو قدیمی معروف به " درب پژو بازکن " خوب اون ساعت که هر چی ریموت مادون قرمز جلوش می گرفتیم میتونست کد اونو تو حافظه خودش ذخیره می کرد و بعد می تونستیم اون کد رو از حافظه منتشر کنیم .
من برنامه ای رو که تا این مرحله از پروژه نوشتم توی این لینک میزارمش :
http://etrmodern.persiangig.ir/document/...TR%201.zip
برنامه منو بررسی کنید و اگر بخشی از اون متوجه نشدید تا توضیح بدم .
بطور خیلی خلاصه :
این برنامه همون طور که قبلاً عرض کردم با یک چشم 3 پایه به واسطه اینتراپت میکرو مادون قرمز ارسالی از ریموت ها رو میگیره که این کار با یک شستی کنترل می شود تا فقط در زمان دلخواه میکرو پالس های مادون قرمز رو دریافت کند و بعد آنها را در حافظه ایپرام میکرو ذخیره می کند البته برای اینکه در حین گرفتن پالس ها (اینتراپت) زمان از بین نرود پس ابتدا مدت زمان پالس ها را در رجیستر و در آخر از آنجا به ایپرام میبرد . این روند گرفتن و ذخیره کردن پالس های دریافتی بود .
در مرحله بعدی میکرو آماده بازخوانی مدت زمان پالس های ذخیره شده می باشد که این عمل هم توسط دو کلید دیگر کنترل می شود با زدن کلید میکرو پالس ها را از ایپرام به رجیستر منتقل می کند.
در مرحله بعدی میکرو تایمر2 را پیکربندی می کند تا بتواند بر اساس مدت زمان پالس ها در خروجی پالس مشابه درست کند که این عمل هم با کم کردن مقدار تک تک پالسها از عدد 256 و ریختن حاصل تفریق در تایمر2 شروع می شود به همین صورت پورت خروجی که در حالت عادی ست بود با رفتن برنامه به وقفه، پورت را ریست می کند تا ترانزیستور مثبت دیود فرستنده مادون قرمز را روشن کند.
البته هنوز اون مدوله و چیزهایی جدیدی که در حال بحث هست به برنامه اضافه نکردم .
دوستان من برای کسانی که می خوان فقط کد ریموت ها رو بخونند و یا با یک ریموت چندین دستگاه رو کنترل کنند یک سری توضیحات با زبان فارسی ، مدار و برنامه مربوطه تدارک دیدم و 100% عملی است و خودم اونو تست کردم ، فقط برای وفاداران الکترونیک تدارک دیدم.
برای دریافت فولدر به لینک زیر بروید :
http://etrmodern.persiangig.ir/document/...20site.rar
بنابراین در این فولدر برنامه ای به زبان بیسیک نوشتم که با یه کمی تلاش می تونید همه اطلاعات از هر ریموت کنترل مادون قرمزی رو کسب کنید.
اگه سوالی و یا مشکلی بود علاوه بر فروم می تونید با ایملم تماس بگیرید.
موفق باشید
سلام به تمام برو بچ با ذوق
خوب حالا در مورد رموت :
اولا به این سادگی هام که میگین نیست
در ضمن اونقدرام مشکل نیست :)
تا اونجا که یادم میآد یکی از بچه ها همین دستگاه رو چند سال پیش ساخت و تو جشنواره مقام آورد. دستگاهش کنترل ها رو یاد میگرفت و همه رو یکی میکرد
به این معنی که دیگه لازم نیست شما برای هر دستگاهی یک کنترل داشته باشی :P
همه کار ها با یک کنترل انجام میشه. اونجور که توضیح میداد میگفت کنترل ها کلا از دو پرتکل استفاده میکنن(کار به نحوی فرستادن دارم نه طول پالس چون قراره دستگاه خودش طول پالس رو یاد بگیره)
1. این که کنترل اول یه فرمان میفرسته بعدش مدام پشت سر هم میگه فرمان ارسال شده رو اجرا کن
2 . این که یه کد رو ارسال میکنه و دوباره باز همون رو تکرار میکنه (فکر کنم تلویزیون های قدیمی اینجوری باشن)
یه پرتکل جدید هم هست که اونو هنوز درست نمی دونم مثلا تلویزیون های ال جی این جورن
اگه این آزمایش ها رو انجام بدی میفهمی که چقدر یه کنترل متونه پیچیده باشه با همون تلویزیون ال جی
- دستتون رو رو چشم کنترل بذارین که در واقه کورش کرده باشن حالا دکمه OK رو فشار بدین رو تلویزیون هیچی دیده نمی شه اما به محض این که دستت رو برداری رو تلویزیون مشخصات کانال رو میبینی
- حالا اول OK رو فشار بدین همون پیغام رو نشون میده دستتون رو رو چشم بگیرین بدون این که دکمه رو رها کنید و صبر کنید تا پیغام بره ، حالا اگه دستت رو از رو چشم برداری هیچ پیغامی رو نشون نمیده در صورتی که دکمه OK رو فشار دادین :wink:
پس اینجا دو مساله وجود داره یکی مدلاسیون که مرحله راحته کاره و دومی نحوی کد کردن داده است که کمی کار میبره
تازشم با بیس کام موفق نمی شی
البته بگم قبلنا که کار میکردم فکر کنم یه فرمان داشت به اسم SONY SEND یه چیزی تو این مایه ها بود که فقط برای دستگاه های سونی جواب میداد.
موفق باشی :)
---
من هم از همین روش استفاده کردم اما بجای 555 از یک میکروی دیگر بهره بردم تا کار تمام شود و به فکر بهینه سازی آن باشیم.
دقیقا درسته بهترین کار اینه که از آشکار ساز استفاده کنیم.
بیشتر کنترل ها از فرکانس حامل 38K و 40K و آشکار سازی استفاده می کنند که هر دو این دو فرکانس را جواب می دهد.
از همه مهم تر برای حفظ پیام حافظه زیادی نیاز نداریم. که دیگه خیلی خوب میشه.
---
برای افزایش سرعت این عکس رو در شبیه ساز با استفاده از کلید Print و در Paint ویندوز انجام دادم.
از 555 هم میشه استفاده کرد و با سرعت پاسخ می دهد.
38 40 زیاد فرق نمی کنه. اگر لازم باشه می شود فرکانس حامل را هم تشخیص داد که تنها کار سخت می شود. به هر حال نیازی نیست.
در زمانی مناسب برنامه را هم نگاه می کنم. ممنون.
---
کشف جدیدم این که بعضی از فرمان ها که تکرار شونده اند زمان تکرار دارند و اگر این زمان تکرار دقیق نباشد فرمان اجرا نمی شود. البته دقیق بودن زمان این وقفه چندان مهم نیست تا 20ms هم بیشتر بشود جواب می دهد اما اگر اختلاف زیادی داشته باشد حتی یک بار هم فرمان اجرا نمی شود.
---
اول بگو چه جشنواره ای برای این کار جایزه داده. این همه فکر وطرح چرا این طرحی که قبلا انجام شده جایزه برده؟ مورد دارد!!!
کنترل LG رو ندیدم اما مشابه چنین عمل کردی را دیدم. البته تفاوتی داشت. بر روی چند دستگاه مختلف که شرکت های مختلفی داشتند کار می کرد.مثلا کلید Play بر روی دستگاه های مختلف جواب میداد.
---------
از توجه دوستان ممنون. امید را هدیه می دهید.
سلام دوستان..(یه تشکر مخصوص برای آقای etrmodern چون خیلی زیاد زحمت کشیدن و لطف دارن)
من یه ایده ای دارم نمیدونم اجرایی بشه یا نه!قبلا هم تو این فکر بودم ولی بعد از خوندن پستی که توش از ساعت کاسیو نام برده شده بود این ایده قوت گرفت!
ایده ام اینه: خروجی این سنسورهای 3 پایه فقط کده دیگه؟یعنی اون سیگنال حامل 38 یا 40 کیلو دیگه نیست!میگم ما کاری به نحوه کد کردن و کریر و ... نداشته باشیم!ریموت یه دیتایی رو میفرسته که جنسش از 0 و 1 هست.حالا یا با pwm یا کد گذاری یا...!درسته؟میتونیم به میکرو بگیم از یه پایه اش یه دیتایی رو بگیره در مدت مثلا 20ms
..یعنی میکرو تکراری به مدت 20ms از پینی که سنسور متصله نمونه برداری کنه و بعد از مثلا 5 بار نمونه برداری اگه دریافتیهاش یکی باشه یه جایی ذخیره کنه و یا روی lcd نمایش بده.خوب با این روش هرچی بیاد بهش ذخیره میکنه و براش پروتکل و...مهم نیست!خوب بعدش آقای etrmodern میتونه دیتای دریافتی از هر دکمه رو send کنه و من هم میتونم شرط قرار بدم و با هر کد یه کاری برام بکنه!به نظر من تو ساعت های کاسیو این کار رو کرده بودن!یا اینکه این ساعت ها منویی داشتن که اونجا نوع ریموت رو انتخاب میکردیم!که اونوقت برای هر ریموتی تو میکروش برنامه جدا نوشتن حتما!!!
نمیدونم عملیه یا نه ؟به هر حال یه ایده است!
موفق باشید!
با سلام خدمت agape
این شخصی که تو جشنواره مقام آورده رو می تونی دعوتش کنی به این فروم ؟ که حداقل یه چیزی ازش یاد بگیریم .
آقا مرتضی ایولا ... خوب داری پیش میری ها ... ببینم می تونیم 1 هفته ای تمومش کنیم . !
آقا مرتضی من منظور شما رو راجع به کشف جدید نفهمیدم . در مورد وقفه و فرمان های تکرار شونده مثلاً کجای برنامه ها ؟ اگه این کشفتون خیلی کاربردی هست کاشکی به ما هم یاد بدی ...
خدمت آقای غفاری عرض کنم که دقیقاً صحیح فرمودید ، اما یه نکته ای : چرا باید هر 20 میلی ثانیه باید آنالیز کنیم ! خوب من دقیقا مثل ساعت کاسیو اومدم یه کلید تعریف کردم و قتی فشرده بشه تازه میکرو میره وارد برنامه ی گرفتن مادون قرمز میشه و با رها کردن کلید میکرو Interupt رو خاموش میکنه و بعد مدت زمان ها رو که گرفته در ایپرام ذخیره می کند .
در آخر هم منظر فرمان جدید می ماند .