Სარჩევი:
- ნაბიჯი 1: პროექტის მიმოხილვა
- ნაბიჯი 2: სქემა
- ნაბიჯი 3: PS2 კონტროლერის დიაგრამა
- ნაბიჯი 4: Zio მოდულების კავშირის დაყენება
- ნაბიჯი 5: შეაერთეთ Robotic Arm Servo Zio 16 Servo Controller– თან
- ნაბიჯი 6: შეაერთეთ თქვენი 16 სერვო DC/DC გამაძლიერებელთან და დააყენეთ იგი 6.0 ვ
- ნაბიჯი 7: შეაერთეთ Zuino M Uno Zio 16 Servo კონტროლერთან
- ნაბიჯი 8: Uno– ს დაკავშირება PS2 მიმღებთან
- ნაბიჯი 9: კოდი Robotic Arm- ისთვის
- ნაბიჯი 10: გაუშვით თქვენი კოდი
- ნაბიჯი 11: კოდის ახსნა
ვიდეო: Robotic Arm With Zio Modules ნაწილი 2: 11 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
დღევანდელ მეცადინეობაში ჩვენ გამოვიყენებთ ოთხივე სერვისს და PS2 უკაბელო კონტროლერს რობოტული მხარის გასაკონტროლებლად.
ეს ბლოგი არის Zio Robotics სერიის ნაწილი.
შესავალი
ჩვენს წინა ბლოგში, ჩვენ გამოვაქვეყნეთ ნაწილი 1 გაკვეთილი, თუ როგორ გავაკონტროლოთ Robotic Arm Zio მოდულების გამოყენებით. ნაწილი 1 ძირითადად კონცენტრირებული იყო თქვენი რობოტული მკლავის გახსნისა და დახურვის ავტომატურ კონტროლზე.
დღევანდელ სამეურვეო პროგრამაში ჩვენ ამას ოდნავ შევამჩნევთ PS2 უკაბელო კონტროლერის ჩათვლით რობოტული მკლავის გასაკონტროლებლად. ამ პროექტისთვის ჩვენ გამოვიყენებთ 4 სერვისს.
ნაბიჯი 1: პროექტის მიმოხილვა
Რთული ტური:
ზიო პადავან
დამხმარე რესურსები:
თქვენ უნდა გქონდეთ ძირითადი გაგება იმის შესახებ, თუ როგორ უნდა დააყენოთ Zio განვითარების დაფები. ამ გაკვეთილში ჩვენ ვივარაუდოთ, რომ თქვენი განვითარების დაფა უკვე კონფიგურირებულია და მზად არის დასაყენებლად. თუ ჯერ არ გაქვთ კონფიგურირებული თქვენი დაფა, იხილეთ ჩვენი Zio Qwiic Start Guide tutorial ქვემოთ დასაწყებად:
Zio Zuino M UNO Qwiic დაწყების გზამკვლევი
ნაბიჯი 2: სქემა
აქ არის Robotic Arm Part 2 პროექტის გაყვანილობის სქემა, ასევე PS2 კონტროლერის დიაგრამა, რომელიც საჭიროა თქვენი კოდირების ნაწილის გასაგებად.
ნაბიჯი 3: PS2 კონტროლერის დიაგრამა
ნაბიჯი 4: Zio მოდულების კავშირის დაყენება
ქვემოთ მოცემულია ჩვენი Zio მოდულების კავშირი, რომელიც უნდა შეიქმნას Robotic Arm- თან. ყველა მოდულის ერთმანეთთან დაკავშირება საკმაოდ ადვილია და მის დაყენებას არ დასჭირდება 10 წუთზე მეტი.
ნაბიჯი 5: შეაერთეთ Robotic Arm Servo Zio 16 Servo Controller– თან
ნაბიჯი 6: შეაერთეთ თქვენი 16 სერვო DC/DC გამაძლიერებელთან და დააყენეთ იგი 6.0 ვ
ჩვენ ვიყენებთ DC/DC გამაძლიერებელს, რათა გაზარდოს და შეცვალოს ბატარეის ძაბვა 6.0 -მდე.
გამოიყენეთ პოტენომეტრი DC გამაძლიერებელზე ძაბვის შესაცვლელად სანამ არ მიიღებთ 6.0 -ს. დააჭირეთ ღილაკს შემოსვლა/გამოსვლა სანამ ეკრანზე გამოჩნდება 6.0. თქვენ უნდა მიაწოდოთ ენერგია (3.7 ვ ბატარეა) თქვენს DC/DC გამაძლიერებელს ძაბვის შესაცვლელად.
ნაბიჯი 7: შეაერთეთ Zuino M Uno Zio 16 Servo კონტროლერთან
Qwiic დაუკავშირეთ Zuino M Uno Zio Servo კონტროლერს qwiic კაბელით.
ნაბიჯი 8: Uno– ს დაკავშირება PS2 მიმღებთან
აქ არის კავშირების Pin დიაგრამა. ამ ნაწილისთვის გჭირდებათ 5 კაციდან მდედრამდე მხტუნავი მავთულები.
ნაბიჯი 9: კოდი Robotic Arm- ისთვის
ჩვენ ვიყენებთ PS2 Arduino ბიბლიოთეკას ჩვენი PS2 უკაბელო კონტროლერის კოდირებისთვის, რომ ვიმუშაოთ ჩვენს Robotic Arm- თან. თქვენ შეგიძლიათ იპოვოთ და ჩამოტვირთოთ ამ Robotic Arm Part 2 პროექტის წყაროს კოდი ჩვენს Github გვერდზე.
ჩამოტვირთეთ და დააინსტალირეთ შემდეგი ბიბლიოთეკები და შეინახეთ თქვენს ადგილობრივ Arduino IDE ბიბლიოთეკების საქაღალდეში:
- Adafruit PWM Servo მძღოლის ბიბლიოთეკა
- PS2 Arduino ბიბლიოთეკა
ბიბლიოთეკების დასაყენებლად გახსენით თქვენი Arduino IDE, გადადით ჩანახატის ჩანართზე, აირჩიეთ ბიბლიოთეკის ჩართვა -> Add. Zip Library. შეარჩიეთ ზემოაღნიშნული ბიბლიოთეკები თქვენს IDE- ში შესასვლელად.
Arduino– ს აქვს მოსახერხებელი სახელმძღვანელო, თუ როგორ უნდა დააყენოთ ბიბლიოთეკები თქვენს Arduino IDE– ზე. შეამოწმეთ ისინი აქ!
ნაბიჯი 10: გაუშვით თქვენი კოდი
გახსენით Arduino IDE. ფაილების> მაგალითების> PS2_Arduino_Library, აირჩიეთ PS2X_Servo
შენიშვნა: სანამ თქვენ შეძლებთ გააკონტროლოთ თქვენი Robotic arm PS2 კონტროლერით შეამოწმეთ შემდეგი ნაბიჯები: ჩართეთ თქვენი PS2 კონტროლერი. დარწმუნდით, რომ რეჟიმი LED ანათებს. თუ ეს ასე არ არის, დააჭირეთ ღილაკს რეჟიმი თქვენს კონტროლერზე. ზემოაღნიშნულის გაკეთების შემდეგ, თქვენ უნდა დააჭიროთ გადატვირთვის ღილაკს თქვენს Zuino M Uno– ზე, რომ წაიკითხოს თქვენი კონტროლერის პარამეტრები. თქვენ უნდა დააჭიროთ L1 და ჯოისტიკს, რომ გადაადგილოთ თქვენი რობოტული მკლავი.
- მარცხენა ჯოისტიკი აკონტროლებს მკლავის მოხრას მაღლა ან ქვევით
- მარჯვენა ჯოისტიკი აკონტროლებს კლანჭს, რომ გახსნას ან დახუროს და დაატრიალოს კლანჭი მარცხნივ ან მარჯვნივ.
ნაბიჯი 11: კოდის ახსნა
PS2X Arduino ბიბლიოთეკის გამოყენება მარტივია, საჭიროა მხოლოდ ინიციალიზაცია, დაყენება და შემდეგ წაკითხვის ბრძანება.
თქვენი PS2 კონტროლერისთვის თქვენი Uno– სთან კავშირის დასაყენებლად, ქვემოთ მოცემულია პინები, რომლებიც უნდა განსაზღვროთ თქვენს კოდში:
/********************************************** ****************დააყენეთ ქინძისთავები დაკავშირებული PS2 კონტროლერთან:* - 1e სვეტი: ორიგინალი* - 2e სვეტი: Stef? *შეცვალეთ პინის ნომრები იმ ციფრებით, რომლებსაც იყენებთ **************************************** **********************/#განსაზღვრეთ PS2_DAT 13 // 14#განსაზღვრეთ PS2_CMD 11 // 15#განსაზღვრეთ PS2_SEL 10 // 16#განსაზღვრეთ PS2_CLK 12 // 17
ჩვენ შევცვალეთ ქინძისთავები პინებით, რომლებსაც ჩვენ ვიყენებთ ჩვენს Uno– ს დასაკავშირებლად, როგორც ეს მოცემულია ზემოთ Pin დიაგრამაზე.
/********************************************** **************** PS2 კონტროლერის რეჟიმების არჩევა:* - წნევა = ბიუსტჰალტერის ანალოგური კითხვა* - ხმაური = ძრავის ხმაური*თითოეული რეჟიმის შერჩევის ხაზების 1 კომენტარი ** ********************************************** ************* // //#განსაზღვრეთ წნევები ჭეშმარიტი#განსაზღვრეთ წნევები მცდარია //#განსაზღვრეთ ხმაური ჭეშმარიტი#განსაზღვრეთ ხმაური ყალბი
აქ ჩვენ განვსაზღვრეთ PS2 რეჟიმი ზეწოლისთვის და ხმაური, როგორც ყალბი. ჩვენ კომენტარი გავაკეთეთ ისეთებზე, რომლებსაც ჩვენ არ ვიყენებთ.
ჩვენ მხოლოდ Controller's Joystick ბრძანებით და L1- ით ვიყენებთ ჩვენი რობოტული მკლავის მოძრაობის გასაკონტროლებლად.
void loop () {/* თქვენ უნდა წაიკითხოთ Gamepad ახალი მნიშვნელობების მისაღებად და ვიბრაციის მნიშვნელობების დასადგენად ps2x.read_gamepad (მცირე საავტომობილო ჩართვა/გამორთვა, უფრო დიდი ძრავის სიმძლავრე 0-255-დან) თუ არ ჩართავთ ხმაურს, გამოიყენეთ ps2x.read_gamepad (); მნიშვნელობების გარეშე თქვენ უნდა დარეკოთ ამას სულ მცირე ერთხელ*/if (შეცდომა == 1) // გამოტოვეთ მარყუჟი, თუ კონტროლერმა ვერ იპოვა დაბრუნება; else {// DualShock Controller ps2x.read_gamepad (ყალბი, ვიბრაცია); // წაიკითხეთ კონტროლერი და დააყენეთ დიდი ძრავა დატრიალდეს "ვიბრაციის" სიჩქარით, თუ (ps2x. Button (PSB_START)) // იქნება TRUE სანამ ღილაკს დააჭერთ 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 ("Stick Values:"); 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).
თქვენ უნდა დააჭიროთ ღილაკს L1 ან R1 ჯოისტიკთან ერთად, რომ გააკონტროლოთ თქვენი Robotic Arm.
მარცხენა ჯოისტიკის კონტროლის სერვისი 2 და 3 მკლავის ნაწილისთვის - აკონტროლეთ შესაბამისად მოხრილი მკლავი ზემოთ და ქვემოთ, ხოლო მარჯვენა ჯოისტიკი აკონტროლებს Robots Armw claw 0 და 1 გახსნას ან დახურვას და ბრუნვას მარცხნივ ან მარჯვნივ.
SERVO 0, 1 - კლანჭები SERVO 2, 3 - მკლავი
თქვენ შეგიძლიათ შეცვალოთ ღირებულებები ამ განყოფილებაში თქვენი რობოტული მკლავის კუთხის ხარისხის გასაკონტროლებლად:
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);
გირჩევთ:
აკონტროლეთ Robotic Arm Zio PS2 კონტროლერის გამოყენებით: 4 ნაბიჯი
აკონტროლეთ Robotic Arm with Zio PS2 კონტროლერის გამოყენებით: ეს ბლოგი არის Zio Robotics სერიის ნაწილი. შესავალი ეს არის ბოლო პუნქტი "გააკონტროლე რობოტული მკლავი ზიოთი" პოსტით. ამ გაკვეთილში ჩვენ კიდევ ერთ ნაწილს დავამატებთ ჩვენს რობოტულ მკლავს. წინა გაკვეთილები არ შეიცავს საფუძველს
Robotic Arm With Zio Modules ნაწილი 3: 4 ნაბიჯი
Robotic Arm With Zio Modules ნაწილი 3: ეს ბლოგის პოსტი არის Zio Robotics სერიის ნაწილი. შესავალი ჩვენს წინა ბლოგში ჩვენ გამოვაქვეყნეთ ნაწილი 1 და 2 სახელმძღვანელო, თუ როგორ გავაკონტროლოთ Robotic Arm Zio მოდულების გამოყენებით. ნაწილი 1 ძირითადად კონცენტრირებული იყო თქვენი რობოტული მკლავის ავტომატური კონტროლის
ROS MoveIt Robotic Arm ნაწილი 2: Robot Controller: 6 Steps
ROS MoveIt Robotic Arm ნაწილი 2: Robot Controller: https://github.com/AIWintermuteAI/ros-moveit-arm.git სტატიის წინა ნაწილში ჩვენ შევქმენით URDF და XACRO ფაილები ჩვენი რობოტული მკლავისთვის და დავიწყეთ RVIZ რობოტული ხელი სიმულაციურ გარემოში. ამჯერად ჩვენ ამას გავაკეთებთ
NIXIE TUBE DRIVER MODULES - ნაწილი I: 8 ნაბიჯი (სურათებით)
NIXIE TUBE DRIVER MODULES - ნაწილი I: ის, რასაც მე ვეძებდი, იყო გზა, რომ ადვილად გამკლავებულიყო ნიქსი მილის მრავალრიცხოვან ციფრებზე სხვადასხვა პროექტებში, რომლებზეც ვმუშაობდი. მე ნამდვილად მინდოდა მარტივი ციფრების დაკავშირება მინიმალურ ციფრებთან ერთად და ციფრების კონტროლირებადი
NIXIE TUBE DRIVER MODULES ნაწილი III - HV POWER SUPPLY: 14 ნაბიჯი (სურათებით)
NIXIE TUBE DRIVER MODULES ნაწილი III - HV POWER SUPPLY: სანამ გადავხედავთ Arduino/Freeduino მიკროკონტროლის მომზადებას I და II ნაწილში აღწერილი ნიქსი მილის დრაივერის მოდულებთან დასაკავშირებლად, თქვენ შეგიძლიათ ააწყოთ ეს დენის წყარო, რათა უზრუნველყოს მაღალი საცეცხლე ძაბვა ნიქსი მილების მიერ. ეს არის