Arduino: Робо-рука на двух сервоприводах

14.02.2014, 13:19
Источник: habrahabr.ru


Никогда раньше не имел дело с микроконтроллерами, поэтому решил начать своё знакомство с Ардуино. Понадобились базовые знания С/C++ и немного электроники.

Цель: “При помощи Arduino Uno и двух сервоприводов (9g SG90 Mini Micro Servo) написать на листе бумаги любое словосочетание”.

Arduino: Робо-рука на двух сервоприводах


Стояли такие задачи:

1) Установить среду разработки под Linux Fedora, получилось не сразу, но долго мучиться не пришлось. Был баг с поискам “Serial Port”, но гугл и терпение сделали свое дело.

2) Разобраться в том, что же такое за чудо сервопривод, в народе “серва”. Так как изначально у меня были сервы с вращением против часовой стрелки, весь код писался под них, но когда пришло время поменять их на новые “дешёвые” SG90, вдруг обнаружилось, что новые вращаются по часовой стрелке! Проблема решается просто: при помощи паяльника, меняются местами провода: на двигателе, и крайние (1ый и 3ий) провода на потенциометре.

Arduino Робо-рука на двух сервоприводах


3) Собрать техническую конструкцию “руки”, название “рука” звучит конечно громко, но главное чтобы отличалось от “плоттера”.

Для этого:
• Обзавелся макетной платой и горсткой проводов из витой пары, на оба конца провода я припаял ножки от старых электронных компонентов, в моем случае я пожертвовал конденсаторами.
• Выпилил из гетинакса, найденном на помойке радиозавода в 90-х, “плечо” и “предплечье”, их длина 80мм, а расстояние от крепления к серве до другого крепления и стержня 50мм.

Arduino Робо-рука на сервоприводах


• Для выведения каракуль сначала использовал стержень от гелевой ручки, но за тонкой линией сложно было скрыть мелкие подёргивания серв, остановился на варианте с фломастером. • Закрепил первую “серву” в металлической банке.

Всё, конструкция готова, но к сожалению без программной начинки она только немного вздрагивает при подаче питания на Ардуину.

Ардуино Робо-рука сервоприводах


4) Программирование:
Подтянув свои знания в области С/C++, я начал писать код...
Компиляция прошла успешно! Боялся за память на Arduino и не зря, несмотря на то что в Uno 32Kb, скетч размером больше 29 не пройдет, так как 3Kb заняты загрузчиком:
Binary sketch size: 29972 bytes (of a 32256 byte maximum)
Немного переписав букву ”R” через “P”, и “Q” через “O”, уменьшил вес и все заработало как надо!
Binary sketch size: 28468 bytes (of a 32256 byte maximum)

Исходники библиотек качать ОТСЮДА >> «Alphabet.h», «Alphabet.cpp», «ServoLine.h», «ServoLine.cpp» и сам скетч «robo_arm.pde»

***ВИДЕО руки на ардуино***



5) Финансовые затраты небольшие, всё заказывал на ebay.com: “Arduino Uno”(~30$) + 2x “Micro Servo SG90”(~3$) Итого: 36$ + риски, мало ли “Почта России” не донесёт!

Макетную плату мне одолжили, она кое-где идет в комплекте с Arduino. Плата освобождает от пайки, но и без неё легко можно обойтись.

6) Вывод: Получился интересный девайс, которым можно: удивить гостей, портить похабными надписями важные документы, пугать кота, подписывать документы (добавив предварительно свою подпись в библиотеку), рисовать.
Я познакомился с Arduino, увидел много креативных идей, понял, что надо бы изучить Assembler.

Если не потеряю интерес, то закажу Arduino Ethernet Shield и сделаю, чтобы “рука” писала Твиттер-имя человека приславшего мне Reply.

7) Если бы я начинал что-то подобное сейчас, чтобы сделал по-другому?
1) Не парился бы с графической моделью руки в graphics.h, а использовал бы “Google Sketchup + plugin SketchyPhysics“
2) Для создания конструкции модели использовал бы “поликапролактон”.

Ключевые слова:
рука на ардуино
программирование роботов
Arduino
провода
ардуино
Servo
крепления
скетч
рука робота
sketch
Alphabet
сервопривод
ServoLine
сервоприводы
Роботы на платформе Ардуино
робот


Вернуться в рубрику:

Проекты на платформе Ардуино


Хотите видеть на нашем сайте больше статей? Кликните Поделиться в социальных сетях! Спасибо!

Смотрите также:

Обратите внимание полезная информация.

Робототехника для каждого. 2024г.