Управляем рукой робота ардуино через интернет

Робот на Ардуино и машинка на Bluetooth своими руками

Робот – машинка на Ардуино становятся одним из самым популярных инженерных проектов в школьной робототехнике. Именно с таких устройств, автономных или управляемых со смартфона и bluetooth, начинается путь в робототехнику “после Lego”. К счастью, сегодня можно без труда купить все необходимые компоненты и достаточно быстро создать своего первого робота для езды по линии или объезда препятствий. В этой статье вы найдете подробную видео инструкцию как сделать продвинутый автомобиль Arduino Car своими руками, с питанием, датчиками линии, расстояния и управлении через bluetooth.

Робот на ардуино своими руками

В отличие от других проектов, создание робота – автомобиля (Arduino Car) требует понимания и навыков работы сразу с несколькими важными компонентами, поэтому не стоит приступать к созданию машинок без получения базовых навыков работы с платформой Arduino. В любом случае, вам нужно будет но только подключить готовые модули, но и собрать конструкцию, шасси с двигателями, обеспечить правильное питание и управление. Все это потребует определенного терпения.

Робот машина на Ардуино

Вот список ключевых компонентов, которые обязательно встретятся в проекте.

Контроллер Ардуино

Куда уж без него, если мы говорим о проектах на этой платформе. Как правило, роботы машины делают на базе плат Arduino Uno и Nano. Mega будут слишком большие, Pro Mini сложнее подключать к компьютеру и соединять с остальными компонентами, а Leonardo требуют дополнительных навыков в программировании, они дороже и их основное преимущество (тесная интеграция с компьютером в качестве периферийного устройства) в данном случае не слишком востребована.

Есть еще вариант использования плат ESP8266 или ESP32, тогда в проекте появляется возможность управления машиной через WiFi. Но и сами платы и их программирование требует определенных навыков, в этой статье мы будем говорить преимущественно об Uno или Nano.

Конструкция, шасси и двигатели робота на Ардуино

Для того, чтобы что-то поехало или стало перемещаться, надо снабдить “это” колесами, гусеницами или манипуляторами-ногами. Вот тут выбор совершенно не ограничен, можно использовать совершенно любые комбинации и сочетания платформ. Как правило, в качестве начального варианта берутся уже готовые наборы платформ с Алиэкспресс.

Двигатель, шасси и колеса машинки на ардуино

Если работать со стандартными наборами вам не интересно, можно создать платформу своими руками. Например, разобрать игрушечные радиоуправляемые машинки или любые двигатели на 5-12 вольт, с редукторами или без. Колеса можно создать и самим, что тоже является интересной задачей.

Драйвер двигателей

Ардуино – достаточно ранимое устройство, не терпящее больших нагрузок по току. Соединяя его с “брутальными” мощными двигателями, не избежать беды. Поэтому для нормальной совместной работы нам нужно будет включить в схему робота компонент, отвечающий за управление двигателями – подающий и отключающий ток на их обмотки. Речь идет о микросхеме или готовом модуле, которые называют драйвером двигателя. На нашем сайте есть статьи, посвященные драйверам, построенным на схеме H-моста. Если вы покупаете готовые шасси, то обязательно предусмотрите возможность размещения на них подходящего драйвера.

Красивый корпус

Как правило, вся конструкция автомобиля строится вокруг его шасси. Если посмотреть примеры готовых проектов, то они часто выглядят как “провода на колесиках” – внешний вид их изобилует пучками соединительных проводов, ведущих от восседающего на троне контроллера Ардуино к драйверам, моторам и датчикам. Между тем, красивый и функциональный корпус не только вызывает правильные эстетические чувства и помогает выделить вашу модель от остальных. Хороший корпус может превратить игрушку в реальное устройство, помогает привить навыки конструирования и промышленного дизайна, что важно для инженеров любого возраста.

Питание робота

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

Питание робота на Ардуино

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

  • Обычные батарейки AA. Тут нужно понимать, что платы Arduino Uno, Nano и большинство двигателей, используемых в Ардуино-робототехнике, требуют напряжения в диапазоне 6-9 вольт. Поэтому придется собрать вместе последовательно не менее 4 батареек на 1,5 В, причем сами батарейки должны быть хорошего качества и обеспечивать работу с достаточно большим током. Например, большинство солевых батареек этим критериям не удовлетворяют. Батарейки AAA при создании ардуино-машинок практически не используются из-за своей пониженной емкости (хотя могут использоваться в миниатюрных моделях, где размер имеет первостепенное значение).
  • Аккумулятор AA. Здесь возникает еще большее ограничение по напряжению и току. Большинство аккумуляторов выдают напряжение 1,2 вольт, поэтому их требуется больше для “собирания” нужных нам 6-9 вольт. Несомненным плюсом является возможность перезарядки.
  • Литиевые аккумуляторы 18650. Это уже “серьезная артиллерия”, позволяющая получить большое время автономной работы, возможность подзарядки и приемлемые характеристики по току и напряжению. Рабочее напряжение для таких элементов питания – 3,7 В, что позволяет собирать готовую схему питания всего из двух элементов.
  • Другие источники питания. Сюда можно включить как более мощные и габаритные никель-металлгидридные, кадмиевые аккумуляторы, так и многочисленные литий-ионные “плоские” варианты, используемые в дронах, смартфонах или другой портативной цифровой технике.

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

Где купить платформу и запчасти

Все, о чем говорится в этой статье, можно без проблем купить на всем известном сайте. К сожалению, подавляющее большинство предложений основываются на стандартной платформе 4WD автомобиля с двумя несущими планками, не очень надежными двигателями и колесами, любящими ездить в “развалочку”. Но эти варианты относительно не дороги и вполне подойдут для начала работы.

Контролируем руку робота с помощью Ардуино через интернет

В этом уроке мы покажем как управлять рукой робота 6DOF через сеть интернет с помощью микроконтроллера Ардуино.

Шаг 1. Комплектующие

Для нашего урока нам понадобится не так много деталей. Основа урока рука робота, которой мы будем управлять с помощью микроконтроллера Ардуино Уно.

  • Arduino Uno
  • Шилд PHPoC WiFi Shield для Arduino
  • Рука робота 6DOF

Шаг 2. Интерфейс

Рука робота имеет 6 двигателей.

  • Зона A: Управляющий двигатель 2, 3, 4 (управляйте тремя соединениями)
  • Зона B: Управляющий двигатель 1 (управление базой)
  • Зона C: Управляющий двигатель 5 (управление вращением захвата)
  • Зона D: Управляющий двигатель 6 (управление захватом)

Шаг 3. Архитектура и схема

В целом, архитектура системы по управлению рукой робота достаточно простая. Конечно, это очень громко называть схему “архитектурой”, но мы с вами профессионалы.

Схема соединения выглядит таким образом:

Шаг 4. Рабочий поток

Сторона клиента (вебстраница, написана на JavaScript)

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

В случае зоны А, чтобы рассчитать углы двигателя 2, 3, 4, нам нужно выполнить геометрический расчет, который мы разберем ниже.

Сторона сервера (код Arduino)

Получив набор углов от клиентской стороны, шесть двигателей постепенно перемещаются от текущих углов к новым углам. Шесть двигателей должны двигаться и достигать новых углов одновременно. Прежде чем подробно рассказывать о том, как управлять всеми двигателями, давайте посмотрим, как управлять одним двигателем. Предположим, что мы хотим переместить двигатель с текущего угла (angle) на новый угол (new_angle). Поскольку скорость двигателя высока, мы должны замедлить ее. Чтобы сделать это, следующие шаги повторяются до тех пор, пока двигатель не достигнет нового угла:

  • Переместить мотор на небольшой шаг.
  • Приостановить на небольшое время, затем переместить еще на один шаг.

Следующая диаграмма иллюстрирует приведенную выше схему, если новый угол больше, чем текущий:

Wherestep_numis – количество шагов, которые должен пройти двигатель. Step и Time заданные значения. Два последних определяют скорость и плавность.

Всё сказанное выше только для одного робота. Чтобы роботы начали перемещаться и добираться до “пункта назначения” одновременно, мы можем сделать следующее: шесть двигателей выполняют один и тот же step_num, но шаг каждого двигателя отличается друг от друга. Поэтому мы должны выбрать step_num в этом проекте максимальным.

Как правило, рабочий поток Arduino выглядит следующим образом:

Шаг 5. Расчет геометрии

Давайте рассмотрим вычисления для нашей задачи относительно геометрии:

Известно:

  • C – фиксирована
  • D входная для пользователя
  • CB, BA, AD (обозначается соответственно b, a, d)
  • Длина каждого сегмента руки.
  • Находятся углы C, B, A. Решение:
    – Сделайте предположение, что углы B и A одинаковы
    – Добавьте дополнительные точки и сегмент

Вычисление

  • Мы знаем точки C и D => мы можем рассчитать длину DC (обозначенную c).
  • Мы также можем вычислить δ.
  • Посмотрим на треугольник ABE, мы можем заключить, что AE = BE и ∠E = π – 2α.

Закон косинусов в треугольнике CDE:

Изменим (1) и (2) на (3), имеем:

Поскольку мы знаем a, b, c и d, решая указанное выше квадратичное уравнение, мы можем вычислить значение α и β = π – α. Далее найдем γ – закон косинусов в треугольниках BDC и BDA:

Решив эту систему уравнений, мы можем вычислить γ.

Таким образом, требуемые углы: (δ + γ), β и β. Это углы двигателей 2, 3 и 4 соответственно.

Шаг 6. Исходный код

Исходный код включает два файла:

  • RobotArmWeb.ino (код Arduino).
  • Remote_arm.php (код веб-приложения, который загружается в PHPoC WiFi Shield или PHPoC Shield).

Вам также необходимо скачать и загрузить файл изображения flywheel.png (ниже) в PHPoC Shield.

Код Ардуино:

Код клиентской части:

Шаг 6. Итоговый результат

На этом пока всё. Желаем вам отличных проектов и новых изобретений.

Самодельный робот на Arduino, следующий за рукой

Многие начинающие самоделкины начинают изучение ардуино с создания простеньких роботов. Сегодня я расскажу о простейшем роботе на ардуино уно, который как собачка будет следовать за вашей рукой или за любым другим объектом, отражающим инфракрасный свет. Также этот робот позабавит детишек. Мой 3-х летний племянник охотно игрался с роботом:)

Начну с перечисления деталей, которые будут необходимы при построении – Arduino UNO;

-инфракрасные дальномеры;
-двигатели 3-х вольтовые с редукторами и колесами;
-коннекторы для батареек 3А;
-аккумулятор (если не хватит батареек);
-Реле, чтобы управлять двигателями;

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

Потом планочкой из дерева я зажимаю моторы, прикручивая эту планку

Далее на корпусе я разместил ардуино, реле, бредбоард, дальномеры, а под основание шасси поворачивающееся

Теперь все соединяем по схеме

В конце загружаем следующий скетч в ардуино:

Принцип действия очень прост. Левый дальномер отвечает за правое колесо, а правый за левое

Чтобы было понятнее, можете посмотреть видео в котором показан процесс создания и действие робота

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

Надеюсь, что вам понравилась такая самоделка, помните, что самоделки – это круто!

Управление роботом через беспроводной UART

Описание:

В данном примере мы сделаем радио-управляемого робота при помощи радио модулей HC-12, которые будет передавать и принимать состояния кнопок на пульте управления. Робот будет управляться в режиме трактора: каждая гусеница управляется отдельно. Сделаем мы это при помощи Trema-модулей Сенсорных кнопок и радио-модуля HC-12. Так же мы применим Trema Motor Shield и два мотора 1:200, 50rpm. Корпус робота мы распечатаем на 3D принтере на основе популярной модели робота SMARS (Screwless/Screwed Modular Assemblable Robotic System), файлы стерео-литографии Вы можете найти в разделе Ссылки.

Видео:

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

  • 2x Trema-модуль HC-12
  • 2x Piranha ULTRA R3
  • 2x Battery Shield
  • 1x Trema-модуль светодиод красный
  • 1x Trema Set Shield
  • 1x Motor Shield
  • 5xTrema-модуль сенсорная кнопка
  • 2xМотор-редуктор 1:298, 50rpm

Подключение:

Пульт:

Для удобства подключения мы воспользуемся Trema Set Shield. Так же нам понадобятся Battery Shield, Piranha Ultra, пять Trema-модулей Сенсорных кнопок и радио модуль HC-12.

Для начала установим Battery Shield на Piranha Ultra:

Затем установим Trema Set Shield:

Теперь можно установить пять сенсорных кнопок:

И финальной нотой будет радио-модуль HC-12:

Робот:

Для робота мы будем использовать Trema Motor Shield, Battery Shield, Piranha Ultra, Trema-модуль Светодиод и радио модуль HC-12.

Как и при сборке пульта первым делом мы установим Battery Shield:

Затем установим Trema Motor Shild:

Подключим радио модуль HC-12 и модуль светодиода к Trema Motor Shield по следующей таблице:

Trema Shield HC-12 Светодиод
9 RX
8 TX
3 S
2 S

И последним шагом подключим моторы:

Сборка робота:

Для сборки робота нам понадобятся заранее напечатанные детали на 3D принтере. Файлы для печати можно скачать по этой ссылке. Помимо распечатанных файлов, ещё нам понадобятся несколько винтов М3х6 для крепления Trema-модулей к держателю и сборки конструкции держателя. На рисунке ниже показаны все детали, которые необходимо распечатать для сборки робота.

Все детали распечатаны, приступим к сборке. Для начала закрепим ведомые колёса и моторы на корпусе:

Затем устанавливаем ведущие колёса на валы моторов и сборку держателя Trema-модулей в корпус.

И нам остаётся только установить платы управления, собрать и одеть гусеницы. Робот готов!

Источники:

http://arduinoplus.ru/kontroliruem-ruku-robota-arduino/

http://usamodelkina.ru/8436-samodelnyy-robot-na-arduino-sleduyuschiy-za-rukoy.html

http://lesson.iarduino.ru/page/caterpillar-remote-control/

http://arduinoplus.ru/upravlenie-arduino-pultom-upravlenia/

Ссылка на основную публикацию