عناوين الدرس

استخدام عصا التحكم joystick مع الاردوينو

مبتدئ

خلال هذا المشروع، سنتعلم كيفية استخدام عصا التحكم  Joystick مع الاردوينو. ليتم استخدامها في تطبيقات مختلفة مثل التحكم في حركة الروبوت وتوجيهه، أو في عمل ألعاب الفيديو باستخدام الاردوينو.

استخدام-عصا-التحكم-joystick-مع-الاردوينو

المكونات المطلوبة

arduino uno r3

لوحة الأردوينو (Arduino Uno)

عصا التحكم ( Joystick)

Full size breadboard 830

لوح التجارب (Breadboard)

Breadboard Jumper Wire 65 pcs

أسلاك توصيل (Wires)

عصا التحكم Joystick

عصا التحكم أو ذراع التوجيه هي احد القطع الالكترونية التي تتميز بالبساطة وسهولة البرمجة. حيث أنها تستخدم في تطبيقات متعددة مثل الألعاب، والروبوتات،والرافعات وغيرها.

استخدام-عصا-التحكم-joystick-مع-الاردوينو

تتكون عصا التحكم من مقاومتين متغيرتين للتحكم بمحاور الاتجاه X  و Y . يؤدي تحريك عصا التحكم  إلى تغيير في قيمة المقاومتان. ويتم تمثيل موضع عصا التحكم بنقطة يتم وصفها على محاور X,Y .

joystick-arduino

يتكون عصا التحكم من ثلاث مدخلات يتم توصيلهم إلى الأردوينوالخاص بك، في حين ان الاثنين المتبقية امدادات للطاقة.

joystick-arduino

توصيل الدارة :

قم بتوصيل عصا التحكم إلى الأردوينو كما هو موضح بالصورة التالية :

استخدام-عصا-التحكم-joystick-مع-الاردوينو

استخدام-عصا-التحكم-joystick-مع-الاردوينو

التوصيل :
Arduino Joystick
5v Vcc
Gnd Gnd
A0 VRx
A1 VRy

الكود البرمجي :

int xVal;                 //X values from joystick
int yVal;                 //Y values from joystick

void setup() {
  Serial.begin(9600);     //Starts serial at 9600 baud
  pinMode(A0, INPUT);     //Sets the analog ports used to an input
  pinMode(A1, INPUT);
}

void loop() {
  xVal = analogRead(A0);  //read the X value
  yVal = analogRead(A1);  //read the Y value
  Serial.print(" Y = ");
  Serial.print(yVal);     //prints Y value
  Serial.print(" X = ");
  Serial.println(xVal);   //prints X value
  delay(1000);            // so that we dont get a spam on the serial monitor
}

شرح الكود :

قمنا بتعريف متغيرين xVal، yVal إحداهما لتخزين قيمة X  والأخر لتخزين قيمة Y  ، حيث تمثل القيميتين موضع/موقع عصا التحكم.
في دالة التهيئة قمنا بتفعيل شاشة الاتصال التسلسلي، ثم ضبط الأطراف الموصله مع عصا التحكم كمدخل.

int xVal;                 //X values from joystick
int yVal;                 //Y values from joystick

void setup() {
  Serial.begin(9600);     //Starts serial at 9600 baud
  pinMode(A0, INPUT);     //Sets the analog ports used to an input
  pinMode(A1, INPUT);
}

نقوم بقراءة قيم X  و Y  ثم عرض النتائج على شاشة الاتصال التسلسلي باستخدام الدالة (Serial.print(value .

void loop() {
  xVal = analogRead(A0);  //read the X value
  yVal = analogRead(A1);  //read the Y value
  Serial.print(" Y = ");
  Serial.print(yVal);     //prints Y value
  Serial.print(" X = ");
  Serial.println(xVal);   //prints X value
  delay(1000);            // so that we dont get a spam on the serial monitor
}

X
Product added to the cart