جوائس اسٹک کا استعمال کرتے ہوئے سروو موٹر کو کیسے کنٹرول کیا جائے

مسائل کو ختم کرنے کے لئے ہمارے آلے کو آزمائیں





اس پوسٹ میں ہم جانیں گے کہ جوائس اسٹک اور آرڈوینو کا استعمال کرتے ہوئے सर्वो موٹروں کو کیسے کنٹرول کیا جائے۔ ہم جوائس اسٹک ، اس کی پنوں ، اس کی تعمیر اور کام کے بارے میں جائزہ دیکھیں گے۔ ہم خوشی کی چھڑی سے مفید اعداد و شمار نکالیں گے جو امدادی موٹروں کو کنٹرول کرنے کے لئے تیار ہوں گے۔

تعارف

اس مضمون کا مقصد صرف یہ نہیں ہے امدادی موٹروں کو کنٹرول کریں لیکن ، استعمال کرنے کا طریقہ سیکھنے کے ل کنٹرول کرنے کے لئے جوائس اسٹک بہت سے دوسرے پردیی آلات.



آئیے اب اس جوائ اسٹک پر ایک نظر ڈالیں۔

جوائس اسٹک ایک ان پٹ ڈیوائس ہے جس میں ایک لیور ہوتا ہے ، جو X اور Y محور میں کئی سمتوں میں بڑھ سکتا ہے۔ لیور کی نقل و حرکت موٹر یا کسی بھی پردیی الیکٹرانک آلات کو کنٹرول کرنے کے لئے استعمال ہوتی ہے۔



جوائس اسٹکس آر سی کھلونے سے لے کر بوئنگ ہوائی جہاز تک استعمال ہوتے ہیں اور اسی طرح کے افعال انجام دیتے ہیں۔ اضافی طور پر گیمنگ اور چھوٹی خوشی کی لاٹھیوں میں Z محور میں ایک پش بٹن ہوتا ہے جسے بہت سے مفید کام کرنے کا پروگرام بنایا جاسکتا ہے۔

جوائسٹک کی مثال:

جوائسٹک کی مثال:

جوائس اسٹکس عام طور پر الیکٹرانک ڈیوائسز ہیں لہذا ، ہمیں طاقت کو استعمال کرنے کی ضرورت ہے۔ لیور کی حرکت آؤٹ پٹ پنوں میں وولٹیج کا فرق پیدا کرتی ہے۔ کسی آؤٹ پٹ آلہ جیسے موٹر پر قابو پانے کے ل The مائکروکونٹرولر کے ذریعہ وولٹیج کی سطح پر کارروائی کی جاتی ہے۔

سچتر جوائس اسٹک بھی ایسا ہی ہے ، جو پلے اسٹیشن اور ایکس بکس کنٹرولرز میں پایا جاسکتا ہے۔ کسی کو بچانے کے ل You آپ کو ان کنٹرولرز کو توڑنے کی ضرورت نہیں ہے۔ یہ ماڈیول مقامی الیکٹرانک شاپس اور ای کامرس سائٹوں پر آسانی سے دستیاب ہیں۔

آئیے اب اس جوائس اسٹک کی تعمیر دیکھتے ہیں۔

اس میں دو 10 کلو اوہم ہے پوٹینومیٹر X اور Y محوروں میں اسپرنگس کے ساتھ پوزیشن میں ہے تاکہ ، جب صارف لیور سے فورس کو رہا کرے تو وہ اپنی اصل پوزیشن پر واپس آجاتا ہے۔ اس میں Z محور پر آن بٹن کا دباؤ ہے۔

اس میں 5 پن ، 5 وولٹ وی سی سی ، جی این ڈی ، متغیر ایکس ، متغیر وائی ، اور ایس ڈبلیو (زیڈ محور سوئچ) ہیں۔ جب ہم وولٹیج لگاتے ہیں اور جوائس اسٹک کو اس کے اصل لیور پوزیشن پر چھوڑ دیتے ہیں۔ X اور Y پنوں سے لگائی گئی وولٹیج کا نصف پیدا ہوگا۔

جب ہم لیور منتقل کرتے ہیں تو ایکس اور وائی آؤٹ پٹ پن میں وولٹیج مختلف ہوتی ہے۔ اب ہم عملی طور پر جوڈ اسٹک کو آرڈینو کو انٹرفیس کریں۔

اسکیمیٹک ڈایاگرام:

جوڈ اسٹک کا استعمال کرتے ہوئے ارڈینو سروو موٹر کنٹرول

پن کنکشن کی تفصیلات سرکٹ کے ساتھ دی گئی ہیں۔ مکمل ہارڈ ویئر سیٹ اپ کو مربوط کریں اور کوڈ اپ لوڈ کریں۔

پروگرام:

//---------------Program Developed by R.Girish--------------//
int X_axis = A0
int Y_axis = A1
int Z_axis = 2
int x = 0
int y = 0
int z = 0
void setup()
{
Serial.begin(9600)
pinMode(X_axis, INPUT)
pinMode(Y_axis, INPUT)
pinMode(Z_axis, INPUT)
digitalWrite(Z_axis, HIGH)
}
void loop()
{
x = analogRead(X_axis)
y = analogRead(Y_axis)
z = digitalRead(Z_axis)
Serial.print('X axis = ')
Serial.println(x)
Serial.print('Y axis = ')
Serial.println(y)
Serial.print('Z axis = ')
if(z == HIGH)
{
Serial.println('Button not Pressed')
}
else
{
Serial.println('Button Pressed')
}
Serial.println('----------------------------')
delay(500)
}
//---------------Program Developed by R.Girish--------------//

سیریل مانیٹر کھولیں آپ کو X اور Y محور پنوں پر وولٹیج کی سطح اور Z محور یعنی Push بٹن کی حیثیت جیسے نیچے دی گئی تصویر دیکھ سکتے ہیں۔

یہ X ، Y ، Z محور قدریں درست کی حیثیت کی تشریح کے لئے استعمال ہوتی ہیں۔ جیسا کہ آپ دیکھ سکتے ہیں کہ اقدار 0 سے 1023 تک ہیں۔

اس کی وجہ یہ ہے کہ ارڈینو نے ADC کنورٹر بنایا ہے جو وولٹیج 0V - 5V میں 0 سے 1023 اقدار میں بدلتا ہے۔

آپ سیریل مانیٹر سے گواہی دے سکتے ہیں کہ جب لیور اچھouا رہ جاتا ہے تو لیور X اور Y دونوں محور کی درمیانی پوزیشن پر رہتا ہے اور 1023 کی آدھی قیمت دکھاتا ہے۔

آپ یہ بھی دیکھ سکتے ہیں کہ یہ 1023 کا نصف نصف نہیں ہے کیونکہ ان جوائس اسٹکس کی تیاری کبھی بھی کامل نہیں ہوتی تھی۔

اب تک ، آپ کو جوائ اسٹکس کے بارے میں کچھ تکنیکی معلومات مل جاتی۔

اب آئیے دیکھتے ہیں کہ ایک جوائس اسٹک کا استعمال کرتے ہوئے دو سرو موٹروں کو کیسے کنٹرول کیا جائے۔

سرکٹ ڈایاگرام:

جب آپ لائن # 7 پر جڑے ہوئے سرو کو محور کی جگہ پر محور ہوتے ہیں تو ، لائن پوزیشن پر منحصر ہوکر کلاک وائز اور اینٹی کلاک وائز کے مطابق ایکس سروس کے ذریعہ دو سرو موٹرز کو ایک جوائس اسٹک کے ذریعہ کنٹرول کیا جاتا ہے۔

اگر آپ کسی خاص پوزیشن پر جوائس اسٹک لیول پر فائز ہیں ، تو آپ کسی پوزیشن پر سرو ایکٹو ایٹر کو بھی تھام سکتے ہیں۔

پن نمبر 6 پر منسلک سرو موٹر کے لئے بھی ، آپ Y محور کے ساتھ لیور منتقل کرسکتے ہیں۔

جب آپ Z محور کے ساتھ لیور دبائیں تو ، دونوں موٹریں 180 ڈگری سویپ انجام دیں گی۔

آپ یا تو آرڈوینو کو جوڑ سکتے ہیں 9V بیٹری یا کمپیوٹر پر۔ اگر آپ اردوینو کو کمپیوٹر سے مربوط کرتے ہیں تو آپ سیریل مانیٹر کھول سکتے ہیں اور سرو ایکٹو ایٹرز اور وولٹیج کی سطح کا زاویہ دیکھ سکتے ہیں۔

امدادی موٹر کنٹرول کے لئے پروگرام:

//---------------Program Developed by R.Girish--------------//
#include
Servo servo_X
Servo servo_Y
int X_angleValue = 0
int Y_angleValue = 0
int X_axis = A0
int Y_axis = A1
int Z_axis = 2
int x = 0
int y = 0
int z = 0
int pos = 0
int check1 = 0
int check2 = 0
int threshold = 10
void setup()
{
Serial.begin(9600)
servo_X.attach(7)
servo_Y.attach(6)
pinMode(X_axis, INPUT)
pinMode(Y_axis, INPUT)
pinMode(Z_axis, INPUT)
digitalWrite(Z_axis, HIGH)
}
void loop()
{
x = analogRead(X_axis)
y = analogRead(Y_axis)
z = digitalRead(Z_axis)
if(z == LOW)
{
Serial.print('Z axis status = ')
Serial.println('Button Pressed')
Serial.println('Sweeping servo actuators')
for (pos = 0 pos <= 180 pos += 1)
{
servo_X.write(pos)
delay(10)
}
for (pos = 180 pos >= 0 pos -= 1)
{
servo_X.write(pos)
delay(15)
}
for (pos = 0 pos <= 180 pos += 1)
{
servo_Y.write(pos)
delay(10)
}
for (pos = 180 pos >= 0 pos -= 1)
{
servo_Y.write(pos)
delay(15)
}
Serial.println('Done!!!')
}
if(x > check1 + threshold || x {
X_angleValue = map(x, 0, 1023, 0, 180)
servo_X.write(X_angleValue)
check1 = x
Serial.print('X axis voltage level = ')
Serial.println(x)
Serial.print('X axis servo motor angle = ')
Serial.print(X_angleValue)
Serial.println(' degree')
Serial.println('------------------------------------------')
}
if(y > check2 + threshold || y {
Y_angleValue = map(y, 0, 1023, 0, 180)
servo_Y.write(Y_angleValue)
check2 = y
Serial.print('Y axis voltage level = ')
Serial.println(y)
Serial.print('Y axis servo motor angle = ')
Serial.print(Y_angleValue)
Serial.println(' degree')
Serial.println('------------------------------------------')
}
}
//---------------Program Developed by R.Girish--------------//

اگر آپ کو اس پروجیکٹ کے بارے میں کوئی خاص سوال ہے تو ، آزادانہ طور پر کمنٹ سیکشن میں اظہار خیال کریں ، آپ کو فوری جواب مل سکتا ہے۔




پچھلا: ارڈینو کا استعمال کرتے ہوئے ڈیجیٹل کیپسیٹینس میٹر سرکٹ اگلا: ارڈینو کے ساتھ ڈیجیٹل پوٹینومیٹر ایم سی پی 41xx کا استعمال