Оглавление:

[Робот Arduino] Как сделать робота захвата движения - Большой палец руки робота - Серводвигатель - Исходный код: 26 шагов (с изображениями)
[Робот Arduino] Как сделать робота захвата движения - Большой палец руки робота - Серводвигатель - Исходный код: 26 шагов (с изображениями)

Видео: [Робот Arduino] Как сделать робота захвата движения - Большой палец руки робота - Серводвигатель - Исходный код: 26 шагов (с изображениями)

Видео: [Робот Arduino] Как сделать робота захвата движения - Большой палец руки робота - Серводвигатель - Исходный код: 26 шагов (с изображениями)
Видео: КИТАЙЦЫ СНОВА УДИВЛЯЮТ 100 ТОВАРОВ С ALIEXPRESS 2024, Ноябрь
Anonim
Image
Image
[Робот Arduino] Как сделать робота захвата движения | Робот Thumbs | Серводвигатель | Исходный код
[Робот Arduino] Как сделать робота захвата движения | Робот Thumbs | Серводвигатель | Исходный код

Большие пальцы руки робота. Использовал потенциометр серводвигателя MG90S. Это очень весело и просто! Код очень простой. Это всего около 30 строк. Похоже на захват движения.

Пожалуйста, оставьте любой вопрос или отзыв!

[Инструкция]

  • Исходный код
  • Файлы для 3D-печати

[О создателе]

Youtube

Шаг 1: ЧАСТИ ARDUINO

ЗАПЧАСТИ ARDUINO
ЗАПЧАСТИ ARDUINO
ЗАПЧАСТИ ARDUINO
ЗАПЧАСТИ ARDUINO
ЗАПЧАСТИ ARDUINO
ЗАПЧАСТИ ARDUINO

Установите Arduino IDE

https://www.arduino.cc/en/Main/Software

Установите драйвер CH340 (для китайской версии)

https://www.wch.cn/download/CH341SER_ZIP.html

СКАЧАТЬ - исходный код

  • https://github.com/happythingsmaker/ThumbsRobot
  • Как видите, есть zip-файл. Извлеките весь файл и дважды щелкните файл с исходным кодом.

Выберите плату / Процессор / Ком-порт

  • Ардуино Нано
  • ATmega328P (старый загрузчик)

Подключите свой arduino nano

Подключите кабель USB, и появится новый порт

Найдите / выберите появляющийся com-порт

  • Щелкните появившийся порт и нажмите кнопку загрузки
  • Нажмите кнопку загрузки

Шаг 2: ДЕТАЛИ ДЛЯ 3D-ПЕЧАТИ

ДЕТАЛИ ДЛЯ 3D-ПЕЧАТИ
ДЕТАЛИ ДЛЯ 3D-ПЕЧАТИ

Загрузите файлы 3D-моделирования с Thingiverse

https://www.thingiverse.com/thing:2844993

Распечатать все части по очереди

Шаг 3: Часть схемы

Часть схемы
Часть схемы

Используйте плату расширения Arduino Nano. Поскольку у самой Arduino Nano не так много контактов, вам нужно будет использовать плату расширения.

Если вы посмотрите на проводку, подключенную к двигателю, вы увидите три цвета. Желтый, красный и коричневый. Коричневый должен быть соединен с G (Земля).

На следующих этапах мы еще раз рассмотрим это внимательно.

Шаг 4: АППАРАТНАЯ ЧАСТЬ - Подготовьте все детали

АППАРАТНАЯ ЧАСТЬ - Подготовьте все детали
АППАРАТНАЯ ЧАСТЬ - Подготовьте все детали

[Части]

  • 1 х Arduino Nano
  • 1 плата расширения Arduino Nano
  • 6 x сервомоторов
  • 2 x игрушки для глаз
  • 12 болтов (2 * 6 мм)

[Инструменты]

  • 3d принтер (Anet A8)
  • Нить для 3d печати (PLA 1,75 мм)
  • Кусачки для проволоки
  • Стопор для проволоки
  • Пистолет для термоклея
  • Отвертка (+)
  • Электронная лента
  • Паяльные инструменты (Hakko)
  • Паяльная рука
  • Электрическая отвертка

Шаг 5: Преобразуйте 3 серводвигателя в датчик положения

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

Мы будем использовать сам потенциометр. нам нужно открыть корпус, разобрать плату и заново перемонтировать.

Шаг 6: открутите 4 болта на задней стороне и откройте переднюю часть корпуса

Отвинтите 4 болта на задней стороне и откройте переднюю часть корпуса
Отвинтите 4 болта на задней стороне и откройте переднюю часть корпуса
Отвинтите 4 болта на задней стороне и откройте переднюю часть корпуса
Отвинтите 4 болта на задней стороне и откройте переднюю часть корпуса

Вам понадобится небольшая отвертка, потому что они слишком маленькие. Мотор состоит из 3-х частей - передней, основной и задней.

Когда вы откроете переднюю часть, вы увидите шестеренки. На самом деле, мы не используем этот мотор как «мотор». Итак, шестерни теоретически больше не нужны. Но мы воспользуемся какой-то их частью, чтобы рабочий угол по-прежнему имел ограничение вращения.

Шаг 7: Снимите 3-ю передачу

Снимите 3-ю передачу
Снимите 3-ю передачу
Снимите 3-ю передачу
Снимите 3-ю передачу
Снимите 3-ю передачу
Снимите 3-ю передачу

Потенциометр в серводвигателе имеет угловое ограничение, которое составляет около 180 градусов. У потенциометра есть свой ограничительный механизм, но он очень слабый. Часто легко ломается. Чтобы защитить его, шестерня дает другой механизм. Первая передача имеет пластиковый бампер, который будет контактировать со второй передачей.

Нам обязательно нужна первая передача для общей рамы, вторая передача нужна для ограничения. Итак, мы не можем от них избавиться. Вместо них мы можем снять третью передачу.

Вы можете спросить, зачем нам снимать шестеренку. Эти три серводвигателя будут использоваться для получения угловой информации. Если в них есть шестерни, движение будет жестким. Значит, мы должны избавиться от одной из шестеренок от них.

Шаг 8: Повторный монтаж / пайка

Повторный электромонтаж / пайка
Повторный электромонтаж / пайка

Обрежьте провода, соединенные с двигателями.

Шаг 9: используйте паяльник и отсоедините плату

Используйте паяльник и отсоедините плату
Используйте паяльник и отсоедините плату
Используйте паяльник и отсоедините плату
Используйте паяльник и отсоедините плату

Шаг 10: отрежьте провод и подготовьтесь к пайке

Отрежьте провод и приготовьтесь к пайке
Отрежьте провод и приготовьтесь к пайке
Отрежьте провод и приготовьтесь к пайке
Отрежьте провод и приготовьтесь к пайке

и нанести немного пасты и положить немного свинца на кабель

Шаг 11: припаяйте

Припаять это
Припаять это
Припаять это
Припаять это
Припаять это
Припаять это
Припаять это
Припаять это

с самой левой стороны красный желтый и коричневый

Шаг 12: нанесите немного клея

Нанесите немного клея на это
Нанесите немного клея на это
Нанесите немного клея на это
Нанесите немного клея на это

и вернуть его обратную сторону

Нам нужно еще 2 потенциометра. проделайте то же самое с двумя другими моторами

Шаг 13: Сделайте первый цокольный этаж

Сделайте первый цокольный этаж
Сделайте первый цокольный этаж
Сделайте первый цокольный этаж
Сделайте первый цокольный этаж
Сделайте первый цокольный этаж
Сделайте первый цокольный этаж

Я использовал кухонную доску для создания этого проекта. использовать его дешево и надежно. Чтобы закрепить каркас на доске, вам понадобятся шурупы с острым концом. Он делает отверстие и резьбу одновременно.

Всего 6 моторов. 3 мотора слева - это оригинальные моторы. с другой стороны, есть 3 двигателя, которые модифицируются перед шагом.

Шаг 14: Сделайте шарнир рыскания

Сделайте шарнир по рысканью
Сделайте шарнир по рысканью
Сделайте шарнир по рысканью
Сделайте шарнир по рысканью

Вам понадобится болт M2 * 6 мм.

Шаг 15: соберите шарнир рыскания с первым двигателем

Соберите шарнир рыскания с первым двигателем
Соберите шарнир рыскания с первым двигателем
Соберите шарнир рыскания с первым двигателем
Соберите шарнир рыскания с первым двигателем

Как вы можете видеть на последней картинке, вам нужно будет расположить стык в горизонтальном направлении. И двигатель, и потенциометр должны располагаться под углом 90 градусов.

Другими словами, вы можете повернуть этот шарнир рыскания на 90 градусов по часовой стрелке и против часовой стрелки из этого места.

Шаг 16: соберите Arduino Nano с платой расширения Arduino Nano

Соберите Arduino Nano с платой расширения Arduino Nano
Соберите Arduino Nano с платой расширения Arduino Nano
Соберите Arduino Nano с платой расширения Arduino Nano
Соберите Arduino Nano с платой расширения Arduino Nano

Убедитесь в направлении. Порт USB находится на той же стороне, что и разъем постоянного тока.

Шаг 17: подключение первого уровня

Соединение первого уровня
Соединение первого уровня
Соединение первого уровня
Соединение первого уровня

Потенциометр подключен к выводу Analog 0 Arduino. Вы должны правильно его подключить. Этот Arduino Nano имеет 8-канальный АЦП (аналогово-цифровой преобразователь). В основном потенциометр выдает аналоговый уровень или напряжение. Вы можете прочитать это значение напряжения, используя контакты АЦП.

С другой стороны, серводвигатель подключен к Digital 9 Arduino. Серводвигателями можно управлять с помощью ШИМ (широтно-импульсной модуляции). Arduino Nano имеет 6-канальный вывод ШИМ (выводы 9, 10, 11, 3, 5 и 6). Таким образом, мы можем использовать до 6 серводвигателей.

На этом этапе исходный код выглядит так

#включают

Серво сервопривод [6]; void setup () {pinMode (A0, INPUT); серво [0].attach (9);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); серво [0].write (map (tempADC [0], 0, 1023, 0, 180));}

Шаг 18: соберите второй слой

Соберите второй слой
Соберите второй слой
Соберите второй слой
Соберите второй слой
Соберите второй слой
Соберите второй слой
Соберите второй слой
Соберите второй слой

Второй слой сделать тоже несложно. Что вам нужно быть осторожным, так это поместить его в правильное место, когда вы подключаете кабель к Arduino.

  • Левый серводвигатель подключен к выводу 10.
  • Правый потенциометр подключен к A1

#включают

Серво сервопривод [6]; void setup () {pinMode (A0, INPUT); pinMode (A1, ВХОД); серво [0].attach (9); серво [1].attach (10);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); серво [0].write (карта (tempADC [0], 0, 1023, 0, 180)); tempADC [1] = analogRead (A1); серво [1].write (map (tempADC [1], 0, 1023, 0, 180));}

Шаг 19: соберите рамки третьего слоя

Соберите рамки третьего слоя
Соберите рамки третьего слоя

Шаг 20: соберите раму со вторым мотором / потенциометром

Соберите раму со 2-м двигателем / потенциометром
Соберите раму со 2-м двигателем / потенциометром
Соберите раму со 2-м двигателем / потенциометром
Соберите раму со 2-м двигателем / потенциометром
Соберите раму со 2-м двигателем / потенциометром
Соберите раму со 2-м двигателем / потенциометром
Соберите раму со вторым двигателем / потенциометром
Соберите раму со вторым двигателем / потенциометром

Шаг 21: соберите 3-й двигатель в шарнирную раму

Соберите 3-й двигатель в шарнирную раму
Соберите 3-й двигатель в шарнирную раму
Соберите 3-й двигатель в шарнирную раму
Соберите 3-й двигатель в шарнирную раму

Шаг 22: Подключите кабель к Arduino

Подключите кабель к Arduino
Подключите кабель к Arduino
Подключите кабель к Arduino
Подключите кабель к Arduino
  • Третий двигатель подключен к контакту 11.
  • Третий потенциометр подключен к A2.

код выглядит так

#include Сервопривод [6]; void setup () {pinMode (A0, INPUT); pinMode (A1, ВХОД); pinMode (A2, ВХОД); серво [0].attach (9); серво [1].attach (10); серво [2].attach (11);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); серво [0].write (карта (tempADC [0], 0, 1023, 0, 180)); tempADC [1] = analogRead (A1); серво [1].write (карта (tempADC [1], 0, 1023, 0, 180)); tempADC [2] = analogRead (A2); серво [2].write (map (tempADC [2], 0, 1023, 0, 180));}

Шаг 23: соберите раму для большого пальца

Соберите раму для большого пальца
Соберите раму для большого пальца
Соберите раму для большого пальца
Соберите раму для большого пальца

Шаг 24: Проверьте и отрегулируйте угол

Проверить и отрегулировать угол
Проверить и отрегулировать угол
Проверить и отрегулировать угол
Проверить и отрегулировать угол
Проверить и отрегулировать угол
Проверить и отрегулировать угол

Подключите USB-кабель к любому источнику питания, и робот скоро включится. Угол может немного отличаться. Отрегулируйте угол по одному.

Шаг 25: Еще один робот?

Еще один робот?
Еще один робот?
Еще один робот?
Еще один робот?

Если вы хотите сделать еще одного робота, вы можете это сделать. Подключите сервоприводы к 3, 5 и 6.

#include Servo servo [6]; void setup () {pinMode (A0, INPUT); pinMode (A1, ВХОД); pinMode (A2, ВХОД); серво [0].attach (9); серво [1].attach (10); сервопривод [2].attach (11); сервопривод [3].attach (3); серво [4]. прикрепить (5); серво [5].attach (6);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); серво [0].write (карта (tempADC [0], 0, 1023, 0, 180)); серво [3].write (карта (tempADC [0], 0, 1023, 0, 180)); tempADC [1] = analogRead (A1); серво [1].write (карта (tempADC [1], 0, 1023, 0, 180)); серво [4].write (карта (tempADC [1], 0, 1023, 0, 180)); tempADC [2] = analogRead (A2); серво [2].write (карта (tempADC [2], 0, 1023, 0, 180)); серво [5].write (map (tempADC [2], 0, 1023, 0, 180));}

Шаг 26: Готово

Выполнено!
Выполнено!
Выполнено!
Выполнено!
Выполнено!
Выполнено!

Если у вас есть вопросы, не стесняйтесь их оставлять:)

Конкурс микроконтроллеров
Конкурс микроконтроллеров
Конкурс микроконтроллеров
Конкурс микроконтроллеров

Финалист конкурса микроконтроллеров

Рекомендуемые: