Talaan ng mga Nilalaman:

Robotic Arm Gamit ang Zio Modules Bahagi 2: 11 Mga Hakbang
Robotic Arm Gamit ang Zio Modules Bahagi 2: 11 Mga Hakbang

Video: Robotic Arm Gamit ang Zio Modules Bahagi 2: 11 Mga Hakbang

Video: Robotic Arm Gamit ang Zio Modules Bahagi 2: 11 Mga Hakbang
Video: How to use LCD LCD1602 with I2C module for Arduino - Robojax 2024, Hulyo
Anonim
Robotic Arm Gamit ang Zio Modules Bahagi 2
Robotic Arm Gamit ang Zio Modules Bahagi 2

Sa tutorial ngayon, gagamitin namin ang lahat ng 4 na servo at isang PS2 wireless controller upang makontrol ang robotic arm.

Ang post sa blog na ito ay bahagi ng Zio Robotics Series.

Panimula

Sa aming nakaraang blog, nai-post namin ang tutorial na Bahagi 1 sa kung paano makontrol ang isang Robotic Arm gamit ang mga module ng Zio. Ang Bahagi 1 na higit na nakatuon sa awtomatikong pagkontrol sa iyong Robotic Arm's Claw upang buksan at isara.

Sa tutorial ngayon, mai-notch namin ito nang kaunti sa pamamagitan ng pagsasama ng isang PS2 Wireless controller upang makontrol ang Robotic Arm. Para sa proyektong ito, gagamit kami ng 4 na servo.

Hakbang 1: Pangkalahatang-ideya ng Proyekto

Antas ng Pinagkakahirapan:

Zio Padawan

Mga kapaki-pakinabang na mapagkukunan:

Dapat kang magkaroon ng isang pangunahing pag-unawa sa kung paano i-install ang Zio development boards. Sa tutorial na ito, ipinapalagay namin na ang iyong development board ay na-configure na at handa nang i-set up. Kung hindi mo pa na-configure ang iyong board tingnan ang aming tutorial sa Simula ng Gabay ng Zio Qwiic sa ibaba upang makapagsimula:

Zio Zuino M UNO Qwiic Start Guide

Hakbang 2: Mga Skematika

Mga Skema
Mga Skema

Narito ang Mga Kabilang na Schemma ng Mga Kable ng Robotic Arm Part 2 Project pati na rin ang diagram ng PS2 Controller na kinakailangan upang maunawaan para sa iyong bahagi sa pag-coding.

Hakbang 3: Diagram ng Controller ng PS2

Diagram ng Controller ng PS2
Diagram ng Controller ng PS2

Hakbang 4: Ang Pag-set up ng Mga Modelo ng Zio

Nasa ibaba ang koneksyon ng aming mga module ng Zio upang mai-set up sa Robotic Arm. Ang pagkonekta ng lahat ng mga module na magkasama ay medyo madali at hindi tatagal ng higit sa 10 minuto upang mai-set up.

Hakbang 5: Ikonekta ang Robotic Arm Servo sa Zio 16 Servo Controller

Ikonekta ang Robotic Arm Servo sa Zio 16 Servo Controller
Ikonekta ang Robotic Arm Servo sa Zio 16 Servo Controller

Hakbang 6: Ikonekta ang Iyong 16 Servo sa DC / DC Booster at Itakda Ito sa 6.0V

Ikonekta ang iyong 16 Servo sa DC / DC Booster at Itakda ito sa 6.0V
Ikonekta ang iyong 16 Servo sa DC / DC Booster at Itakda ito sa 6.0V

Gumagamit kami ng isang DC / DC Booster upang mapalakas at ayusin ang boltahe ng suplay ng baterya sa 6.0.

Gamitin ang potentiometer sa DC Booster upang ayusin ang boltahe hanggang sa makakuha ka ng 6.0. Itulak ang button na In / Out hanggang ipakita ang display na 6.0. Kailangan mong magbigay ng kuryente (3.7V baterya) muna sa iyong DC / DC Booster upang maiayos ang boltahe.

Hakbang 7: Ikonekta ang Zuino M Uno sa Zio 16 Servo Controller

Ikonekta ang Zuino M Uno sa Zio 16 Servo Controller
Ikonekta ang Zuino M Uno sa Zio 16 Servo Controller

Ikonekta ng Qwiic ang Zuino M Uno sa Zio Servo controller gamit ang qwiic cable.

Hakbang 8: Pagkonekta sa Uno sa PS2 Receiver

Kumokonekta sa Uno sa PS2 Receiver
Kumokonekta sa Uno sa PS2 Receiver

Narito ang isang Diagram ng Pin ng Mga Koneksyon. Kailangan mo ng 5 Lalaki hanggang Babae na Jumper Wires para sa bahaging ito.

Hakbang 9: Code para sa Robotic Arm

Gagamitin namin ang PS2 Arduino Library upang mai-code ang aming PS2 Wireless Controller upang gumana sa aming Robotic Arm. Maaari mong hanapin at i-download ang source code para sa Robotic Arm Part 2 na proyekto sa aming pahina ng Github.

I-download at mai-install ang mga sumusunod na aklatan at i-save ito sa iyong lokal na folder ng mga aklatan ng Arduino IDE:

  • Adafruit PWM Servo Driver Library
  • PS2 Arduino library

Upang mai-install ang mga aklatan buksan ang iyong Arduino IDE, pumunta sa tab na Sketch, piliin ang Isama ang Library -> Add. Zip Library. Piliin ang mga aklatan sa itaas na isasama sa iyong IDE.

Ang Arduino ay may madaling gamiting gabay sa kung paano mag-install ng mga aklatan sa iyong Arduino IDE. Suriin ang mga ito dito!

Hakbang 10: Patakbuhin ang Iyong Code

Patakbuhin ang Iyong Code
Patakbuhin ang Iyong Code

Buksan ang Arduino IDE. Sa ilalim ng Mga File> Mga Halimbawa> PS2_Arduino_Library, Piliin ang PS2X_Servo

Tandaan: Bago mo makontrol ang iyong Robotic arm sa pamamagitan ng PS2 Controller suriin ang mga sumusunod na hakbang: Lumipat sa iyong PS2 Controller. Suriin na lumiwanag ang Mode LED. Kung hindi, pindutin ang pindutan ng Mode sa iyong controller. Matapos gawin ang nasa itaas, kailangan mong pindutin ang pindutan ng pag-reset sa iyong Zuino M Uno para mabasa nito ang mga setting ng iyong controller. Kailangan mong Pindutin ang L1 at ang Joystick upang ilipat ang iyong Robotic Arm.

  • Kinokontrol ng kaliwang Joystick ang baluktot ng Laso paitaas o pababa
  • Kinokontrol ng Right Joystick ang Claw sa alinman sa buksan o isara at paikutin ang claw sa kaliwa o kanan.

Hakbang 11: Paliwanag sa Code

Ang paggamit ng PS2X Arduino library ay simple, nangangailangan lamang ng isang pagsisimula, isang pag-setup, at pagkatapos ay isang basahin na utos.

Upang maitakda ang koneksyon para sa iyong PS2 Controller sa iyong Uno, sa ibaba ay ang mga pin na kailangan mong tukuyin sa iyong code:

/ ***** ***** ***** * Itakda ang mga pin na konektado sa PS2 controller: * - 1e haligi: orihinal * - 2e colmun: Stef? * Palitan ang mga numero ng pin ng mga na ginagamit mo ***** ***** ***** ***** ***** ***** ***** 17

Pinalitan namin ang mga pin ng mga ginagamit namin upang kumonekta sa aming Uno tulad ng nakabalangkas sa Pin Diagram sa itaas.

/ ***** ***** ***** *****

Tinukoy namin dito ang mode na PS2 para sa mga presyon at gumulong bilang hindi totoo. Nagkomento kami ng mga hindi namin ginagamit.

Gagamitin lamang namin ang utos ng Controller Joystick at L1 upang makontrol ang paggalaw ng aming Robotic Arm.

void loop () {/ * Dapat mong Basahin ang Gamepad upang makakuha ng mga bagong halaga at itakda ang mga halaga ng panginginig ng boses x2x.read_gamepad (maliit na motor na on / off, mas malaking motor na strenght mula 0-255) kung hindi mo paganahin ang dagundong, gamitin ang ps2x.read_gamepad (); na walang mga halaga Dapat mong tawagan ito nang hindi bababa sa isang beses sa isang segundo * / kung (error == 1) // laktawan loop kung walang natagpuang pagbalik ng controller; iba pa {// DualShock Controller ps2x.read_gamepad (false, vibrate); // basahin ang controller at itakda ang malaking motor upang paikutin sa bilis na 'mag-vibrate' kung (ps2x Button (PSB_START)) // ay TOTOO basta pindutin ang pinindot sa Serial.println ("Ang pagsisimula ay gaganapin"); kung (ps2x Button (PSB_SELECT)) Serial.println ("Pinipigilan ang Select"); vibrate = ps2x. Analog (PSAB_CROSS); // itatakda nito ang malaking bilis ng pag-vibrate ng motor batay sa kung gaano katindi ang iyong pagpindot sa pindutan ng asul (X) kung (ps2x Button (PSB_L1) || ps2x Button (PSB_R1)) {// i-print ang mga halaga ng stick kung alinman ang TUNAY RY_Value = ps2x. Analog (PSS_RY); RX_Value = ps2x. Analog (PSS_RX); LY_Value = ps2x. Analog (PSS_LY); LX_Value = ps2x. Analog (PSS_LX); Serial.print ("Mga Halaga ng Stick:"); Serial.print (RX_Value); Serial.print (""); Serial.print (RY_Value); Serial.print (""); Serial.print (LY_Value); Serial.print (""); Serial.println (LX_Value);

Ang code sa ibaba ay kung saan namin nai-code ang aming mga servos na kumokontrol sa aming robotic arm na isinasama namin sa function na tawag sa ilalim ng ps2x.button (PSB_L1) || ps2x.button (PSB_R1).

Kailangan mong pindutin ang L1 o R1 na butones kasama ang Joystick upang makontrol ang iyong Robotic Arm.

Kinokontrol ng Left Joystick ang servos 2 at 3 para sa bahagi ng Arm - kontrolin ang baluktot na Up at Down ng braso ayon sa pagkakabanggit, habang ang Right Joystick ay nagkokontrol sa servos 0 at 1 ng Robotic Arm's Claw upang buksan o isara, at upang paikutin ang kaliwa o kanan.

SERVO 0, 1 - Claw SERVO 2, 3 - Arm

Maaari kang gumawa ng mga pagbabago sa mga halaga sa seksyong ito upang makontrol ang antas ng iyong anggulo ng Robotic Arm:

pulselen0 = mapa (RY_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen1 = mapa (RX_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen2 = mapa (LY_Value, 0, 127, SERVOMIN2, SERVOMAX2); pulselen3 = mapa (LX_Value, 0, 255, SERVOMIN3, SERVOMAX3);

Inirerekumendang: