Оглавление:
- Шаг 1. Обзор проекта
- Шаг 2: схемы
- Шаг 3: Схема контроллера PS2
- Шаг 4: Настройка подключения модулей Zio
- Шаг 5: Подключите сервопривод манипулятора к сервоконтроллеру Zio 16
- Шаг 6: Подключите сервопривод 16 к усилителю постоянного / постоянного тока и установите его на 6,0 В
- Шаг 7: Подключите Zuino M Uno к сервоконтроллеру Zio 16
- Шаг 8: Подключение Uno к приемнику PS2
- Шаг 9: Код для роботизированной руки
- Шаг 10: запустите свой код
- Шаг 11: Пояснение кода
Видео: Роботизированная рука с модулями Zio, часть 2: 11 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
В сегодняшнем руководстве мы будем использовать все 4 сервопривода и беспроводной контроллер PS2 для управления роботизированной рукой.
Это сообщение в блоге является частью серии Zio Robotics.
Вступление
В нашем предыдущем блоге мы опубликовали часть 1 руководства о том, как управлять роботизированной рукой с помощью модулей Zio. Часть 1 в основном сосредоточена на автоматическом управлении когтем вашей роботизированной руки, чтобы она открывалась и закрывалась.
В сегодняшнем уроке мы немного улучшим его, добавив беспроводной контроллер PS2 для управления роботизированной рукой. В этом проекте мы будем использовать 4 сервопривода.
Шаг 1. Обзор проекта
Сложный уровень:
Зио Падаван
Полезные ресурсы:
У вас должно быть базовое представление о том, как устанавливать платы разработки Zio. В этом руководстве мы предполагаем, что ваша плата для разработки уже настроена и готова к установке. Если вы еще не настроили свою доску, ознакомьтесь с нашим руководством по началу работы с Zio Qwiic ниже, чтобы начать работу:
Zio Zuino M UNO Qwiic Руководство по началу работы
Шаг 2: схемы
Вот схема подключения робота-манипулятора, часть 2, а также схема контроллера PS2, необходимая для понимания вашей части кодирования.
Шаг 3: Схема контроллера PS2
Шаг 4: Настройка подключения модулей Zio
Ниже показано подключение наших модулей Zio для установки с роботизированной рукой. Соединить все модули вместе довольно просто, и установка займет не более 10 минут.
Шаг 5: Подключите сервопривод манипулятора к сервоконтроллеру Zio 16
Шаг 6: Подключите сервопривод 16 к усилителю постоянного / постоянного тока и установите его на 6,0 В
Мы используем DC / DC Booster для повышения и регулировки напряжения питания батареи до 6.0.
Используйте потенциометр на усилителе постоянного тока, чтобы отрегулировать напряжение, пока не получите значение 6.0. Нажимайте кнопку In / Out, пока на дисплее не отобразится 6.0. Вам необходимо сначала подать питание (батарея 3,7 В) на усилитель постоянного / постоянного тока, чтобы отрегулировать напряжение.
Шаг 7: Подключите Zuino M Uno к сервоконтроллеру Zio 16
Qwiic подключите Zuino M Uno к сервоконтроллеру Zio с помощью кабеля 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 столбец: Stef? * замените номера контактов на те, которые вы используете **************************************** ********************** / # определить PS2_DAT 13 // 14 # определить PS2_CMD 11 // 15 # определить PS2_SEL 10 // 16 # определить PS2_CLK 12 // 17
Мы заменили контакты на те, которые мы используем для подключения к нашему Uno, как показано на схеме контактов выше.
/ *********************************************** **************** выберите режимы контроллера PS2: * - давления = аналоговое считывание кнопок * - грохот = грохот двигателя * раскомментируйте 1 строку для каждого выбора режима ** ************************************************* ************ / // # определение давления true # определение давления false // # определение грохота true # определение грохота false
Здесь мы определили режим PS2 для давления и грохота как ложный. Мы прокомментировали те, которые не используем.
Мы будем использовать только команду джойстика контроллера и L1 для управления движением нашей роботизированной руки.
void loop () {/ * Вы должны прочитать Gamepad, чтобы получить новые значения и установить значения вибрации ps2x.read_gamepad (маленький мотор вкл / выкл, большая сила мотора от 0 до 255), если вы не включаете грохот, используйте ps2x.read_gamepad (); без значений Вы должны вызывать это хотя бы раз в секунду * / if (error == 1) // пропустить цикл, если контроллер не найден return; else {// Контроллер DualShock ps2x.read_gamepad (false, вибрировать); // считываем контроллер и устанавливаем большой двигатель на вращение с «вибрирующей» скоростью if (ps2x. Button (PSB_START)) // будет ИСТИНА, пока нажата кнопка Serial.println («Пуск удерживается»); if (ps2x. Button (PSB_SELECT)) Serial.println ("Выбор удерживается"); vibrate = ps2x. Analog (PSAB_CROSS); // это установит скорость вибрации большого двигателя в зависимости от того, насколько сильно вы нажимаете синюю кнопку (X) if (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.button (PSB_R1).
Вам нужно нажать кнопку L1 или R1 вместе с джойстиком, чтобы управлять роботизированной рукой.
Левый джойстик управляет сервоприводами 2 и 3 для части руки - управляет изгибом руки вверх и вниз соответственно, в то время как правый джойстик управляет сервоприводами 0 и 1 когтя робота-манипулятора, чтобы открывать или закрывать, а также вращать влево или вправо.
SERVO 0, 1 - Коготь SERVO 2, 3 - Рука
Вы можете изменить значения в этом разделе, чтобы контролировать угол наклона манипулятора робота:
pulselen0 = map (RY_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen1 = map (RX_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen2 = map (LY_Value, 0, 127, SERVOMIN2, SERVOMAX2); pulselen3 = map (LX_Value, 0, 255, SERVOMIN3, SERVOMAX3);
Рекомендуемые:
Роботизированная рука с захватом: 9 шагов (с изображениями)
Роботизированная рука с захватом: сбор лимонных деревьев считается тяжелой работой из-за большого размера деревьев, а также из-за жаркого климата в регионах, где высажены лимонные деревья. Вот почему нам нужно что-то еще, чтобы помочь сельскохозяйственным работникам лучше выполнять свою работу
Роботизированная рука 3D с шаговыми двигателями, управляемыми по Bluetooth: 12 шагов
Роботизированная рука 3D с шаговыми двигателями, управляемая Bluetooth: в этом уроке мы увидим, как создать трехмерную роботизированную руку с шаговыми двигателями 28byj-48, серводвигателем и деталями, напечатанными на 3D-принтере. Печатная плата, исходный код, электрическая схема, исходный код и много информации размещены на моем веб-сайте
Роботизированная рука с модулями Zio, часть 3: 4 шага
Роботизированная рука с модулями Zio. Часть 3: Это сообщение в блоге является частью серии Zio Robotics. Введение В нашем предыдущем блоге мы разместили учебные пособия Части 1 и 2 о том, как управлять роботизированной рукой с помощью модулей Zio. Часть 1 в основном посвящена автоматическому управлению когтем вашей роботизированной руки t
Представляем I2C с модулями Zio и Qwiic: 6 шагов
Представляем I2C с модулями Zio и Qwiic: Робин Шарма сказал: «Небольшие ежедневные улучшения со временем приводят к потрясающим результатам». Вы можете подумать: «Ой, еще один пост I2C?». Что ж, когда дело доходит до I2C, есть, безусловно, тысячи информации. Но следите за обновлениями, это не просто очередной I2C
Роботизированная рука ROS MoveIt, часть 2: Контроллер робота: 6 шагов
Роботизированная рука ROS MoveIt, часть 2: Контроллер робота: https://github.com/AIWintermuteAI/ros-moveit-arm.git В предыдущей части статьи мы создали файлы URDF и XACRO для нашей роботизированной руки и запустили RVIZ для управления нашим роботизированная рука в смоделированной среде. На этот раз мы сделаем это с ре