آردوینو_جلسه17_سنسور TSOP1738

سلام مهندس معین خسته نباشید
من در مورد کار با سنسور TSOP1738 یه سوال داشتم و اینکه من با این سنسور و استفاده از کتابخانه مربوطه اش تونستم اون پروژه روشن و خاموش کردن LED با استفاده از کنترل تلویزیون رو بدون مشکل انجام بدم ولی زمانی که میخواستم با استفاده از این سنسور و ریموت هر قطعه دیگری به جز LED رو روشن و خاموش کنم مدار و برنامه دچار مشکل میشه و تمام کد های HEX دریافتی کاملا غلط و اشتباه دریافت میشن و عملا انگار دیگه سنسور یا خود آردوینو نمیتونن سیگنال های دریافتی از ریموت رو به درستی دیکد کنن(مشابه همون اتفاقی که شما با عوض کردن مد ریموت اسپلیتر انجام دادین و با زدن یک دکمه خاص کد های مختلفی دریافت میکردین) به عنوان مثال من خواستم با این برنامه به جای LED یک بلند گوی 8 اهم رو با زدن یک دکمه خاص روشن و خاموش کنم که دچار این مشکل شدم … ممنون میشم اگر راه حلی برای این مشکل وجود داره راهنماییم کنید

سلام مجدد من خودم این موضوع رو در اینترنت سرچ کردم و بعد از یکی دو ساعت سرچ متوجه شدم مشکل کجاست به همین خاطر گفتم اینجا هم اطلاع رسانی کنم که اگر دوست دیگه ای به این مشکل برخوردن اینجا راه حلش رو بتونن پیدا کنن … اون طور که متوجه شدم استفاده همزمان از کتابخانه IRremote و تابع tone باعث ایجاد conflict میشه چون این تابع و کتابخانه هر دو از یک واحد خاصی از تایمر میکرو استفاده میکنن و همین مورد باعث میشه موقع فرخوانی کتابخانه IRremote نتونیم از تابع tone استفاده کنیم و حالا یک راه حلش اینه که خودمون بریم داخل فایل کتابخانه IRremote و وارد فایل IRTimer.hpp بشیم و از اونجا دنبال عبارت define IR_USE_AVR_TIMER2 بگردیم و اون عدد 2 رو به 1 تغییر بدیم (این روش مخصوص آردوینو با میکروی ATMega328 هست که همون میکروی استفاده شده در برد آردوینو نانو هست ) . بعد از این تغییر مشکل حل میشه و میتونید همزمان از تابع tone و کتابخانه IRremote استفاده کنید منتها ایرادی که وجود داره اینه که با این کار یکسری توابع و کتابخانه های دیگه با کتابخانه IRremote دچار conflict میشن مثل کتابخانه Servo . در نتیجه توصیه اینه که به کتابخونه دست نزنیم و به جاش تابع tone رو استفاده نکنیم و به یه شکل دیگه اون رو پیاده سازی کنیم . ( حالا این نتیجه تمام چیزی بود که من با سرچ تو اینترنت متوجه شدم از مهندس معین عزیز میخوام اگر این پاسخ ایراد یا اشتباهی داره خودشون پاسخ و راه حل صحیح و اصولیش رو بفرمایند که خدای نکرده مطلب اشتباه منتشر نشده باشه ) ممنون :pray:

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

1 پسندیده