از سری سنسورهای کاربردی در ماژول های آنالوگ برای بازی و گیم، طراحی ربات و حرکت ربات در محورهای مختصاتی از ماژول جوی استیک میتوان استفاده کرد. جوی استیک یک ماژول آنالوگ دو محوره در محور x, y است که میتوانید با هر میکروکنترلی که از آنالوگ پشتیبانی میکند، راه اندازی و تست کنید. در شانزدهمین بخش آموزش های micro:bit جوی استیک به میکروبیت راه راه اندازی خواهیم کرد. در ادامه با مرجع تخصصی میکروبیت به زبان فارسی، دیجی اسپارک همراه باشید.
جوی استیک JoyStick
بسیاری از پروژههای رباتیک نیاز به کنترل خروجیها در جهتهای مختلف دارند. از کنترل یک ربات پرنده گرفته تا هدایت ماشین کنترلی، همگی به جوی استیک نیاز دارند. ماژول جوی استیک با توجه به ساختار اهرمی مانند آن از دو پتانسیومتر در زوایه ۹۰ درجه بر روی یک پایه تشکیل شده است. این ماژول در حالتی که اهرمها هیچ حرکتی در راستای محور X و Y ندارند، خروجی ولتاژ ۲٫۵ ولت را تولید میکند. با حرکت شافت جوی استیک در راستای محور X و Y ولتاژ خروجی از ۰ تا ۵ ولت DC تغییر خواهد کرد. به هنگام اتصال ماژول به میکروکنترلر در حالت شافت ثابت، در خروجی مقادیری حدود ۵۱۲ را مشاهده خواهید کرد. سپس با جا به جایی شافت جوی استیک در راستای محور X و Y مقادیر بین ۰ تا ۱۰۲۳ تغییر خواهد کرد. حرکت جهت دار شافت جوی استیک توسط دو پتانسیومتر ۱۰ کیلو انجام شده و هر پتانسیومتر برای یک محور در نظر گرفته شده است. ماژول جوی استیک JoyStick دارای ۴ پایه به ترتیب GND , 5v , VRx , VRy , SW میباشد. پایه VRx مربوط به تغییرات اهرم در راستای محور X یا همان محور افقی میباشد. پایه VRy مربوط به تغییرات اهرم جوی استیک در راستای محور Y یا همان محور عمودی میباشد. پایه SW مربوط به کلید فشاری بر روی ماژول میباشد. در حالت عادی خروجی پین SW ، برابر با ۵ ولت DC است و در صورت فشار دادن کلید ولتاژ خروجی پایه SW به ۰ ولت تغییر میکند.
اتصال جوی استیک به میکروبیت
برای اتصال ماژول جوی استیک به میکروبیت به ۵ پایه نیاز داریم.
- پایه VCC پایه تغدیه است که به پایه ۳٫۳ یا ۵ ولت متصل میشود.
- پایه GND پایه زمین است که به GND متصل میشود.
- پایه VRX محور X است که به پایه ۱ برد میکروبیت متصل میشود.
- پایه VRY محور Y است که به پایه ۲ میکروبیت متصل میشود.
- پایه SW پایه کلید سوییچ است که به پایه شماره ۰ منصل میشود.
برنامه نویسی جوی استیک با میکروپایتون
ماژول جوی استیک آنالوگ است و برای کدنویسی در میکروپایتون به دستورات آنالوگ برای دریافت دیتا از پایه های آنالوگ نیاز داریم. کلاس ADC برای معرفی پایه آنالوگ به صورت زیر است.
classmicrobit.MicroBitAnalogDigitalPin
برای خواندن ولتاژ پایه از دستور زیر استفاده میکنیم. مقدار ADC بین ۰ تا ۱۰۲۳ قابل تغییر است
read_analog()
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
نماش حرکت جوی استیک بر روی ال ای دی های میکروبیت
برای نگاشت بازه ی 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 انتخاب کنید.
کد را آپلود کنید. سریال مانیتور را باز کنید. دیتای دریافتی از محور x ,y خوانده شده و سپس دیتا بر روی سریال مانیتور نمایش داده میشود.
جمع بندی لیدی پای
جوی استیک با میکروبیت به سه زبان برنامه نویسی قابل اجرا است. میکروپایتون، سی پلاس پلاس و جاوااسکریپت! در این آموزش به دو زیان کاربردی میکروپایتون و سی پلاس پلاس روش کدنویسی و اجرا را آموزش داده ایم. اتصالات بسیار ساده است و کافیست فقط از سه پایه برای اتصال پایه های آنالوگ و یک پایه برای دیجیتال استفاده کنید. کدنویسی در آردوینو کاملا مشابه با راه اندازی جوی استیک توسط بردهای آردوینو است و فقط بایستی شماره پایه را به درستی انتخاب کنید.
وسایل مورد نیاز
چنانچه در مراحل راه اندازی برد میکروبیت و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
سپاس از توضیحات
رده سنی کار با این میکرو چیست و آیا محدودیتی دارد؟
با سلام
خیر این برد با توجه به اینکه با هدف آموزش برای کودکان تولید شده است اما به واسطه طراحی فوق العاده و پشتیبانی از چندین زبان برنامه نویسی برای مبتدیان در هر سنی مناسب است.