IRRemote و کدویژن

سلام
لطفا سوالتون رو واضح تر مطرح کنید که بتونیم کمک کنیم برطرف بشه، کدوم قسمت ها رو متوجه نشدید؟

سلام،
دوست عزیز در آموزش درباره اینکه ریموت های IR به چه صورت کار می کنن صحبت شده. در مورد اینکه چطور صفر ها و یک ها رو سوار بر موج IR می کنن هم صحبت شده. مباحث هم از پایه مطرح شده. مثال ساخت فرستنده و گیرنده انجام شده. موج های IR به صورت تصویری نمایش داده. بعد هم یک آباژور رو با یک ریموت کنترل یک شرکت دیگه روشن و خاموش کردیم. لطفا اینکه میگید مباحث پایه ای مطرح نشده رو توضیح بدید. هر شرکت برای خودش یک پرتوکل خاصی داره و صفر و یک ها رو به نحو خاص خودش ارسال می کنه برای کنترل دستگاه های مختلف. شما یا باید با اون شرکت تماس بگیرید و ببینید چطوری داره داده ها رو ارسال می کنه. یا خودتون امواج رو روی اسیلوسکوپ ببینید و سعی کنید متوجه بشید چطوری ارسال می شن یا اینکه از لایبرری های موجود استفاده کنید. استفاده از لایبرری های داخل اینترنت به هیچ عنوان کپی کردن حساب نمی شه و شما در آینده که حرفه ای تر بشید به هیچ عنوان نمی تونید همه کد ها رو خودتون بزنید و باید از لایبرری های مختلف استفاده کنید.
در مورد آردوینو هم با اینکه چند بار توضیح داده شده، یک بار دیگه هم اینجا توضیح میدم. شما در فصل آردوینو اصول برنامه نویسی زبان c و c++ رو یاد میگیرید که در کل بسته و در کل آینده شغلیتون در الکترونیک، مهم ترین زبانی هست که یاد میگیرید. در فصل آردوینو با انواع سنسور ها و موتور ها و دستگاه ها و قطعات و مدار های مختلف آشنا میشید که هیچ کاری به آردوینو ندارن و شما مستقل از اینکه میکروتون چیه باید این مباحث رو یاد بگیرید. اینکه استپر موتور چیه، سنسور التراسونیک چطوری کار می کنه یا کاربرد رله چیه و صد ها مطلب دیگه در فصل آردوینو توضیح داده شدن. اینکه چرا از آردوینو استفاده کردیم برای یاد دادن این مباحث هم به خاطر سادگیش هست. اگه شما قرار بود نحوه اندازه گیری فاصله با التراسونیک رو با ARM یاد بگیرید، قطعا گیج میشدید. چون خود ARM کلی نکته داره و سختی های خودش رو داره. پس ما سعی کردیم کلی قطعه و سنسور و آی سی و چیزای دیگه که لازمتون میشه در مسیر الکترونیک رو با آردوینو یادتون بدیم و در فصل های بعدی هم خیلی از این آزمایش ها با میکرو های AVR و ‌ARM تکرار شدن. در طول این بسته بار ها تاکید کردم که کسی نمی تونه بسته ای بسازه و همه قطعات الکترونیک رو توش یاد بده. بنابراین یادتون دادیم که چطوری یک قطعه جدید رو خودتون راه بندازید. دیتاشیت رو چطوری بخونید و چطوری با یک قطعه جدید برخورد کنید. همه مباحث هم از ابتدایی ترین حالت ممکن شروع شدن.
بعد از همه این توضیحات من مجدد از شما می خوام که سوالتون رو به درستی مطرح کنید تا ما بتونیم به شما کمک کنیم.
قصد انجام چه کاری رو دارید؟ چه مراحلی رو براش انجام دادید؟ در کجا به مشکل خوردید و اینکه بسته رو تا کجا دیدید. برای استفاده مفید و موثر از این فروم لطفا این موارد رو ذکر کنید تا خود من و همکاران من بتونیم سریعتر به مشکل شما رسیدگی کنیم.

سلام.ممنون ازلطف تان جناب مهندس،بامرورچندباره آموزشها،وگشتن دراینترنت به نتایج خوبی رسیدم،انشاءالله درصورت صلاحدید درهمین فروم،یا سایت به اشتراک خواهم گذاشت.اسعدالله ایامکم.

سلام. ضمن تشکر ازشما بزرگواران،عرض کنم که وقتی پایه اینتراپت خارجی توسط سنسور ریموت تریگرمیشود،دیتای وارده راچطور ثبت وحفظ کرده و از این دیتا در تایمرهااستفاده کنم.ببخشیداگرسوالم......

توی سایت گیت هاب (https://github.com) معمولا لایبرری هایی که ساخته میشن برای میکرو کنترلر ها قرار داده میشن
برای همین ir remote هم من یک لایبرری پیدا کردم
سرچ بفرمایید avr ir remote library جزو لینک های اول گوگل هست

سلام، شما باید ماهیت دیتای وارد شده رو بدونید تا بتونید دیتا رو ذخیره کنید. در مورد امواج IR، اگر از ماژول های گیرنده استفاده می کنید (مثل کاری که داخل بسته کردیم) موج ورودی به میکرو یک موج مربعی خواهد بود. پس شما باید روی پایه مورد نظر، هم روی لبه بالا رونده و هم روی لبه پایین رونده، اینتراپت رو ست کنید. بعد هر بار که اینتراپت شما فعال شد، دیتای تایمر رو جایی ذخیره کنید و تایمر رو صفر کنید (البته برای اولین لبه فقط باید تایمر رو صفر کنید.) اینطوری شما تونستید داده های اون موج مربعی رو ذخیره کنید و فاصله بین بالا و پایین شدن هاش رو اندازه بگیرید. (اینکه تایمر رو با چه تنظیماتی فعال می کنید هم بسته به فاصله بین بالا پایین شدن های دیتا داره.)
در نهایت اگه بتونید این داده ها رو روی یک IR LED تکرار کنید، می تونید همون کاری که اون دستور می کرده رو تکرار کنید. (مثلا روشن کردن کولر) فقط دقت کنید که داده های ریموت کنترلر ها معمولا روی فرکانس carrier به اندازه 38KHz هستن و باید این فرکانس رو رعایت کنید. به این معنی که دیتای 1 به معنی فرستادن این فرکانس و دیتای 0 به معنی نفرستادن این سیگنال هست. پس باید واحد PWM هم برای مثال راه اندازی کنید روی این فرکانس (یا اینکه خودتون زمان بندی کنید و خاموش روشن کنید led رو).
اگه روی مباحثی که در این بسته آموزش داده شده تسلط داشته باشید، انجام این پروژه کار سختی نیست.

باسلام
بنده دردو موضوع نحوه ایجاد وافزودن فایل کتابخانه ای به کتابخانه کدویژن و نیز در برنامه نویسی IR Remote برای میکروهای AVR مشکل دارم و متاسفانه در اینترنت هم چیز مناسبی نبود یا من نتوانستم پیداکنم. لطفا دراین موارد راهنمایی کنید. ممنون

سلام.درطول آموزش ،مهندس معین بارها ازضعف آردوینوصحبت کردند،اما حجم زیادی ازآموزش به همین آردوینوتعلق گرفته،الان درموضوع IRRemoteT ،بنده بامفهوم ونحوه کدکردن مفاهیم پایه این موضوع مشکل دارم.دراینترنت هم جستجوی زیادی کردم.پروتوکل های متنوعی تعریف شده و لایبرریهای مختلفی وجوددارد.اما صرف کپی کردن چندخط کدراه چاره نیست.بازهم عرض میکنم مفاهیم پایه برایم مهمترهست.اگردراین باب کمک کنید باعث امتنان خواهدبود

@Mehrad#600 سلام علیکم ورحمه الله وبرکاته.اول ازهمه،اگرنوشته ام باعث دلخوری شده ببخشید،برای بنده وامثال بنده که درشیب منفی عمریم ،ایجاددلخوری وناراحتی برای دیگران به هردلیل وعاملی ، پسندیده نیست.امابعد؛الان چندروزاست که سعی میکنم همان کاری راکه درآموزش قسمت IR آردوینو انجام را با AVR انجام دهم.مشکلم درانتقال اعدادوارقام پروتوکلها وکدینگ درمحیط کدویژن هست.کاربارجیسترها وپریفرالها رامیدانم.چندین موردپروژه و لایبرری دراینترنت دیده ام اما یا به زبان اسمبلی یا بیسیک هست. یک سوال- لایبرریهای آردوینوبراساس کدام پروتوکل هست؟آیا امکان تغییر واستفاده ازاین کتابخانه ها درکدویژن هست؟درآخر؛باور دارم که شما هیچ وظیفه ای درقبال من ودیگران ندارید.پس شاکرزحمتتان هستم.

لایبرری های آردوینو به زبان C++ هستن و معمولا با تکنیک های Objective ساخته میشن. اگر قسمت های مربوط به برنامه نویسی شی گرا رو کامل یاد گرفتید و با انجام تمرینات این بسته در زبان c هم به تسلط رسیده باشید، می تونید خودتون لایبرری های c++ رو به c تبدیل کنید.
لایبرری ها در زبان c معمولا فایل های .c و .h هستن که با include کردن فایل .h در پروژه و اضافه کردن فایل .c به فایل های پروژه، می تونید ازشون استفاده کنید. اینکه چطوری از فایل .h به نحوه کار یک لایبرری پی ببرید داخل بسته توضیح داده شده. ولی بعضی لایبرری ها example و documentation دارن که کمک میکنه.
من یک سرچ ساده کردم و چند تا لایبرری برای IR پیدا کردم داخل سایت github.
"avr IR control library" رو سرچ کنید داخل گوگل.
و در انتها اینکه من هنوز نمی دونم شما تا کجای بسته رو دیدید و چقدر تسلط دارید. ولی اگر هنوز کل مطالب رو ندیدید و احساس تسلط کامل روی زبان c رو ندارید، انجام پروژه های خارج از بسته براتون دشوار خواهد بود. صبر و شکیبایی داشته باشید و با بسته پیش برید. بعد از تمرین و تمرین و تمرین حالا می تونید پروژه های خاصی که توی ذهنتون هست رو پیاده کنید.