الأحد، 13 أبريل، 2014

Arduino Joystick Module عصا التحكم

عصا التحكم 


Arduino Joystick Module 



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





يمكننا بواسطه مدخلات هذه القطعه  التحكم بالحركه  في 3 الاتجاهات (س,ص,ع)   .وذلك لانها تتكون من مقاومتين متغيرتين"Potentiometers" للتحكم بالاتجاهين "س"و"ص" و"button" للاتجاه "ع", لذلك تكون المدخلات بالاتجاهين "س" و"ص"  تماثليه "  analog signals", والبعد الثالث "ع" مدخل رقمي "digital signals".






طريقه التوصيل :

يمكننا بسهوله توصليها مع بورد الاردوينو


  
vRX: لادخال البيانات عند حركته بلاتجاه "س" ويوصل مع A0 على بورد الاردوينو .
vRY: لادخال البيانات عند حركته بالاتجاه "ص" ويوصل مع A1على الاردوينو.
SW:لادخال البيانات عند حركته بالاتجاه "ع"يوصل مع المداخل الرقميه لبورد الاردوينو (1 الى 13) لم نستخدمه في هذه التجربه 

GND<<Arduino GND 
5v>>Arduino 5v



الكود :
 int xpin=A0;
 int ypin=A1;
int X_axis_read=0;
int Y_axis_read=0;
float X_axis_volt=0.00;
float Y_axis_volt=0.00;

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
pinMode(xpin,INPUT);
pinMode(ypin,INPUT);
}

void Get_x_axis(){
  X_axis_read=analogRead(xpin);
  delay(10);
  X_axis_volt=X_axis_read*4.88E-3;
  Serial.print("X_axis_read : ");
  Serial.println(X_axis_read);
  Serial.print("X_axis_volt : ");
  Serial.println(X_axis_volt);
}
void Get_y_axis(){
  Y_axis_read=analogRead(ypin);
  delay(10);
  Y_axis_volt=Y_axis_read*4.88E-3;
  Serial.print("Y_axis_read : ");
  Serial.println(Y_axis_read);
  Serial.print("Y_axis_volt : ");
  Serial.println(Y_axis_volt);
}

void loop() {
  // put your main code here, to run repeatedly: 
  Get_x_axis();
  //delay(10);
  Get_y_axis();
  delay(1000);
  
}

في الوضع الطبيعي للقطعه تكون قراءه الفولتيه 2.5 فولت وعند تحريكها تدريجيا باتجاه السيني السالب تقل الى ان تصل صفر فولت . اما عند تحريكها باتجاه السيني الموجب تزداد لتصل 5فولت.وهكذا بالنسبه للتحريك بالاتجاه الصادي.في هذا البرنامج نقوم بقراءه حركه عصا التحكم في الاتجاهين السيني والصادي وتحويل هذه القراءه لفولتيه باستخدام المعادله


القراءه بالفولت = القراءه التماثليه * 4.88*10^-3
 واظهار القيمتين على ال Serial monitor


 وقد استخدمنا هذه القطعه للتحكم في حركه الروبوت في مقال روبوت التحكم عن بعد بواسطه المرسل الراديوي 315MHz

0 التعليقات :

إرسال تعليق

 
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.