لومړی ۱۳/۳۱: د XY جوی سټیک کارول د آردوینو سره او د جوی سټیک حرکت سره د بزر غږول | Robojax
په دې درس کې، موږ د XY جوی سټیک ماډل او د آردوینو سره د هغې د نښلولو څرنګوالی ګورو ترڅو د لوري حرکت او د تڼۍ فشار کشف کړو. دا څو اړخیزه داخلي وسیله دوه پوټینشیومیټرونه (یو د X محور لپاره او یو د Y محور لپاره) او یو فشارونکی تڼۍ لري، چې تاسو ته اجازه درکوي د 360 درجې بشپړ حرکت سره د کلیک عمل ترلاسه کړئ. یوازې د خام ارزښتونو لوستلو هاخوا، موږ به وښیو چې څنګه عملونه پیل کړو — لکه د بزر چالانول — کله چې جوی سټیک په ځانګړي موقعیت کې حرکت وکړي. دا اصل د بې شمېره متقابل پروژو لپاره بنسټ جوړوي.
دا لارښود د جوړولو لپاره بشپړ دی:
- د روبوټیک موټر یا پین-ټیلټ کیمرې ماونټ لپاره د دوه محوره ریموټ کنټرول.
- د PC یا ګرځنده وسیلې لپاره دودیز لوبې کنټرولر.
- د LCD یا OLED ښودنې لپاره د مینو نیویګیشن سیسټم.
- د صنعتي یا شوقي غوښتنلیکونو لپاره دقیق موټرو سرعت او لوري کنټرولر.
- یو متقابل الارم سیسټم چیرې چې د جوی سټیک ځانګړی موقعیت سایری یا خبرتیا فعالوي.
هارډویر او اجزاوې
د دې پروژې سره د تعقیب لپاره، تاسو به لاندې اجزاوو ته اړتیا ولرئ. په ویډیو کې کارول شوی ځانګړی کټ د SunFounder 3-in-1 آردوینو کټ دی، مګر دا برخې په پراخه کچه په انفرادي ډول شتون لري.
- آردوینو اونو (یا هر مطابقت لرونکی بورډ)
- XY جوی سټیک ماډل
- غیر فعال بزر
- جمپر تارونه
- د پروګرام کولو او بریښنا لپاره USB کیبل
د XY جوی سټیک ماډل پوهیدل
XY جوی سټیک یو ځان بسيا داخلي وسیله ده. لکه څنګه چې په ویډیو کې تشریح شوی (په ویډیو کې په 01:20)، دا دوه 10k اوم پوټینشیومیټرونه لري چې په عمودي ډول تنظیم شوي. د سټیک حرکت کول د X محور په اوږدو کې یو پوټینشیومیټر ګرځوي، پداسې حال کې چې د Y محور په اوږدو کې حرکت کول بل ګرځوي. دا آردوینو ته اجازه ورکوي چې د هر محور لپاره انلاګ ولټاژ ولولي، چې د سټیک دقیق موقعیت استازیتوب کوي. ماډل یو لنډمهاله فشارونکی تڼۍ هم لري چې کله سټیک مستقیم ښکته فشارول شي فعالیږي.
دلته د هغې د پنونو ماتول دي:
- GND: د آردوینو ځمکې (0V) سره نښلوي.
- VCC: د آردوینو د 5V بریښنا رسولو سره نښلوي.
- VRX: د X محور موقعیت لپاره انلاګ محصول.
- VRY: د Y محور موقعیت لپاره انلاګ محصول.
- SW: د فشارونکي تڼۍ لپاره ډیجیټل محصول (فعال ټیټ).
ویډیو دا هم ښیي چې دوه داخلي پوټینشیومیټرونه د VCC او GND ترمنځ په موازي ډول تار شوي، چې د ټولټال مقاومت شاوخوا 5k اوم پایله لري، کوم چې د دې ماډل لپاره عادي لوستل دی (په ویډیو کې په 04:30).
د تارونو لارښود
د دې پروژې تارونه ساده دي. ویډیو د SunFounder اسنادو څخه د تارونو ډیاګرام ښیي، مګر موږ به جوی سټیک مستقیم د آردوینو پنونو سره وصل کړو لکه څنګه چې تشریح شوي. بزر د پروژې د عمل برخې لپاره اضافه شوی.
دلته هغه اړیکې دي چې په ویډیو کې رامینځته شوي (په ویډیو کې په 06:24):
- جوی سټیک GND → آردوینو GND (تور تار)
- جوی سټیک VCC → آردوینو 5V (سور تار)
- جوی سټیک VRX → آردوینو A0 (ژیړ تار)
- جوی سټیک VRY → آردوینو A1 (شین تار)
- جوی سټیک SW → آردوینو پن 8 (نیلي تار)
- بزر مثبت (اوږد پن) → آردوینو پن 2
- بزر منفي (لنډ پن) → آردوینو GND
د کوډ تشریح
چمتو شوی کوډ د جوی سټیک موقعیت لوستلو او د بزر فعالولو لپاره ډیزاین شوی کله چې ځانګړی شرط پوره شي. هغه کلیدي برخې چې تاسو یې تنظیم کولی شئ د سکیچ په سر کې دي.
لومړی، د پن تعریفونه ټاکل شوي. تاسو کولی شئ دا د خپل ځانګړي تارونو سره سم بدل کړئ:
const int xPin = A0; //the VRX attach to
const int yPin = A1; //the VRY attach to
const int swPin = 8; //the SW attach to
const int alarmPin=2;//to buzzer
بیا، نړیوال متغیرونه اعلان شوي ترڅو د جوی سټیک حالت ذخیره کړي. دا هر ځل تازه کیږي کله چې د readJoystick() فنکشن وبلل شي.
int xValue;//to store xValue
int yValue;//to store yValue
int swValue;//to store value of the switch
د setup() فنکشن کې، د سویچ پن د داخلي پل-اپ ریزسټر سره تنظیم شوی. دا یو مهم ګام دی ځکه چې دا د بهرني ریزسټر اړتیا له منځه وړي. د INPUT_PULLUP په ټاکلو سره، پن به په ډیفالټ ډول HIGH ولولي او کله چې تڼۍ فشارول شي LOW ته لاړ شي.
pinMode(swPin, INPUT_PULLUP); //set the SW pin to INPUTاصلي منطق په loop() کې دی. دا د دوديز readJoystick() فنکشن غږوي ترڅو تازه معلومات ترلاسه کړي. بیا، دا یو حالت ګوري: که د X-محور ارزښت له 600 څخه ډیر وي او د Y-محور ارزښت له 300 څخه کم وي، نو بزر فعالیږي. تاسو کولی شئ دا حدونه بدل کړئ ترڅو د جویسټیک لپاره یو بل "فعاله سیمه" تعریف کړئ. alarmPin په HIGH ټاکل کیږي ترڅو بزر فعال کړي او یو پیغام سریال مانیټور ته چاپ کیږي.
if(xValue >600 && yValue <300)
{
digitalWrite(alarmPin, HIGH);
Serial.print("Alarm X:");
Serial.print(xValue);
Serial.print(" Y:");
Serial.println(yValue);
}else{
digitalWrite(alarmPin, LOW);
// ... code to print values when alarm is off
}
په پای کې، دوديز فنکشن readJoystick() تعریف شوی. دا فنکشن د X او Y پنونو څخه انلاګ ارزښتونه او د سویچ ډیجیټل حالت لوستي، او دوی په نړیوالو متغیرونو کې ذخیره کوي. دا ماډلر طریقه اصلي لوپ پاک او منظم ساتي.
void readJoystick()
{
xValue =analogRead(xPin);//read xPin value
yValue =analogRead(yPin);//read yPin
swValue =digitalRead(swPin);//read switch
}
ژوندی پروژه او مظاهره
یوځل چې کوډ اپلوډ شي، سریال مانیټور خلاصیدلی شي ترڅو خام ارزښتونه وګوري. په پیل کې، د جویسټیک په مرکز کې، د X او Y ارزښتونه به شاوخوا 512 وي، کوم چې د 0-1023 حد منځنی ټکی دی. د جویسټیک ښکته فشارول به د سویچ ارزښت له 1 څخه 0 ته بدل کړي (په ویډیو کې په 10:15).
د جویسټیک په انتهاوو کې حرکت کول به بشپړ حد وښيي: دا په بشپړه توګه ښي خوا ته حرکت کول به د X ارزښت 1023 وښيي، او په بشپړه توګه کیڼ خوا ته به 0 وښيي. په ورته ډول، پورته او ښکته حرکت کول به د Y ارزښت د 0 او 1023 ترمنځ بدل کړي (په ویډیو کې په 10:37).
مظاهره بیا د پروژې د عمل برخه ښیي. کله چې جویسټیک پورتنۍ ښي کونج ته حرکت وکړي (چیرته چې X > 600 او Y < 300 وي)، بزر به غږیږي، او سریال مانیټور به د "Alarm" پیغام چاپ کړي. له هغې سیمې څخه لرې حرکت کول به بزر بند کړي. دا ثابتوي چې تاسو کولی شئ د جویسټیک موقعیت وکاروئ ترڅو د محصول وسیله کنټرول کړئ، کوم چې د مختلفو غوښتنلیکونو لپاره د ریلونو، LEDs، یا موټرو کنټرول ته غځول کیدی شي.
فصلونه
- [00:00] د XY جویسټیک پروژې پیژندنه
- [01:20] د هارډویر او داخلي برخو پوهیدل
- [03:33] د ماډل سکیمیټیک او د مقاومت اندازه کول
- [05:51] جویسټیک له Arduino سره نښلول
- [07:00] د کوډ تنظیمول او د پل-اپ ریزسټر فعالول
- [09:23] د کوډ اپلوډ او د خام ارزښتونو ازموینه
- [12:21] عمل کول: د جویسټیک موقعیت سره د بزر کنټرول
- [16:02] د الارم سیسټم ژوندۍ مظاهره
This code has not been parsed yet. Please return to the admin panel to parse it.
Common Course Links
Common Course Files
هغه شیان چې تاسو ورته اړتیا لرئ
-
امازونSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
امازون
-
امازون
-
امازون
-
امازون
سرچینې او حوالې
-
اسنادDocumentation for SunFounder 3 in 1 IoT/Smart Car/Learning Kitdocs.sunfounder.com
-
بهرنیPurchase SunFounder's 3-in-1 Smart car learning kitsunfounder.com
فایلونه📁
Arduino کتابتونونه (zip)
-
SunFounder's 3-in-1 Smart Car learning kit source code
3in1-kit-main-v2.zip12.80 MB
د کارونکي لارښود
-
SunFounder 3-in-1 Arduino Smart Car assembly manualThis document shows step by step assembly of SunFounder 3-in-1 Arduino Smart Car
SunFounder_car_assembly_manual.pdf1.20 MB