Недорогая роборука, программируемая на Ардуино: роботизированный манипулятор своими руками

Эта статья — вводное руководство для новичков по созданию роботизированных рук, которые программируются при помощи Ардуино. Концепция состоит в том, что проект роборуки будет недорогим и простым в сборке. Мы соберём несложный прототип с кодом, который можно и нужно оптимизировать, это станет для вас отличным стартом в робототехнике. Робот-манипулятор на Ардуино управляется хакнутым джойстиком и может быть запрограммирован на повторение последовательности действий, которую вы зададите. Если вы не сильны в программировании, то можете заняться проектом в качестве тренировки по сборке «железа», залить в него мой код и получить на его основе базовые знания. Повторюсь, проект достаточно простой.

На видео — демка с моим роботом.

Шаг 1: Список материалов

Нам понадобится:

  1. Плата Ардуино. Я использовал Уно, но любая из разновидностей одинаково хорошо справится с задачами проекта.
  2. Сервоприводы, 4 самых дешевых, что вы найдёте.
  3. Материалы для корпуса на ваш вкус. Подойдёт дерево, пластик, метал, картон. Мой проект собран из старого блокнота.
  4. Если вы не захотите заморачиваться с печатной платой, то понадобится макетная плата. Подойдёт плата небольшого размера, поищите варианты с джамперами и блоком питания — они бывают достаточно дешевы.
  5. Что-то для основания руки — я использовал банку от кофе, это не самый лучший вариант, но это всё, что я смог найти в квартире.
  6. Тонкая нить для механизма руки и иголка для проделывания отверстий.
  7. Клей и изолента, чтобы скрепить всё воедино. Нет ничего, что нельзя было бы скрепить изолентой и горячим клеем.
  8. Три резистора на 10K. Если у вас не найдётся резисторов, то в коде на такие случаи есть обходной манёвр, однако лучшим вариантом будет купить резисторы здесь.

Шаг 2: Как всё работает

На приложенном рисунке изображен принцип работы руки. Также я объясню всё на словах. Две части руки соединены тонкой нитью. Середина нити соединена с сервоприводом руки. Когда сервопривод тянет нить — рука сжимается. Я оснастил руку пружиной из шариковой ручки, но если у вас есть более гибкий материал, можете использовать его.

Шаг 3: Модифицируем джойстик

Предположив, что вы уже закончили сборку механизма руки, я перейду к части с джойстиком.

Для проекта использовался старый джойстик, но в принципе подойдёт любой устройство с кнопками. Аналоговые кнопки (грибы) используются для управления сервоприводами, так как по сути это просто потенциометры. Если у вас нет джойстика, то можете использовать три обычных потенциометра, но если вы, как и я, модифицируете старый джойстик своими руками, то вот что вам нужно сделать.

Я подключил потенциометры к макетной плате, у каждого из них есть по три клеммы. Одну из них нужно соединить с GND, вторую с +5V на Ардуино, а среднюю на вход, который мы определим позже. Мы не будем использовать ось Y на левом потенциометре, поэтому нам нужен только потенциометр над джойстиком.

Что касается переключателей, соедините +5V с одним его концом, а провод, который идёт на другой вход Ардуино со вторым концом. Мой джойстик имеет общую для всех переключателей линию на +5V. Я подключил всего 2 кнопки, но затем подключил еще одну, так как в ней появилась необходимость.

Также важно обрезать провода, которые идут к чипу (черный круг на джойстике). Когда вы завершите всё вышеописанное, можно приступить к проводке.

Шаг 4: Электропроводка нашего устройства

На фотографии изображена электропроводка устройства. Потенциометры — это рычажки на джойстике. Локоть (Elbow) — это правая ось Y, Основа (Base) — это правая ось X, Плечо (Shoulder) — это левая ось X. Если вам захочется поменять направление движения сервоприводов, просто смените положение проводов +5V и GND на соответствующем потенциометре.

Шаг 5: Загрузка кода

На этом этапе нам нужно скачать приложенный код на компьютер, а затем загрузить его на Ардуино.

Заметка: если до этого вы уже загружали код на Ардуино, то просто пропустите этот шаг — вы не узнаете ничего нового.

  1. Откройте ИДЕ Ардуино и вставьте в него код
  2. В Tools/Board выберите вашу плату
  3. В Tools/Serial Port выберите порт, к которому подключена ваша плата. Скорее всего, выбор будет состоят из одного пункта.
  4. Нажмите кнопку Upload.

Вы можете изменить диапазон работы сервоприводов, в коде я оставил заметки о том, как это осуществить. Скорее всего, код будет работать без проблем, вам нужно будет лишь поменять параметр сервопривода руки. Этот параметр зависит от того, как вы настроили нить, поэтому я рекомендую точно подобрать его.

Если вы не используете резисторы, то вам нужно будет модифицировать код в том месте, где я оставил об этом заметки.

Файлы

Шаг 6: Запуск проекта

Робот контролируется движениями на джойстике, рука сжимается и разжимается при помощи кнопки для руки. На видео показано, как все работает в реальной жизни.

Вот способ, которым можно запрограммировать руку:

  1. Откройте Serial Monitor в Ардуино ИДЕ, это позволить проще следить за процессом.
  2. Сохраните начальную позицию, кликнув Save.
  3. За один раз двигайте лишь одним сервоприводом, например, Плечо вверх, и жмите save.
  4. Активируйте руку также только на её шаге, а затем сохраняйте нажатием save. Деактивация также производится на отдельном шаге с последующим нажатием save.
  5. Когда закончите последовательность команд, нажмите кнопку play, робот перейдёт в начальное положение и затем начнёт двигаться.
  6. Если вы захотите остановить его — отсоедините кабель или нажмите кнопку reset на плате Ардуино.

Если вы всё сделали правильно, то результат будет похож на этот!

Надеюсь, урок был вам полезен!

Игорь Самоделов
Игорь Самоделов

Рассказываю как сделать какую-либо вещь с пошаговыми фото и видео инструкциями.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *