انجام پروژه با آردوینو, پروژه با آردوینو

ساخت کنترلر مادون قرمز خود با آردوینو


در این پروژه ساخت کنترلر مادون قرمز خود با آردوینو، ما کنترلر مادون قرمز خود را با دو جوی استیک، دو دکمه مسطح و دو دکمه تریگر می سازیم.

اقلام استفاده شده:

آردوینو اونو Arduino UNO

ماژول جوی استیک joystick

شیلد جویستیک شیلد آردوینو joystick shield

ماژول فرستنده 433 RXB22

ماژول گیرنده 315 RXB22

ماژول IR fc-51

باتری ۱ سل 300mah 25c های پاور پروازی

باتری 18650 پاناسونیک 4800

جاباتری 4 تایی مشکی پشت تخت

کلید راکر گرد کوچک 2 پایه

سیم برد بردی 10 تایی دو سر نری

در مورد این پروژه ساخت کنترلر مادون قرمز خود با آردوینو:

آیا روباتی دارید که از یک کنترلر سفارشی بهره مند شود؟ ریموت های کوچک پروژه شما را اجرا نمی کنند؟ شاید پروژه شما از استفاده از جوی استیک به جای دکمه‌های بیتی بهره ببرد؟ در این پروژه، ما کنترلر مادون قرمز خود را با دو جوی استیک، دو دکمه مسطح و دو دکمه تریگر می سازیم که می توانید از آنها برای کنترل تقریباً هر چیزی با گیرنده مادون قرمز استفاده کنید! بیا بریم!

اکنون، بدیهی است که این کنترلر به دستگاهی برای جفت شدن نیاز دارد. اگر در حال ساخت ربات با آردوینو هستید، پیشنهاد می کنیم از چیزی مانند گیرنده IR RobotGeek برای دریافت سیگنال از کنترلر استفاده کنید.

می‌توانید این کنترل‌کننده را تقریباً با هر دستگاه کنترل‌شده IR جفت کنید، به شرطی که ریموت اصلی را برای کپی کردن کدهای سیگنال در اختیار داشته باشید!

مرحله 1: مونتاژ / سیم کشی

در اینجا یک نمونه طرح وجود دارد که دو جوی استیک، دو دکمه و فرستنده IR را در بالای میز کار قرار می دهد. در پایین، Geekduino & Sensor Shield، نگهدارنده باتری و دو دکمه تریگر را نصب کردیم. شما می توانید آن را هر طور که دوست دارید قرار دهید، این فقط یک توصیه است.

نمودار را دنبال کنید و از این جدول برای سیم کشی کنترلر خود استفاده کنید.

مرحله 2: برنامه نویسی کنترلر
کتابخانه IRlib و طرح کنترل IR سفارشی در کتابخانه ها و ابزارهای RobotGeek گنجانده شده است. آن را دانلود و در پوشه آردوینو خود استخراج کنید.

RobotGeek

برای راه اندازی و اجرای آن، تنها کاری که باید انجام دهید این است که:

File → Sketchbook → RobotGeekSketches → Demos → IR → IRcustomController

و آن را در برد خود آپلود کنید.

می‌توانیم ادامه دهیم، اما بیایید نگاهی گذرا به کد بیندازیم تا ایده‌ای در مورد آنچه که با آن کار می‌کنیم به دست آوریم.

const int Set_Protocol = NEC;
//Left Joystick
  const unsigned long  L_JOY_RIGHT_ARROW = 0xFFC23D; 
  const unsigned long  L_JOY_LEFT_ARROW = 0xFF22DD; 
  const unsigned long  L_JOY_UP_ARROW = 0xFF629D; 
  const unsigned long  L_JOY_DOWN_ARROW = 0xFFA857; 
//Right Joystick
  const unsigned long  R_JOY_RIGHT_ARROW = 0xFD50AF; 
  const unsigned long  R_JOY_LEFT_ARROW = 0xFD10EF; 
  const unsigned long  R_JOY_UP_ARROW = 0xFDA05F; 
  const unsigned long  R_JOY_DOWN_ARROW = 0xFDB04F; 
//Buttons
  const unsigned long  L_FACE_BUTTON = 0xFF02FD; 
  const unsigned long  R_FACE_BUTTON = 0xFF6897; 
  const unsigned long  L_TRIGGER_BUTTON = 0xFFB04F;
  const unsigned long  R_TRIGGER_BUTTON = 0xFF52AD;

بنابراین، در اینجا، پروتکلی را که برای ارسال فرمان استفاده می‌کنیم، تعریف می‌کنیم، سپس فهرستی از ثابت‌های طولانی بدون علامت را تنظیم می‌کنیم. 6 کاراکتر بعد از 0x همان چیزی است که ما ارسال می کنیم. این مقادیر خاص از دو کنترل مینی IR مجزا قرض گرفته شده اند، اما بسته به آنچه می خواهید کنترل کنید، می توانند مقادیر متفاوتی داشته باشند. اگر می خواهید یک کنترلر جایگزین برای دستگاه خود بسازید، می توانید در این دستورالعمل با گرفتن کدهای IR از راه دور دیگر آشنا شوید.

instructable

مرحله 3: برنامه نویسی دستگاه شما
می توانید چند نمونه از کدهایی را که از گیرنده IR در Turret و Rover با IR Remote Instructables استفاده می کنند را مشاهده کنید. با نگاهی به این کد، می‌بینید که کتابخانه IRLib سیگنال را بر اساس کنترل از راه دور انتخاب شده در فایل remotes.h رمزگشایی می‌کند. فایل h و دستور if/else if ساده برای رسیدگی به ویژگی های دستور استفاده می شود. این آموزش می تواند کمی بیشتر در مورد استفاده از گیرنده IR به شما آموزش دهد.

مرحله 4: شما همه چیز تنظیم کرده اید!
با کنترلر مادون قرمز جدید خود چه چیزی را کنترل خواهید کرد؟ آیا می توانید طرح های دیگری را که ممکن است برای دستگاه های مختلف بهتر کار کنند فکر کنید؟ در مورد اضافه کردن یک چراغ برای اینکه بدانید در حال ارسال داده هستید، یا یک زنگ هشدار برای اطلاع از روشن بودن کنترل از راه دور و مدتی استفاده نشدن از آن چیست؟ کارهای زیادی برای انجام دادن وجود دارد، ما دوست داریم آنچه را که به ذهن شما خطور می کنید، بشنویم!

کد:

const int Set_Protocol = NEC;
//Left Joystick
  const unsigned long  L_JOY_RIGHT_ARROW = 0xFFC23D; 
  const unsigned long  L_JOY_LEFT_ARROW = 0xFF22DD; 
  const unsigned long  L_JOY_UP_ARROW = 0xFF629D; 
  const unsigned long  L_JOY_DOWN_ARROW = 0xFFA857; 
//Right Joystick
  const unsigned long  R_JOY_RIGHT_ARROW = 0xFD50AF; 
  const unsigned long  R_JOY_LEFT_ARROW = 0xFD10EF; 
  const unsigned long  R_JOY_UP_ARROW = 0xFDA05F; 
  const unsigned long  R_JOY_DOWN_ARROW = 0xFDB04F; 
//Buttons
  const unsigned long  L_FACE_BUTTON = 0xFF02FD; 
  const unsigned long  R_FACE_BUTTON = 0xFF6897; 
  const unsigned long  L_TRIGGER_BUTTON = 0xFFB04F;
  const unsigned long  R_TRIGGER_BUTTON = 0xFF52AD;
code

Github

فیلم:

فیلم


منبع این مطالب:

create.arduino.cc

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *