Բովանդակություն:

Robotic Arm with Zio Modules Մաս 2: 11 Քայլեր
Robotic Arm with Zio Modules Մաս 2: 11 Քայլեր

Video: Robotic Arm with Zio Modules Մաս 2: 11 Քայլեր

Video: Robotic Arm with Zio Modules Մաս 2: 11 Քայլեր
Video: Makeblock Untimate Robot Kit Part 2 : Robtic Arm Explaine, Software, Code App and Having Fun demo 2024, Նոյեմբեր
Anonim
Robotic Arm with Zio Modules Մաս 2
Robotic Arm with Zio Modules Մաս 2

Այսօրվա ձեռնարկում մենք կօգտագործենք բոլոր 4 սերվերը և PS2 անլար վերահսկիչը ՝ ռոբոտային թևը վերահսկելու համար:

Այս բլոգային գրառումը Zio Robotics Series- ի մի մասն է:

Ներածություն

Մեր նախորդ բլոգում մենք տեղադրեցինք 1 -ին մասի ձեռնարկը, թե ինչպես կառավարել Robotic Arm- ը ՝ օգտագործելով Zio մոդուլները: Մաս 1 -ը հիմնականում կենտրոնացած էր ձեր Robotic Arm's Claw- ի բաց և փակման ավտոմատ կառավարման վրա:

Այսօրվա ձեռնարկում մենք մի փոքր կբարձրացնենք այն ՝ ներառելով PS2 Wireless վերահսկիչ ՝ Robotic Arm- ը կառավարելու համար: Այս նախագծի համար մենք կօգտագործենք 4 սպասարկում:

Քայլ 1: Նախագծի ակնարկ

Դժվարության մակարդակ

Ioիո Պադավան

Օգտակար ռեսուրսներ

Դուք պետք է ունենաք հիմնական պատկերացում, թե ինչպես տեղադրել Zio զարգացման տախտակները: Այս ձեռնարկում մենք ենթադրում ենք, որ ձեր զարգացման տախտակն արդեն կազմաձևված է և պատրաստ է տեղադրման: Եթե դեռ չեք կազմաձևել ձեր խորհուրդը, սկսելու համար ծանոթացեք ստորև բերված մեր Zio Qwiic Start Guide ձեռնարկին:

Zio Zuino M UNO Qwiic մեկնարկի ուղեցույց

Քայլ 2: Սխեմաներ

Սխեմաներ
Սխեմաներ

Ահա Robotic Arm Part 2 նախագծի միացման սխեմաները, ինչպես նաև PS2 Controller դիագրամը, որն անհրաժեշտ է ձեր կոդավորման մասի համար:

Քայլ 3: PS2 վերահսկիչի դիագրամ

PS2 վերահսկիչի դիագրամ
PS2 վերահսկիչի դիագրամ

Քայլ 4: Կարգավորեք Zio մոդուլների միացումը

Ստորև բերված է մեր Zio մոդուլների միացումը Robotic Arm- ի հետ: Բոլոր մոդուլները միմյանց միացնելը բավականին հեշտ է և դրա ստեղծումը չի տևի ավելի քան 10 րոպե:

Քայլ 5. Միացրեք Robotic Arm Servo- ն Zio 16 Servo Controller- ին

Միացրեք Robotic Arm Servo- ն Zio 16 Servo Controller- ին
Միացրեք Robotic Arm Servo- ն Zio 16 Servo Controller- ին

Քայլ 6. Միացրեք ձեր 16 Servo- ն DC/DC Booster- ին և դրեք այն 6.0 Վ լարման վրա:

Միացրեք ձեր 16 Servo- ն DC/DC Booster- ին և դրեք այն 6.0 Վ լարման վրա
Միացրեք ձեր 16 Servo- ն DC/DC Booster- ին և դրեք այն 6.0 Վ լարման վրա

Մենք օգտագործում ենք DC/DC Booster ՝ մարտկոցի մատակարարման լարումը բարձրացնելու և կարգավորելու համար 6.0:

Օգտագործեք պոտենցիոմետրը DC Booster- ում `լարումը կարգավորելու համար, մինչև ստանաք 6.0: Սեղմեք Մուտք/Ելք կոճակը, մինչև էկրանը ցույց տա 6.0: Լարումը կարգավորելու համար անհրաժեշտ է նախ սնուցել հոսանք (3.7 Վ մարտկոց) ձեր DC/DC ուժեղացուցիչին:

Քայլ 7: Միացրեք Zuino M Uno- ն Zio 16 Servo Controller- ին

Միացրեք Zuino M Uno- ն Zio 16 Servo Controller- ին
Միացրեք Zuino M Uno- ն Zio 16 Servo Controller- ին

Qwiic- ը Zuino M Uno- ն միացրեք Zio Servo կարգավորիչին qwiic մալուխով:

Քայլ 8. Uno- ի միացում PS2 ընդունիչին

Uno- ի միացում PS2 ընդունիչին
Uno- ի միացում PS2 ընդունիչին

Ահա միացումների կապի սխեման: Այս մասի համար ձեզ հարկավոր է 5 արականից իգական ցատկող լարեր:

Քայլ 9. Robotic Arm- ի ծածկագիրը

Մենք կօգտագործենք PS2 Arduino գրադարանը ՝ կոդավորելու մեր PS2 անլար վերահսկիչը ՝ մեր Robotic Arm- ի հետ աշխատելու համար: Այս Robotic Arm Part 2 նախագծի սկզբնական կոդը կարող եք գտնել և ներբեռնել մեր Github էջում:

Ներբեռնեք և տեղադրեք հետևյալ գրադարանները և պահեք այն ձեր տեղական Arduino IDE գրադարանների պանակում.

  • Adafruit PWM Servo վարորդների գրադարան
  • PS2 Arduino գրադարան

Գրադարանները տեղադրելու համար բացեք ձեր Arduino IDE- ն, անցեք «Էսքիզ» ներդիրին, ընտրեք Ներառել գրադարանը -> Ավելացնել: ZIP գրադարան: Ընտրեք վերը նշված գրադարանները, որոնք ներառվելու են ձեր IDE- ում:

Arduino- ն ունի հարմար ուղեցույց, թե ինչպես տեղադրել գրադարաններ ձեր Arduino IDE- ին: Ստուգեք դրանք այստեղ:

Քայլ 10: Գործարկեք ձեր ծածկագիրը

Գործարկեք ձեր ծածկագիրը
Գործարկեք ձեր ծածկագիրը

Բացեք Arduino IDE- ն: Ֆայլեր> Օրինակներ> PS2_Arduino_Library, ընտրեք PS2X_Servo

Նշում. Նախքան PS2 Controller- ով ձեր Robotic թևը կառավարելը, ստուգեք հետևյալ քայլերը. Միացրեք ձեր PS2 վերահսկիչը: Ստուգեք, որ ռեժիմի LED լույսը վառվի: Եթե դա այդպես չէ, սեղմեք ռեժիմի կոճակը ձեր վերահսկիչի վրա: Վերոնշյալը կատարելուց հետո դուք պետք է սեղմեք ձեր Zuino M Uno- ի վերակայման կոճակը, որպեսզի այն կարդա ձեր վերահսկիչի կարգավորումները: Ձեր Robotic Arm- ը շարժելու համար հարկավոր է սեղմել L1- ը և Joystick- ը:

  • Ձախ ջոյստիկը վերահսկում է Ձեռքի թեքումը դեպի վեր կամ վար
  • Right Joystick- ը վերահսկում է ճանկը `բացել կամ փակել և ճանկը պտտել ձախ կամ աջ:

Քայլ 11: Կոդի բացատրություն

PS2X Arduino գրադարանի օգտագործումը պարզ է, պահանջում է միայն նախաստորագրում, կարգավորում և այնուհետև ընթերցման հրաման:

Ձեր PS2 վերահսկիչի համար ձեր Uno- ի հետ կապ հաստատելու համար ստորև բերված են այն կոճակները, որոնք պետք է սահմանեք ձեր ծածկագրում.

/********************************************** ****************սահմանել կապում ՝ կապված PS2 վերահսկիչին ՝* - 1e սյունակ ՝ օրիգինալ* - 2e սյունակ ՝ Ստեֆ: *Փին համարները փոխարինեք նրանցից, որոնք օգտագործում եք **************************************** **********************/#սահմանել PS2_DAT 13 // 14#սահմանել PS2_CMD 11 // 15#սահմանել PS2_SEL 10 // 16#սահմանել PS2_CLK 12 // 17

Մենք կապերը փոխարինել ենք այն քորոցներով, որոնք օգտագործում ենք մեր Uno- ին միանալու համար, ինչպես նշված է վերևում տեղադրված Pin Diagram- ում:

/********************************************* ***************** ընտրել PS2 վերահսկիչի ռեժիմներ ՝* - ճնշումներ = հրում կոճակների անալոգային ընթերցում* - դղրդյուն = շարժիչային բզզոց*յուրաքանչյուր ռեժիմի ընտրության համար տողերի 1 մեկնաբանություն ** *********************************************** ************///#սահմանել ճնշումները ճշմարիտ#սահմանել ճնշումները կեղծ //#սահմանել դղրդյուն ճշմարիտ#սահմանել թնդալ կեղծ

Այստեղ մենք սահմանեցինք PS2 ռեժիմը ճնշումների և աղմուկի համար ՝ որպես կեղծ: Մենք մեկնաբանեցինք դրանք, որոնք մենք չենք օգտագործում:

Մենք կօգտագործենք միայն Controller's Joystick հրամանը և L1- ը ՝ վերահսկելու մեր Robotic Arm- ի շարժումը:

void loop () {/* Դուք պետք է կարդաք Gamepad ՝ նոր արժեքներ ստանալու և թրթռման արժեքներ սահմանելու համար ps2x.read_gamepad (փոքր շարժիչ միացված/անջատված, ավելի մեծ շարժիչի ուժգնություն 0-255-ից), եթե թնդյունը միացնելու դեպքում օգտագործեք ps2x.read_gamepad (); առանց արժեքների Դուք պետք է սա առնվազն մեկ վայրկյանում զանգահարեք*/if (error == 1) // բաց թողնել օղակը, եթե ոչ մի վերահսկիչ վերադարձ չի գտել. else {// DualShock Controller ps2x.read_gamepad (կեղծ, թրթռալ); // կարդալ վերահսկիչ և մեծ շարժիչը պտտել «թրթռալ» արագությամբ, եթե (ps2x. Button (PSB_START)) // կլինի UEԻՇՏ, քանի դեռ կոճակը սեղմված է Serial.println («Սկիզբը պահվում է»); if (ps2x. Button (PSB_SELECT)) Serial.println ("Ընտրությունը պահվում է"); թրթռալ = ps2x. Անալոգային (PSAB_CROSS); // սա կդնի շարժիչի մեծ թրթռման արագությունը ՝ կախված այն բանից, թե որքանով եք սեղմում կապույտ (X) կոճակը, եթե (ps2x. Button (PSB_L1) || ps2x. Button (PSB_R1)) {// տպել ձողերի արժեքները, եթե դրանցից մեկը TRUE RY_Value է: = ps2x. Անալոգային (PSS_RY); RX_Value = ps2x. Անալոգային (PSS_RX); LY_Value = ps2x. Անալոգային (PSS_LY); LX_Value = ps2x. Analog (PSS_LX); Serial.print ("Կպչուն արժեքներ."); Serial.print (RX_Value); Serial.print (""); Serial.print (RY_Value); Serial.print (""); Serial.print (LY_Value); Serial.print (""); Serial.println (LX_Value);

Ստորև բերված կոդը այն վայրն է, որտեղ մենք կոդավորում ենք մեր ռոբոտային թևը կառավարող մեր սերվերը, որոնք մենք ներառում ենք ps2x.button (PSB_L1) գործառույթի կանչում || ps2x. կոճակ (PSB_R1):

Robոյստիկի հետ միասին պետք է սեղմել L1 կամ R1 կոճակը ՝ ձեր Robotic Arm- ը կառավարելու համար:

Ձախ մասի կառավարման ձախ և 2 -րդ սպասարկող սպասարկիչները `համապատասխանաբար վերահսկում են թևի վերևի և ներքևի թեքումը, մինչդեռ աջ ջոյստիկը վերահսկում է Robotic Arm's claw 0 և 1 ծառայությունները` բացելու կամ փակելու և ձախ կամ աջ պտտելու համար:

SERVO 0, 1 - ճանկ SERVO 2, 3 - Արմ

Այս հատվածում կարող եք փոփոխություններ կատարել արժեքների վրա ՝ ձեր Robotic Arm անկյունի աստիճանը վերահսկելու համար.

pulselen0 = քարտեզ (RY_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen1 = քարտեզ (RX_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen2 = քարտեզ (LY_Value, 0, 127, SERVOMIN2, SERVOMAX2); pulselen3 = քարտեզ (LX_Value, 0, 255, SERVOMIN3, SERVOMAX3);

Խորհուրդ ենք տալիս: