Агуулгын хүснэгт:

Зио модулиудтай робот гар 2 -р хэсэг: 11 алхам
Зио модулиудтай робот гар 2 -р хэсэг: 11 алхам

Видео: Зио модулиудтай робот гар 2 -р хэсэг: 11 алхам

Видео: Зио модулиудтай робот гар 2 -р хэсэг: 11 алхам
Видео: КАК Я ПРЕДАЛ ТВИЧ СТРИМЕРОВ - Каша, Некоглай, Мафаня 2024, Долдугаар сарын
Anonim
Зио модулиудтай робот гар 2 -р хэсэг
Зио модулиудтай робот гар 2 -р хэсэг

Өнөөдрийн хичээл дээр бид робот гарыг удирдахын тулд бүх 4 servo болон PS2 утасгүй хянагчийг ашиглах болно.

Энэхүү блог бичлэг нь Зио роботын цувралын нэг хэсэг юм.

Танилцуулга

Өмнөх блогтоо бид Zio модулийг ашиглан робот гарыг хэрхэн удирдах тухай 1 -р хэсгийн хичээлийг оруулсан болно. 1 -р хэсэг нь ихэвчлэн робот гарынхаа хумсыг автоматаар нээх, хаахад чиглэдэг.

Өнөөдрийн гарын авлагад бид робот гарыг удирдах PS2 утасгүй хянагчийг оруулснаар үүнийг бага зэрэг сайжруулах болно. Энэ төслийн хувьд бид 4 servo ашиглах болно.

Алхам 1: Төслийн тойм

Хэцүү байдлын түвшин:

Зио Падаван

Ашигтай нөөцүүд:

Та Zio хөгжлийн самбарыг хэрхэн суулгах талаар үндсэн ойлголттой байх ёстой. Энэхүү гарын авлагад бид таны хөгжлийн самбар аль хэдийн тохируулагдсан бөгөөд тохируулахад бэлэн болсон гэж үзэж байна. Хэрэв та самбараа тохируулаагүй байгаа бол эхлүүлэхийн тулд доорх Zio Qwiic Start Guide гарын авлагыг үзнэ үү.

Zio Zuino M UNO Qwiic эхлэх гарын авлага

Алхам 2: Схем

Схем
Схем

Робот гарны 2 -р хэсгийн утаснуудын бүдүүвч зураг, кодчилох хэсгийг ойлгоход шаардлагатай PS2 хянагчийн диаграммыг энд оруулав.

Алхам 3: PS2 хянагчийн диаграм

PS2 хянагчийн диаграм
PS2 хянагчийн диаграм

Алхам 4: Zio модулийн холболтыг тохируулах

Манай Zio модулийн холболтыг Robotic Arm ашиглан доор харуулав. Бүх модулиудыг хооронд нь холбох нь маш хялбар бөгөөд үүнийг тохируулахад 10 минутаас илүү хугацаа шаардагдахгүй.

Алхам 5: Robotic Arm Servo -ийг Zio 16 Servo Controller руу холбоно уу

Robot Arm Servo -ийг Zio 16 Servo Controller руу холбоно уу
Robot Arm Servo -ийг Zio 16 Servo Controller руу холбоно уу

Алхам 6: 16 Servo -г DC/DC Booster -т холбоод 6.0V -д тохируулна уу

16 Servo -г DC/DC Booster -д холбоод 6.0V -д тохируулна уу
16 Servo -г DC/DC Booster -д холбоод 6.0V -д тохируулна уу

Бид батерейны хүчдэлийг 6.0 болгож нэмэгдүүлэх, тохируулахын тулд DC/DC Booster ашигладаг.

DC Booster дээрх потенциометрийг ашиглан хүчдэлийг 6.0 авах хүртэл тохируулна уу. Дэлгэц дээр 6.0 гарч ирэх хүртэл In/Out товчийг дарна уу. Хүчдэлийг тохируулахын тулд та эхлээд DC/DC Booster -т тэжээл (3.7V зай) өгөх хэрэгтэй.

Алхам 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 -г qwiic кабелиар Zio Servo хянагчтай холбодог.

Алхам 8: Uno -г PS2 хүлээн авагчтай холбоно уу

Uno -г PS2 хүлээн авагчтай холбож байна
Uno -г PS2 хүлээн авагчтай холбож байна

Энд холболтын зүү диаграмм байна. Энэ хэсэгт танд 5 эрэгтэй, эмэгтэй холбогч утас хэрэгтэй болно.

Алхам 9: Робот гарны код

Бид PS2 Arduino номын санг ашиглан PS2 утасгүй хянагчаа робот гартай ажиллахын тулд кодлох болно. Та энэхүү Robotic Arm Part 2 төслийн эх кодыг манай Github хуудаснаас олж, татаж авах боломжтой.

Дараахь номын санг татаж аваад суулгаад өөрийн Arduino IDE номын сангийн фолдерт хадгална уу.

  • Adafruit PWM Servo Driver номын сан
  • PS2 Arduino номын сан

Номын санг суулгахын тулд Arduino IDE -ээ нээнэ үү. Дээрх номын сангуудыг IDE дээрээ оруулахыг сонгоно уу.

Arduino нь Arduino IDE дээрээ номын санг хэрхэн суулгах талаар гарын авлагатай. Тэднийг эндээс үзээрэй!

Алхам 10: Кодоо ажиллуулна уу

Кодоо ажиллуулна уу
Кодоо ажиллуулна уу

Arduino IDE -ийг нээнэ үү. Файлууд> Жишээ> PS2_Arduino_Library дотроос PS2X_Servo -г сонгоно уу

Тэмдэглэл: PS2 хянагч ашиглан робот гараа удирдахаасаа өмнө дараах алхмуудыг шалгана уу: PS2 хянагчаа асаана уу. LED горим асаж байгаа эсэхийг шалгаарай. Хэрэв тийм биш бол хянагчийнхаа Mode товчийг дарна уу. Дээрх зүйлийг хийсний дараа та хянагчийн тохиргоог уншихын тулд Zuino M Uno дээрх дахин тохируулах товчийг дарах хэрэгтэй. Робот гараа хөдөлгөхийн тулд L1 болон Joystick товчийг дарах хэрэгтэй.

  • Зүүн Joystick нь гараа дээш эсвэл доош нь нугалахыг хянадаг
  • Баруун 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 -тойгоо холбоход ашигладаг зүүг сольсон.

/*********************************************** ********** ************************************************ ************///#даралтыг үнэнээр тодорхойлох#даралтыг худал тодорхойлох

Энд бид PS2 горимыг дарамт, дуу чимээг худал гэж тодорхойлсон. Бид ашигладаггүй зүйлээ тайлбарласан.

Бид роботын гарны хөдөлгөөнийг хянахын тулд Controller -ийн Joystick команд болон L1 -ийг ашиглах болно.

void loop () {/* Та шинэ утгыг авахын тулд Gamepad-ийг уншиж, чичиргээний утгыг тохируулах ёстой ps2x.read_gamepad (жижиг мотор асаах/унтраах, 0-255-аас их хөдөлгүүрийн хүч чадал). (); ямар ч утгагүйгээр та үүнийг дор хаяж нэг удаа дуудах ёстой*/if (error == 1) // хэрэв хянагч эргэж ирээгүй бол давталтыг алгасах; өөр {// DualShock Controller ps2x.read_gamepad (худал, чичиргээ); // хянагчийг уншиж, том моторыг 'чичиргээ' хурдаар эргүүлэх тохиргоог хий (ps2x. Button (PSB_START)) // товчлуур дарагдсан л бол ҮНЭН байх болно Serial.println ("Эхлэлийг барьж байна"); if (ps2x. Button (PSB_SELECT)) Serial.println ("Сонголт хийгдэж байна"); чичиргээ = ps2x. Analog (PSAB_CROSS); // энэ нь хэрэв та (ps2x. Button (PSB_L1) || ps2x. Button (PSB_R1)) {// хэрвээ ҮНЭН RY_Value байвал модны утгыг хэвлэх бол цэнхэр (X) товчлуурыг хэр дарж байгаагаас шалтгаалан том хөдөлгүүрийн чичиргээний хурдыг тохируулна. = ps2x аналог (PSS_RY); RX_Value = ps2x. Analog (PSS_RX); LY_Value = ps2x. Analog (PSS_LY); LX_Value = ps2x. Analog (PSS_LX); Serial.print ("Stick Values:"); Serial.print (RX_Value); Serial.print (""); Serial.print (RY_Value); Serial.print (""); Цуваа.хэвлэх (LY_Value); Serial.print (""); Serial.println (LX_Value);

Доорх код нь бидний робот гарыг хянадаг servo -уудаа кодчилдог бөгөөд үүнд ps2x.button (PSB_L1) || ps2x товчлуур (PSB_R1).

Та робот гараа удирдахын тулд L1 эсвэл R1 товчлуурыг Joystick -ийн хамт дарах хэрэгтэй.

Зүүн гарны бариулын гар багажны 2 ба 3 -ийг удирдах - гарны дээш ба доош гулзайлтыг хянадаг бол Баруун Жойстик нь роботын гарны хумсны 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);

Зөвлөмж болгож буй: