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


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

Шаг 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 на плате Ардуино.

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

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