Съдържание:
- Стъпка 1: Преглед на проекта
- Стъпка 2: Схеми
- Стъпка 3: Диаграма на контролера на PS2
- Стъпка 4: Настройка на връзката с модули Zio
- Стъпка 5: Свържете Robotic Arm Servo към Zio 16 Servo Controller
- Стъпка 6: Свържете вашия 16 Servo към DC/DC Booster и го настройте на 6.0V
- Стъпка 7: Свържете Zuino M Uno към серво контролера Zio 16
- Стъпка 8: Свързване на Uno към PS2 приемника
- Стъпка 9: Код за роботизирана ръка
- Стъпка 10: Изпълнете вашия код
- Стъпка 11: Обяснение на кода
Видео: Роботизирана ръка с модули Zio Част 2: 11 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
В днешния урок ще използваме всичките 4 сервомотора и безжичен контролер PS2 за управление на роботизираната ръка.
Тази публикация в блога е част от Zio Robotics Series.
Въведение
В предишния си блог публикувахме урок Част 1 за това как да управляваме роботизирана ръка с помощта на модули Zio. Част 1 се концентрира най -вече върху автоматичното управление на ноктите на вашата роботизирана ръка за отваряне и затваряне.
В днешния урок ще го направим малко, като включим безжичен контролер PS2 за управление на роботизираната ръка. За този проект ще използваме 4 серво.
Стъпка 1: Преглед на проекта
Ниво на трудност:
Зио Падаван
Полезни ресурси:
Трябва да имате основно разбиране за това как да инсталирате дъските за разработка на Zio. В този урок приемаме, че вашата платка за разработка вече е конфигурирана и е готова за настройка. Ако все още не сте конфигурирали дъската си, разгледайте нашия урок за стартиране на Zio Qwiic по -долу, за да започнете:
Zio Zuino M UNO Qwiic Начално ръководство
Стъпка 2: Схеми
Ето схемата на окабеляване на проекта Robotic Arm Part 2, както и схемата на PS2 контролера, необходима за разбиране за вашата кодираща част.
Стъпка 3: Диаграма на контролера на PS2
Стъпка 4: Настройка на връзката с модули Zio
По -долу е връзката на нашите модули Zio, които ще бъдат настроени с роботизираната ръка. Свързването на всички модули заедно е доста лесно и няма да отнеме повече от 10 минути за настройка.
Стъпка 5: Свържете Robotic Arm Servo към Zio 16 Servo Controller
Стъпка 6: Свържете вашия 16 Servo към DC/DC Booster и го настройте на 6.0V
Използваме DC/DC Booster за усилване и регулиране на захранващото напрежение на батерията до 6,0.
Използвайте потенциометъра на DC Booster, за да регулирате напрежението, докато получите 6.0. Натискайте бутона In/Out, докато на дисплея се покаже 6.0. Трябва първо да захранвате (3.7V батерия) към вашия DC/DC Booster, за да регулирате напрежението.
Стъпка 7: Свържете Zuino M Uno към серво контролера Zio 16
Qwiic свържете Zuino M Uno към Zio Servo контролера с qwiic кабел.
Стъпка 8: Свързване на Uno към PS2 приемника
Ето щифтова диаграма на връзките. За тази част се нуждаете от 5 проводника от мъжки към женски.
Стъпка 9: Код за роботизирана ръка
Ще използваме библиотеката PS2 Arduino, за да кодираме нашия безжичен контролер PS2 за работа с нашата роботизирана ръка. Можете да намерите и изтеглите изходния код за този проект Robotic Arm Part 2 на нашата страница Github.
Изтеглете и инсталирайте следните библиотеки и ги запазете във вашата локална библиотека на Arduino IDE библиотеки:
- Библиотека за серво драйвери на Adafruit PWM
- Библиотека PS2 Arduino
За да инсталирате библиотеките, отворете вашата Arduino IDE, отидете в раздела Sketch, изберете Include Library -> Add. Zip Library. Изберете горните библиотеки, които да бъдат включени във вашата IDE.
Arduino има удобно ръководство за това как да инсталирате библиотеки към вашата Arduino IDE. Вижте ги тук!
Стъпка 10: Изпълнете вашия код
Отворете Arduino IDE. Под Файлове> Примери> PS2_Arduino_Library изберете PS2X_Servo
Забележка: Преди да можете да управлявате вашата роботизирана ръка с PS2 контролера, проверете следните стъпки: Включете вашия PS2 контролер. Проверете дали светодиодът за режим свети. Ако това не стане, натиснете бутона Mode на вашия контролер. След като направите горното, трябва да натиснете бутона за нулиране на вашия Zuino M Uno, за да прочете настройките на вашия контролер. Трябва да натиснете L1 и джойстика, за да преместите роботизираната си ръка.
- Лявият джойстик контролира огъването на ръката нагоре или надолу
- Десният джойстик контролира нокътя или да отваря или затваря и да завърта нокътя наляво или надясно.
Стъпка 11: Обяснение на кода
Използването на библиотеката PS2X Arduino е просто, изисква само инициализация, настройка и след това команда за четене.
За да настроите връзката за вашия PS2 контролер с вашия Uno, по -долу са изводите, които трябва да дефинирате във вашия код:
/************************************************* ****************задайте щифтове, свързани към PS2 контролера:* - 1e колона: оригинална* - 2e colmun: Stef? *заменете пиновите номера с тези, които използвате **************************************** **********************/#определи PS2_DAT 13 // 14#дефинирай PS2_CMD 11 // 15#дефинирай PS2_SEL 10 // 16#дефинирай PS2_CLK 12 // 17
Заменихме щифтовете с тези, които използваме за свързване към нашия Uno, както е посочено на диаграмата Pin.
/************************************************* ************ ************************************************** ************///#дефиниране на налягането true#дефиниране на налягането false //#дефиниране на rumble true#дефиниране на rumble false
Тук дефинирахме PS2 режим за натиск и бучене като невярно. Коментирахме тези, които не използваме.
Ще използваме само командата на джойстика на контролера и L1, за да контролираме движението на нашата роботизирана ръка.
void loop () {/* Трябва да прочетете Gamepad, за да получите нови стойности и да зададете стойности на вибрации ps2x.read_gamepad (малък мотор за включване/изключване, по-голяма сила на двигателя от 0-255), ако не активирате грохота, използвайте ps2x.read_gamepad (); без стойности Трябва да извикате това поне веднъж в секунда*/if (грешка == 1) // пропускане на цикъл, ако не е намерен контролер връщане; else {// DualShock Controller ps2x.read_gamepad (невярно, вибрира); // прочетете контролера и настройте големия двигател да се върти със скорост на „вибрация“, ако (ps2x. Button (PSB_START)) // ще бъде ИСТИНА, стига бутонът да е натиснат 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 ("Стойности на стика:"); 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 заедно с джойстика, за да управлявате вашата роботизирана ръка.
Левият джойстик управлява сервомоторите 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);
Препоръчано:
МОДУЛИ НА ТРУБНИ НИКСИ - Част II: 11 стъпки
ТРУБНИ МОДУЛИ НА NIXIE - Част II: Тази инструкция е продължение на модула за драйвери на тръбите на nixie (част I), който публикувах тук. Платката на драйвера на nixie е проектирана да получава сериен вход от външен микроконтролер (Arduino и др.) и извеждане на десетична информация и мощност на маршрута t
Роботизирана ръка с модули Zio Част 3: 4 стъпки
Роботизирана ръка с модули Zio Част 3: Тази публикация в блога е част от поредицата Zio Robotics. Въведение В предишния ни блог публикувахме урок Част 1 и 2 за това как да управляваме роботизирана ръка с помощта на модули Zio. Част 1 се концентрира най -вече върху автоматичното управление на ноктите на вашата роботизирана ръка
Управлявайте роботизирана ръка с Zio модули Част 1: 8 стъпки
Управление на роботизирана ръка с модули Zio Част 1: Тази публикация в блога е част от серията Zio Robotics. Въведение В този урок ще изградим проект, в който ще използваме модули Zio за управление на роботизираната ръка. Този проект ще ви научи как да накарате вашия нокът за роботизирана ръка да се отваря и затваря. Този н
КАК ДА СЕ СБОРЯ ВРЕМЕННА ДЪРВЕНА РОБОТНА РЪКА (ЧАСТ 3: РОБОТНА РЪКА) - НА ОСНОВА НА МИКРО: BITN: 8 стъпки
КАК ДА СЕ СБОРЯ ВРЕМЕННА ДЪРВЕНА РОБОТНА РЪКА (ЧАСТ 3: РОБОТНА РЪКА) - НА ОСНОВА НА МИКРО: BITN: Следващият процес на инсталиране се основава на завършването на режима за избягване на препятствия. Процесът на инсталиране в предишния раздел е същият като процеса на инсталиране в режим на проследяване на линии. Тогава нека да разгледаме окончателната форма на A
Безжична комуникация, използваща евтини 433MHz RF модули и микроконтролери Pic. Част 2: 4 стъпки (със снимки)
Безжична комуникация, използваща евтини 433MHz RF модули и микроконтролери Pic. Част 2: В първата част на тази инструкция, аз демонстрирах как да програмирате PIC12F1822 с помощта на MPLAB IDE и XC8 компилатор, за да изпратите обикновен низ безжично, използвайки евтини модули TX/RX 433MHz. Приемният модул беше свързан чрез USB към UART TTL кабелна реклама