میکروبیت micro:bit میکروپایتون Micropython

آموزش برد میکروبیت BBC micro:bit بخش شانزدهم: راه اندازی جوی استیک

getting-started-with-bbc-microbit-step-sixteen-running-joystick-digispark
نوشته شده توسط پریسا پوربلورچیان

از سری سنسورهای کاربردی در ماژول های آنالوگ برای بازی و گیم، طراحی ربات و حرکت ربات در محورهای مختصاتی از ماژول جوی استیک میتوان استفاده کرد. جوی استیک یک ماژول آنالوگ دو محوره در محور x, y است که میتوانید با هر میکروکنترلی که از آنالوگ پشتیبانی می‌کند، راه اندازی و تست کنید. در شانزدهمین بخش آموزش های micro:bit جوی استیک به میکروبیت راه راه اندازی خواهیم کرد. در ادامه با مرجع تخصصی میکروبیت به زبان فارسی، دیجی اسپارک همراه باشید.

جوی استیک به میکروبیت micro:bit - دیجی اسپارک

 


جوی استیک JoyStick


بسیاری از پروژه‌های رباتیک نیاز به کنترل خروجی‌ها در جهت‌های مختلف دارند. از کنترل یک ربات پرنده گرفته تا هدایت ماشین کنترلی، همگی به جوی استیک نیاز دارند. ماژول جوی استیک با توجه به ساختار اهرمی مانند آن از دو پتانسیومتر در زوایه ۹۰ درجه بر روی یک پایه تشکیل شده ‌است. این ماژول در حالتی که اهرم‌ها هیچ حرکتی در راستای محور X و Y ندارند، خروجی ولتاژ ۲٫۵ ولت را تولید می‌کند. با حرکت شافت جوی استیک در راستای محور X و Y ولتاژ خروجی از ۰ تا ۵ ولت DC تغییر خواهد کرد. به هنگام اتصال ماژول به میکروکنترلر در حالت شافت ثابت، در خروجی مقادیری حدود ۵۱۲ را مشاهده خواهید کرد. سپس با جا به جایی شافت جوی استیک در راستای محور X و Y مقادیر بین ۰ تا ۱۰۲۳ تغییر خواهد کرد. حرکت جهت دار شافت جوی استیک توسط دو پتانسیومتر ۱۰ کیلو انجام شده و هر پتانسیومتر برای یک محور در نظر گرفته شده است. ماژول جوی استیک JoyStick دارای ۴ پایه به ترتیب GND , 5v , VRx , VRy , SW می‌باشد. پایه VRx مربوط به تغییرات اهرم در راستای محور X یا همان محور افقی می‌باشد. پایه VRy مربوط به تغییرات اهرم جوی استیک در راستای محور Y یا همان محور عمودی می‌باشد. پایه SW مربوط به کلید فشاری بر روی ماژول می‌باشد. در حالت عادی خروجی پین SW ، برابر با ۵ ولت DC است و در صورت فشار دادن کلید ولتاژ خروجی پایه SW به ۰ ولت تغییر می‌کند.

راه اندازی جوی استیک به میکروبیت micro:bit - دیجی اسپارک

 


اتصال جوی استیک به میکروبیت


برای اتصال ماژول جوی استیک به میکروبیت به ۵ پایه نیاز داریم.

  • پایه VCC پایه تغدیه است که به پایه ۳٫۳ یا ۵ ولت متصل می‌شود.
  • پایه GND پایه زمین است که به GND متصل می‌شود.
  • پایه VRX محور X است که به پایه ۱ برد میکروبیت متصل می‌شود.
  • پایه VRY محور Y است که به پایه ۲ میکروبیت متصل می‌شود.
  • پایه SW پایه کلید سوییچ است که به پایه شماره ۰ منصل می‌شود.

اتصالات جوی استیک به برد میکروبیت - دیجی اسپارک

 


برنامه نویسی جوی استیک با میکروپایتون


ماژول جوی استیک آنالوگ است و برای کدنویسی در میکروپایتون به دستورات آنالوگ برای دریافت دیتا از پایه های آنالوگ نیاز داریم. کلاس ADC برای معرفی پایه آنالوگ به صورت زیر است.

classmicrobit.MicroBitAnalogDigitalPin

برای خواندن ولتاژ پایه از دستور زیر استفاده می‌کنیم. مقدار ADC بین ۰ تا ۱۰۲۳ قابل تغییر است

read_analog()

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

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

 

راه اندازی جوی استیک با برد میکروبیت micro:bit - دیجی اسپارک

 


نماش حرکت جوی استیک بر روی ال ای دی های میکروبیت


برای نگاشت بازه ی adc بر روی ال ای دی های داخلی میکروبیت از تکنیک برنامه نویسی استفاده می‌کنیم. به اینصورت که یکی از ال ای دی ها در نوار ۵X5 ال ای دی ها روشن شده و سپس با حرکت شافت جوی استیک در محور عمودی و افقی جا به جا می‌شود. برای اینکار در ابتدا نیاز داریم بازه ۱۰۲۴ را به ۵ نگاشت کنیم. در این خصوص فرمول زیر نوشته می‌شود.

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

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

 


جوی استیک با میکروبیت در آردوینو


راه اندازی و تست جوی استیک به برد میکروبیت در نرم افزار آردوینو دقیقا مشابه کدنویسی و اجرا در آردوینو است. در ابتدا هر دو محور x , y در برنامه تعریف شده و سپس پایه های آنالوگ تعریف شده و توسط دستور AnalogRead دیتای ورودی از پایه های آنالوگ خوانده می‌شود. کد آردوینو به صورت زیر است.

#define VRX_PIN  1 
#define VRY_PIN  2 

int xValue = 0; // دریافت مقادیر از محور x
int yValue = 0; //دریافت مقادیر از محور y

void setup() {
  Serial.begin(9600) ;
}

void loop() {
  // خواندن مقادیر آنالوگ از دو محور
  xValue = analogRead(VRX_PIN);
  yValue = analogRead(VRY_PIN);

  // نمایش دیتا در سریال مانیتور
  Serial.print("x = ");
  Serial.print(xValue);
  Serial.print(", y = ");
  Serial.println(yValue);
  delay(200);
}

 

برای اجرای برنامه در آردوینو در ابتدا فایل microbit-adv را به پوشه میکروبیت با Drag & Drop انتقال دهید. سپس از منو tools / Board Manager نوع برد را microbit v2 انتخاب کنید.

جوی استیک با میکروبیت در آردوینو iDE - دیجی اسپارک

 

کدنویسی جوی استیک با میکروبیت در آردوینو - دیجی اسپارک

 

کد را آپلود کنید. سریال مانیتور را باز کنید. دیتای دریافتی از محور x ,y خوانده شده و سپس دیتا بر روی سریال مانیتور نمایش داده می‌شود.

نمایش وضعیت جوی استیک در سریال مانیتور - دیجی اسپارک

 


جمع بندی لیدی پای


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

 


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


برد میکروبیت Microbit BBC V2

شیلد GPIO Microbit

جوی استیک 

کابل

جوی استیک joystick و میکروبیت با میکروپایتون - دیجی اسپارک

 

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

 

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

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

۲ دیدگاه

    • با سلام
      خیر این برد با توجه به اینکه با هدف آموزش برای کودکان تولید شده است اما به واسطه طراحی فوق العاده و پشتیبانی از چندین زبان برنامه نویسی برای مبتدیان در هر سنی مناسب است.