Мазмуну:
- 1 -кадам: Долбоорго сереп
- 2 -кадам: схемалар
- 3 -кадам: PS2 Controller диаграммасы
- 4 -кадам: Zio Modules туташуусун орнотуу
- 5 -кадам: Robot Arm Servo кызматын Zio 16 Servo Controller менен туташтырыңыз
- 6 -кадам: DC/DC Booster'ге 16 Сервону туташтырып, аны 6.0Вге коюңуз
- 7 -кадам: Zuino M Uno Zio 16 Servo Controller менен туташыңыз
- 8 -кадам: PS2 алуучуга Uno туташуу
- 9 -кадам: Роботтук кол үчүн код
- 10 -кадам: Кодуңузду иштетиңиз
- 11 -кадам: Коддун түшүндүрмөсү
Video: Zio Modules менен роботтук кол 2 -бөлүк: 11 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Бүгүнкү окуу куралында, биз робот колун башкаруу үчүн бардык 4 сервосун жана PS2 зымсыз контроллерин колдонобуз.
Бул блог посту Zio Robotics сериясынын бир бөлүгү.
Киришүү
Мурунку блогубузда, биз Zio модулдарын колдонуп робот колун кантип башкарууга болорун үйрөткөн 1 -бөлүктү жайгаштырганбыз. 1 -бөлүк негизинен робот колуңуздун тырмагын автоматтык түрдө башкарууга багытталган жана ачылат.
Бүгүнкү окуу куралыбызда, биз робот колун башкарууга PS2 зымсыз контроллерин кошуп, бир аз жакшыртабыз. Бул долбоор үчүн биз 4 сервону колдонобуз.
1 -кадам: Долбоорго сереп
Кыйынчылык деңгээли:
Зио Падаван
Пайдалуу булактар:
Сиз Zio өнүктүрүү такталарын орнотуу боюнча негизги түшүнүккө ээ болушуңуз керек. Бул окуу куралы, биз сиздин өнүктүрүү тактасы мурунтан эле конфигурацияланган жана орнотууга даяр деп ойлойбуз. Эгерде сиз тактаңызды конфигурациялай элек болсоңуз, анда баштоо үчүн төмөнкү Zio Qwiic Start Guide окуу куралыбызды карап көрүңүз:
Zio Zuino M UNO Qwiic Start Guide
2 -кадам: схемалар
Бул жерде роботтоштурулган куралдын 2 -бөлүкчөсүнүн схемалары, ошондой эле коддоо бөлүгүн түшүнүү үчүн керектүү болгон PS2 контроллеринин диаграммасы.
3 -кадам: PS2 Controller диаграммасы
4 -кадам: Zio Modules туташуусун орнотуу
Төмөндө Robot Arm менен орнотула турган Zio модулдарыбыздын байланышы келтирилген. Бардык модулдарды бириктирүү абдан оңой жана орнотууга 10 мүнөттөн ашык убакыт кетпейт.
5 -кадам: Robot Arm Servo кызматын Zio 16 Servo Controller менен туташтырыңыз
6 -кадам: DC/DC Booster'ге 16 Сервону туташтырып, аны 6.0Вге коюңуз
Биз DC/DC Booster'ди колдонобуз жана батареянын кубаттуулугун 6.0ге чейин тууралайбыз.
DC Boosterдеги потенциометрди колдонуп, чыңалууңузду 6.0 алганга чейин тууралаңыз. Кирүү/Чыкуу баскычын дисплейде 6.0 көрүнгөнгө чейин басыңыз. Чыңалууну тууралоо үчүн биринчи кезекте DC/DC Booster'иңизге кубат берүү керек (3.7V батарея).
7 -кадам: Zuino M Uno Zio 16 Servo Controller менен туташыңыз
Qwiic Zuino M Uno Zw Servo контроллерине qwiic кабели менен туташат.
8 -кадам: PS2 алуучуга Uno туташуу
Бул жерде туташуулардын пин диаграммасы. Бул бөлүк үчүн сизге 5 Эркектен Аялга секирүүчү зымдар керек.
9 -кадам: Роботтук кол үчүн код
Биз PS2 Arduino китепканасын PS2 зымсыз контроллерибизди роботтук колубуз менен иштөө үчүн коддоо үчүн колдонобуз. Сиз таба аласыз жана бул Robotic Arm Part 2 долбоорунун баштапкы кодун биздин Github баракчабыздан жүктөп алсаңыз болот.
Төмөнкү китепканаларды жүктөп алып, жергиликтүү Arduino IDE китепканалар папкасына сактаңыз:
- Adafruit PWM Servo Driver Library
- PS2 Arduino китепканасы
Китепканаларды орнотуу үчүн Arduino IDE ачыңыз, Sketch өтмөгүнө өтүңүз, Китепкананы кошуу -> Add. Zip китепканасын тандаңыз. Сиздин IDEге киргизиле турган жогорудагы китепканаларды тандаңыз.
Arduino китепканаларын Arduino IDEге кантип орнотуу керектиги боюнча колдо бар. Аларды бул жерден текшериңиз!
10 -кадам: Кодуңузду иштетиңиз
Arduino IDE ачуу. Файлдар> Мисалдар> PS2_Arduino_Library астында PS2X_Servo тандаңыз
Эскертүү: PS2 Controller менен робот колуңузду башкараардан мурун төмөнкү кадамдарды текшериңиз: PS2 Controller'иңизди күйгүзүңүз. Режимдин LED күйүп турганын текшериңиз. Эгер андай болбосо, контроллериңиздеги Mode баскычын басыңыз. Жогорудагыларды кылгандан кийин, контролердин жөндөөлөрүн окуу үчүн Zuino M Unoдогу баштапкы абалга келтирүү баскычын басуу керек. Робот колуңузду жылдыруу үчүн L1 жана Джойстикти басыңыз.
- Сол Джойстик колдун өйдө же ылдый ийилишин көзөмөлдөйт
- Оң джойстик тырмакты ачууну же жабууну жана тырмакты солго же оңго бурууну көзөмөлдөйт.
11 -кадам: Коддун түшүндүрмөсү
PS2X Arduino китепканасын колдонуу жөнөкөй, инициализацияны, орнотууну, анан окуу буйругун талап кылат.
PS2 Controller'иңизге Uno менен туташуу үчүн, төмөндө кодуңузда аныктоо керек болгон казыктар бар:
/*********************************************** ****************PS2 контроллерине туташтырылган казыктар:* - 1e мамыча: оригинал* - 2e колмун: Stef? *пин номерлерин сиз колдонгондорго алмаштырыңыз ************************************** **********************/#аныктоо PS2_DAT 13 // 14#аныктоо PS2_CMD 11 // 15#аныктоо PS2_SEL 10 // 16#аныктоо PS2_CLK 12 // 17
Биз төөнөгүчтөрдү жогорудагы пин диаграммада көрсөтүлгөндөй Uno менен туташуу үчүн колдонгондорго алмаштырдык.
/*********************************************** **************** PS2 контроллеринин режимдерин тандаңыз:* - басым = баскычтардын аналогдук окулушу* - шуулдоо = мотордун шуулдаганы*ар бир режимди тандоо үчүн линиялардын бирин комментарийлебе ** ************************************************ ************///#басымдын аныктыгын#кысымдын туура эместигин аныкта
Бул жерде биз PS2 режимин кысым жана ызылдоо үчүн жалган деп аныктадык. Биз колдонбогондорго комментарий бердик.
Биз робот колубуздун кыймылын көзөмөлдөө үчүн контролердин джойстик командасын жана L1ди гана колдонобуз.
void loop () {/* Сиз жаңы баалуулуктарды алуу жана вибрация маанилерин орнотуу үчүн Gamepadти окушуңуз керек ps2x.read_gamepad (кичинекей моторду күйгүзүү/өчүрүү, 0-255тен чоңураак мотор күчү), эгер сиз ызы-чууну иштетпесеңиз, ps2x.read_gamepad колдонуңуз (); эч кандай мааниси жок Сиз муну жок дегенде секундасына бир жолу чакырышыңыз керек*/if (error == 1) // эч кандай контролер кайтып келбесе, циклди өткөрүп жиберүү; else {// DualShock Controller ps2x.read_gamepad (жалган, дирилдөө); // контроллерди окуңуз жана чоң моторду "вибрация" ылдамдыгында айландырыңыз, эгерде (ps2x. Button (PSB_START)) // баскыч басылса, TRUE болот Serial.println ("Старт өткөрүлүп жатат"); if (ps2x. Button (PSB_SELECT)) Serial.println ("Тандоо өткөрүлүп жатат"); титирөө = ps2x. Analog (PSAB_CROSS); // бул чоң мотордун титирөө ылдамдыгын көк (X) баскычын канчалык басканыңызга негиздейт, эгерде (ps2x. Button (PSB_L1) || ps2x. Button (PSB_R1)) {// TRUE 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 ("Stick баалуулуктары:"); Serial.print (RX_Value); Serial.print (""); Serial.print (RY_Value); Serial.print (""); Serial.print (LY_Value); Serial.print (""); Serial.println (LX_Value);
Төмөндөгү код, биз роботтук колубузду башкарган биздин servoлорду коддойбуз, биз аларды ps2x.button (PSB_L1) астындагы функционалдык чалууга киргизебиз || ps2x.button (PSB_R1).
Робот колуңузду башкаруу үчүн L1 же R1 баскычын Джойстик менен бирге басууңуз керек.
Кол джойстиктин 2 жана 3 колунун бөлүгү - колдун өйдө жана ылдый ийилүүсүн көзөмөлдөйт, ал эми оң джойстик робот колунун тырмакчасынын 0 жана 1 серволорун ачуу же жабуу, солго же оңго бурууну көзөмөлдөйт.
SERVO 0, 1 - Claw 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);
Сунушталууда:
Роботтук кол: 3 кадам
Роботтук кол: Ciao a tutti! Vediamo si si può costruire un braccio robotico controllabile da remoto
Вакуумдук соргуч менен роботтук кол: 4 кадам
Вакуумдук соргуч менен робот колу: Arduino тарабынан башкарылуучу вакуумдук соргуч менен роботтук кол. Роботтун колу болот конструкциясына ээ жана ал толугу менен чогултулган. Робот колунда 4 servo мотор бар. 3 жогорку момент жана жогорку сапаттагы servo моторлору бар. Бул долбоордо, кантип жылыш керек
Шкив-кубаттуу, роботтук селкинчек кол чырагы: 6 кадам
Шкив -кубаттуу, роботтук селкинчек кол чырагы: Сизге керек болот: Аспаптар: -Сым кескичтер -Текчелер -Ратчет же ачкыч -Күч бургу -Лазердик кескич (милдеттүү эмес) -Ыстык клей тапанчасы Электроника: -2х хобби серво моторлору -Arduino/RaspberryPi/Elegoo kit-Breadboard-Joystick Module же 2 PotentiometersSupplies/Other Material
Чыныгы кол кыймылынын үстүнөн башкарылган жөнөкөй роботтук кол: 7 кадам (сүрөттөр менен)
Чыныгы кол кыймылынын үстүнөн башкарылган жөнөкөй роботтук кол: Бул үйрөнчүктөр үчүн DOF роботтук колу. Колу Arduino башкарат. Бул оператордун колуна бекитилген сенсор менен туташкан. Ошондуктан оператор колунун чыканагын башкарып, өзүнүн чыканак кыймылын бүгө алат
Автоматташтырылган роботтук кол: 7 кадам (сүрөттөр менен)
Автоматташтырылган ширетүүчү робот колу: Бул көрсөтмө робот колун колдонуп ПХБңызда электрондук бөлүктөрдү кантип ширетүү керектигин көрсөтөт. Бул долбоордун идеясы кокусунан оюма роботтук куралдардын ар кандай жөндөмдүүлүктөрүн издеп тапканымда келди. капкактарды