آردوینو آموزش آردوینو پروژه های آردوینو کیت آردوینو

تبدیل ریموت کنترل رادیویی به ریموت چند کاره پروژه ریموت کد لرن با آردوینو

RF-Remote-with-Arduino-and-ASK-RF-Module--digispark-
نوشته شده توسط بهزاد ستاره

پیش از این در مورد کنترل از راه دور، شیوه راه اندازی و پروتکل‌های مختلف آن در دیجی اسپارک، مفصل بحث شده است.  واژه کنترل از راه دور یا remote control به طور معمول برای صدور فرمان از فاصله دور، تلویزیون یا دیگر وسایل مصرفی الکترونیکی مانند سیستم‌های صوتی استفاده می‌شود. در ادامه این آموزش بسیار جذاب، شیوه دریافت کد ریموت رادیویی و استفاده از آن جهت ارسال فرمان به یک مدار را آموزش خواهیم داد. با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 

انواع ریموت کنترل‌ها

۱- ریموت کنترل کد فیکس Fix code

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

 

۲- ریموت های کد لرنینگ Code Learner

ریموت‌های کد لرن نسبت به کد فیکس دارای امنیت بالاتری هستند. ولی بازهم احتمال کپی برداری از این ریموت‌ها وجود دارد. به صورت دستی کد روی این ریموت‌ها ست نمی‌شود. ابتدا لازم است که گیرنده در وضعیت شناسایی قرار گیرد سپس با فشردن کلیدهای ریموت، کد آن در حافظه گیرنده ذخیره شده و مجوز ثبت صادر می‌شود. لازم است بدانید که ظرفیت حافظه هر گیرنده در حدود ۲۵۰ تا ۵۰۰ ریموت است. برای شناسایی ریموت جدید به گیرنده باید حتما در حالت تعریف کد قرار گرفته باشد.

 

۳- ریموت‌های هاپینگ

در روش هاپینگ ارتباط میان ریموت و رسیور بر اساس یک کد ارتباطی برقرار می‌شود. این کد بر خلاف مدل کد لرنینگ ثابت نبوده و در هر بار ارتباط یک کد ارتباطی جدید توسط ریموت مورد استفاده قرار می‌گیرد. در این نوع ارتباط در حدود ۱۶ میلیون حالت برای کددهی وجود داشته که عملا کپی برداری از این مدل ریموت کنترل را غیر ممکن می‌سازد. همچنین شناساندن ریموت به رسیور فقط از طریق خود رسیور امکان پذیر می‌باشد. این ویژگی امنیت استفاده از این نوع ریموت‌ها را بسیار بالا برده و کپی برداری از ریموت Remote را غیرممکن می‌کند.

ماژول گیرنده رادیویی ASK در باند فرکانسی 433 - آموزش آردوینو Arduino -دیجی اسپارک

 

ماژول گیرنده رادویی DX-RF433

Ask مخفف Amplitude-Shift keying به دلیل سادگی و مقرون به صرفه بودن یکی از پرکاربردترین مدولاسیون‌های دیجیتال است. در مدولاسیون ASK سیگنال‌های صفر و یک با تغییر دامنه‌ی فرکانس حامل ارسال می‌شوند. گیرنده‌های رایج در دو فرکانس ۴۳۳ مگاهرتز و ۳۱۴ مگاهرتز موجود می‌باشند. این نوع ماژول بدون کریستال می باشد و با تغییر ولتاژ کاری فرکانس مرکزی شیفت پیدا می‌کنید. در اثر این وضعیت حساسیت و برد دریافت به شدت کاهش می‌یابد. ولی در ولتاژ ۵ ولت نسبت به گیرنده‌ی سوپرهترود این حساسیت بهتری دارد. عمده‌ترین کاربرد گیرنده‌های ASK در ریموت کنترل درهای اتوماتیک و سیستم‌های امنیتی، دزدگیر منازل و خودرو می‌باشد. استفاده از آنتن مناسب می‌تواند تاثیر محسوسی روی برد ارسالی داشته باشد. طول آنتن ربع موج برای این ماژول‌ها حدودا ۲۰ سانتی‌متر می‌باشد. می‌توانید از یک سیم افشانی با این طول به عنوان آنتن استفاده کنید.

 

هدف آموزش ریموت کد لرن دو کاناله

در این آموزش با استفاده از مازول گیرنده رادیویی ۴۳۳ مگاهرتزی و همچنین یک ریموت Remote لرنینگ ۴۳۳ مگاهرتزی به همراه برد آردوینو قصد داریم یک مدار کنترل از راه دور بسازیم. ریموت کنترل دو کاناله جهت کنترل وسایل و تجهیزات با قابلیت تعریف ریموت جدید طراحی می‌کنیم. در ادامه آموزش به بررسی وسایل مورد نیاز و کد برنامه خواهیم پرداخت.ریموت فرستنده رادیویی 433MHz آموزش خواندن کدهای ریموت کنترل با آردوینو - دیجی اسپارک

 

اتصالات مدار:

  • پایه VCC ماژول رله Relay را به پایه ۵ ولت آردوینو اتصال دهید.
  • پایه GND ماژول رله Relay را به پایه GND آردوینو اتصال دهید.
  • پایه IN رله شماره یک را به پایه ۵۰ اردوینو اتصال دهید .
  • پایه IN رله شماره دو را به پایه ۵۱ اردوینو اتصال دهید.
  • پایه data ماژول گیرنده ۴۳۳ مگاهرتزی را به پایه شماره ۲ اردوینو اتصال دهید.
  • پایه VCC ماژول گیرنده ۴۳۳ مگاهرتزی را به پایه ۵ ولت اردوینو اتصال دهید.
  • پایه GND ماژول گیرنده ۴۳۳ مگاهرتزی را به پایه GND اردوینو اتصال دهید.

استفاده از رله در مدیریت وسایل برقی با آردوینو و ریموت کنترل - دیجی اسپارک

 

ال سی دی LCD 20*4 با رابط I2C

در این آموزش از ال سی دی گرافیکی ۴*۲۰ با درایور راه انداز I2C استفاده می‌کنیم. ماژول راه انداز LCD با تراشه PCF8574 و رابط I2C مناسب برای مدیریت ال سی دی های کاراکتری و باعث کاهش حجم سیم کشی در طی پروژه خواهد شد. راه انداز LCD کاراکتری با رابط I2C دارای ۴ پایه SCL , SDA, VCC و GND است. در ادامه اتصال ال سی دی LCD به آردوینو را توضیح خواهم داد.

LCD کاراکتری در آموزش ریموت کنترل رادیویی با آردوینو - دیجی اسپارک

 

اتصال ال سی دی I2C به آردوینو

  • پایه SCL ماژول راه انداز ال سی دی با رابط I2C را به پایه SCL (پایه شماره ۲۱) آردوینو اتصال دهید.
  • پایه SDA ماژول راه انداز ال سی دی با رابط I2C را به پایه SDA (پایه شماره ۲۰) آردوینو اتصال دهید.
  • پایه VCC ماژول راه انداز ال سی دی با رابط I2C را به پایه ۵ ولت آردوینو اتصال دهید.
  • پایه GND ماژول راه انداز ال سی دی با رابط I2C را به پایه GND آردوینو اتصال دهید.

 

کدهای مدار ریموت کنترل با آردوینو

وسایل مورد نیاز:

ماژول رله تک کانال ۵ ولت

کابل فلت نری به نری

کابل فلت نری مادگی

ریموت کد لرن ۴۳۳ مگاهرتز

برد اردوینو UNO یا Mega2560

راه انداز LCD کاراکتری با رابط I2C

LCD کاراکتری ۲۰*۴

ماژول گیرنده ۴۳۳ مگاهرتز

 

در ابتدا کتابخانه rc-switch-master را دانلود نموده و نصب کنید سپس کد را در نرم افزار آردوینو کپی کنید. بعد طبق اطلاعات گفته شده اتصالات را انجام دهید و کد را به نرم افزار آردوینو انتقال دهید. در این آموزش من از ریموت کنترل ۴۳۳ مگاهرتز به همراه ماژول گیرنده ۴۳۳ استفاده کردم چنانچه میخواهید از ریموت ۳۱۵ مگاهرتز استفاده نمایید باید ماژول گیرنده را نیز به ۳۱۵ مگاهرتز تغییر دهید. دقت کنید که  کلید های هر ریموت کد منحصر به فرد خود را دارند بنابراین با توجه به اینکه کد ریموت نوشته شده در آموزش منحصر به ریموت استفاده شده من در آموزش است، باید کد ریموت خود را دریافت و در کد برنامه آردوینو جایگزین کنید.

RF Remote control code with ardun o-digispark

دریافت کد ریموت در LCD

پس از کامپایل برنامه تغذیه اردوینو را متصل کنید. روی LCD عبارت  :CODE را مشاهده خواهید نمود که با فشار دادن هر کلید ریموت ، کدهای آن را روی LCD مشاهده خواهید کرد . کافیست ۴ کلید ریموت را فشار داده و کدهای آن را یادداشت نمایید . سپس باید کدهای ریموت استفاده شده را در کد آردوینو جایگزین کنید. به عنوان مثال برای جایگزین کردن کد کلید اول شما باید پس از مشاهده  آن در LCD کافیست به خط ۲۶ برنامه ( if(data==548803  مراجعه کرده و آن را با این عدد جایگزین کنید.  برای جایگزینی سایر کدها نیز به خطوط ۳۱ ، ۳۶ ، ۴۱ رفته و آن ها را با کد جدید جایگزین کنید.

 

تحلیل کد برنامه

پس از جایگزین کدها دوباره برنامه را کامپایل کرده و به اردوینو ارسال میکنیم . با فشار دادن کلیدها میتوان دو رله را خاموش یا روشن کرده و وضعیت فعلی هر رله را نیز روی LCD مشاهده نمایید . در صورتی که قصد تعریف یک ریموت جدید را نیز داشتید میتوانید مراحل بالا را دوباره تکرار نمایید.

 

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

 

پروژه

اخیرا تصمیم گرفته‌ایم برای تعامل بیشتر با شما کاربران و ایجاد موقعیتی در راستای رقابت دانش کاربران، در انتهای هر آموزش یک پروژه تعریف می‌کنیم. به اولین کاربری که به پروژه تعریف شده پاسخ صحیح بدهد، بن خرید به ارزش ۳۰ هزار تومان از فروشگاهدانشجوکیت ارایه خواهد شد. پروژه: با استفاده از یک ماژول GSM موارد تغییرات در مدار توسط ریموت رادیویی را به صورت SMS ارسال کنید. قسمت سیم کارت این مدار فقط برای ارسال بازخورد است. با هر فعالیت توسط ریموت رادیویی، موارد به صورت SMS جهت اطلاع رسانی ارسال می‌شوند.

 

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

درباره نویسنده

بهزاد ستاره

کارشناس الکترونیک
عاشق دنیای دیجیتال ام و سعی میکنم از تکنولوژی عقب نمونم

تبادل نظر و رفع عیب با ثبت دیدگاه

۳۳ دیدگاه