در پست امروز قصد داریم در ابتدا از نحوه کارکرد کنترل های مبتنی بر RC5 را مشخص کنیم و توضیح بدیم RC5 دقیقا چی هست!؟ و چطور کار میکنه؟ و در آخر سورس یک پروژه راه اندازی RC5 با آردینو را قرار خواهیم داد.
ریموت یا کنترل تلویزیون یکی از وسائل پر مصرف امروزی در اکثر خانه ها هست و اکثر کنترل های امروزی از این پروتکل استفاده مینمایند.
کنترل ها دارای یک فرستند IR هستند که از طریق آن اطلاعات را به گیرنده که همان تلویزیون یا وسائل الکترونیکی مشابه هست انتقال میدهد.
یک کد RC5 تشکیل شده از سه قسمت: togglebit , آدرس و یک کامند مربوطه به Command , مانند تصویر زیر:
اولین نکته مهم اینه که چطور یک صفر یا یک توسط این پروتکل سمت فرستنده باید ایجاد بشود؟
جهت هر صفر یا یک ما لازم است طبق تصویر زیر اقدام کنیم:
به عبارتی ما سعی میکنید در یک بازه زمانی 889 میکرو ثانیه یک پالس با فرکانس 36 کیلو هرتز به خروجی فرستنده IR خودمون ارسال کنیم.
زمان بندی در پروتکل Rc5 بسیار مهم وحیاتی هست و همانطور که میبنید ما جهت ایجاد یک صفر یا یک باید دقیقا فرکانس 36KHZ را بر روی خروجی فرستنده خود ایجاد کنیم, با توجه به دو تصویر بالا لازم است کاملا مشخص هست که زمان بندی و بخصوص درک بیت استارت میتونه نقشی حیاتی ایفا کنه و در صورت عدم درک صحیح بیت استارت میتونه درک کل پکت را دچار مشکل نماید.
شاید برای شما مفید باشد: پروژه های آردوینو
زمان بندی کل یک فریم را در زیر مشاهده میکنید و همانطور که می بینید کل زمان یک فریم دقیقا برابر با 24.889 میلی ثانیه میباشد.
طبق موارد بالا ایجاد یک کد RC5 بسیار راحت تر از دیکد آن میباشد و شما به راحتی میتواند در منزل با دیکد کد RC5 کنترل تلویزیون خود یک کنترل تلویزون بسازید.
جالب انجاست که عملکردها و کامندها طبق استانداری هستند که به راحتی میتوانید اونها را در وب سایت ویکی پدیا مشاهده کنید مانند جدول زیر:
همانطور که در بالا مشاهده کردید لازم است جهت ارسال یک بیت صفر یا یک ما اصطلاحا یک فرکانسی را بر روی خروجی فرستنده مدوله کنیم.
خوشبختانه گیرنده RC5 تمام زحمت باز کردن اون فرکانس را انجام میدهد و خروجی صفر و یک را تحویل ما میدهد و ما در خروجی RC5 یک خروجی منطقی صفر و یک خواهیم داشت بدون در نظر گرفتن فرکانس های مدوله شده!
یکی از معروفترین گیرنده ها SFH506 و SFH507 هست که به راحتی در بازار الکترونیک و حتی تعمیرکارهای تلویزیون میتوان آنها را پیدا نمود.
در اینجا پروژه راه اندازی RC5 توسط آردوینو که در اینجا منتشر کرده بود را منتشر میکنیم.
نویسنده کد زیر سعی کرده برخی کارکرد های متفاوت را برای ریموت نیز تفسیر نماید که در کد مشخص هست ومیتوانید براحتی آن را برای نیاز خود تغییر دهید.
در فیلم زیر نحوه اجرای این برنامه را مشاهده میکنید:
چرا هیچ جا این گیرنده رو با کدویژن راه اندازی نکردن مردم از بس گشتم من باید اینو روی یه میکرو ک ن پورت سریال داره ن پین وقفه راه بندازم
پیشنهاد میکنم زحمتش را بکشید و حتما اینجا بازنشر کنید برای بقیه
سلام خسته نباشید،چطور میشه هر کدام از این کد های ریموت کنترل را به فرمت hex format یا decimal format قابل درک برای نرم افزار گوشی آندروید Galaxy Universal Remote تبدیل کرد؟ (با حالت دسیمال و هگزادسیمال معمولی متفاوت می باشد).
سلام
روال نوشتن برنامه برای یه سیستم عاملی مثل اندرویید خیلی متفاوته به برنامه ای که برای اندرویید نوشته میشه
مطمئنا برای گوشی هایی که IRدارند برنامه های سمپل زیادی برای ارسال کد RC5 وجود داره که میتونید از اونها استفاده کنید
سلام’ در کنسولهای بازی قدیمی معروف به میکرو علاوه بر دسته بازی یک عدد تفنگ هم وجود داشت که دستگاهو به هر تلویزیونی وصل میکردین با شلیک این تفنگ به هر قسمت از صفحه تلویزیون دستگاه یا تلویزیون تشخیص میداد که آیا به پرنده در حال پرواز داخل بازی تیر خورده یا نه’ مکانیزم و عملکرد این سیستم چه جوریه?آیا با آردوینو میشه همچین چیزی ساخت?ممنون میشم کمک کنید’ لطفا طرز کارشو شرح بدین ‘سپاسگذارم
خوب خیلی ساده است ، همونطور که مشخصه تصویر داره توسط کنسول بازی ایجاد میشه ، اگر دقت کرده باشید اردک مورد نظر از درخشندگی بالایی برخورداره ، وقتی که شما تفنگ رو به سمتش گرفته باشید با توجه به درخشندگی اون قسمت از تصویر سنسور تفنگ عمل خواهد کرد
بله کار پیچیده ای نیست و فکر میکنم با آردوینو هم بشه همچین الگویی پیاده سازی کرد.
نویسنده شو !
سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.