پورتال دیجیتال

منو

ذخیره ریموت کنترل (رادیویی) RF کدلرن در آردوینو و ESP8266

ریموت کنترل کد لرن (Learning Code)

در این آموزش نحوه ست کردن ریموت رو با فشار دادن یک دکمه رو به شما در آردوینو و ESP8266 یاد می دهم ، این جزء مواردی بود که خودم هم دنبالش بودم و با کمی تست چندین روش برای ذخیره کد های ریموت پیدا کردم که یکی از این روش رو در این آموزش ارائه می دهم. اول از اینکه در مورد ریموت های کد لرن باید بگم که با فشار دادن هر دکمه یک کد برای شما ارسال می کند که در ریموت های ۲۴ بیتی ۲۰ بیت اول آدرس و ۴ بیت آخر مربوط به دکمه ها است و این مقادیر ثابت هستند و کمک می کند با روش های مختلف بدون نیاز به ذخیره همه کلید ها ، کد ارسالی رو تشخیص داد.

تجزیه و تحلیل کد های ارسال توسط ریموت کنترل کد لرن

همان طور که در زیر مشاهده می کنید ۲۰ بیت اول ارسالی کلید ها شبیه هم هستند و ۴ بیت آخر هم که مربوط به کلید های یک ریموت ۴ دکمه ایی است با فقط با جابجا شد بیت ۱ چهار کد متفاوت ایجاد کرده است پس برای ذخیره کردن ریموت فقط کافی است یک دکمه را ذخیره کنید و بعد برای تشخیص دکمه دیگر بودن ذخیره کردن با مقایسه ۲۰ بیت اول دستورات متفاوتی اجرا کنید.

برای درک بهتر این موضوع و کدی برای شما آماده کردم که تمام این موارد انجام شده و حتی قالبیت ذخیره ۱۰۰ ریموت رو به شما می دهد که بر اساس ظرفیت حافظه EEPROM تغییر می کند.

نحوه ذخیره ۱۰۰ ریموت کنترل RF کد لرن در آردوینو و ESP8266

کتابخونه مورد نیاز رو از اینجا دانلود کنید. این کد رو برای برد های آردوینو و ماژول ESP8266 می تونید استفاده کنید فقط در برد Uno مقدار mySwitch.enableReceive(14) برابر صفر و در ESP8266 برابر ۱۴ قرار بدهید در این پروژه بر روی پایه ۱۴ تنظیم شده چون کد رو بر روی ESP8266 تست زدم ، نکته بعدی در Uno بعد از دستور EEPROM.write برای ذخیره نیاز به دستور EEPROM.commit() نیست ولی برای ESP8266 حتما باید بعد از هر بار نوشتن این دستور هم اجرا بشه ، برای ذخیره هر ریموت ۴ بایت از حافظه EEPROM استفاده می شود که من در اینجا حافظه ی EEPROM رو با ظرفیت ۱۰۲۴ بایت پیکربندی کردم و این مورد فقط در ESP8266 استفاده می شود که حداکثر ۲۰۴۸ است.

نحوه عمکرد هم به این صورت است که با ارسال درستور REG=x در سریال ترمینال به برنامه منتظر دریافت کد به مدت ۳۰ ثانیه می ماند که دستور دریافت کد ذخیره و در صورت سپری شدن زمان ۳۰ ثانیه پیغام Timeout به شما نشان می دهد ، x شماره حافظه است.

دسته :  تازه ترین نوشته ها

دیدگاه بگذارید

avatar
  Subscribe  
Notify of