Собираем роботов-самоходов на Arduino. Как сделать робота на Ардуино своими руками: самодельный robot Arduino в домашних условиях Этап программирования Arduino

  • Дата: 06.04.2020

В итоге получился довольно забавный робот , который может видеть перед собой препятствия, анализировать ситуацию и затем, только выбрав лучший маршрут, едет дальше. Робот получился очень маневренным. Он способен разворачиваться на 180 градусов, а угол поворота составляет 45 и 90 градусов. В качестве основного контроллера автор использовал Iteaduino, который является аналогом Arduino.

Материалы и инструменты для изготовления робота:
- микроконтроллер (Arduino или ему подобный Iteaduino);
- ультразвуковой датчик;
- держатель для батареек;
- китайские игрушки для создания колесной базы (можно купить готовую);
- кусачки;
- клей;
- провода;
- моторчики;
- ДВП;
- лобзик;
- транзисторы (D882 P).

Процесс изготовления робота:

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

Выбирая машинки, лучше всего брать игрушки с обычными колесами, так как, по словам автора, с такими шипами как у него, робот сильно скачет.

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


Шаг второй. Изготовление верхней крышки
Верхняя крышка робота изготавливается из ДВП, также для этих целей можно использовать толстый картон. В крышке можно увидеть прямоугольно отверстие, оно должно быть расположено так, чтобы ось сервопривода, которая будет в него вставлена, располагалась симметрично. Что касается отверстия посередине, то через него будут выводиться провода.


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








К контроллеру моторчики подключаются при помощи транзисторов типа D882 P. Они были вытащены из старого пульта управления машинкой. Лучше всего конечно использовать силовые транзисторы типа TIP120Б, но автор выбирал просто по подходящим характеристикам. Вся электронная часть подключается по указанной схеме.

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

Что касается датчиков, то ультразвуковой нужно подключить к 7-му цифровому выходу микроконтроллера. Серводвигатель подключается к 3-му цифровому входу, база транзистора левого мотора подключается к 11 контакту, а база правого к 10-му.

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

Заключительная часть статьи о маленьком роботе, которого мы собираем на шасси - крышке от пластикового контейнера для еды. Мозгом нашего робота является плата Arduino UNO, двигателями и сервоприводом управляет плата Driver Motor Shield, датчик препятствий - Ультразвуковой сонар - глазки как у Валли (из мультика) - «HC-SR04 Ultrasonic Sensor». , . Как создать робота на Arduino?

9. Подключение батареи и моторов

При подключении батареи нужно быть абсолютно уверенным в правильности соблюдения полярности, как говорится 7 раз отмерь, один раз подключи. Старайтесь соблюдать такое правило - красны провод всегда к + питания, черный провод - земля, он же минус, он же GND. Производители стараются соблюдать такие же правила. Поэтому провода идущие от аккумуляторного отсека подсоединяем к колодке +M и GND, на плате управления двигателями. Провода от ходовых двигателей подключаем к колодкам M1, M2 платы управления двигателями. Левая сторона, по ходу движения подсоединяется к колодке M1, правая сторона к колодке M2. По поводу полярности двигателей пока волноваться не стоит, её можно будет поменять, если во время теста пойдёт что то не так.

10. Проверяем полярность и правильность соединения модулей

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

11. Этап программирования Arduino

Программа в микроконтроллер Arduino заливается из компьютера, посредством USB кабеля и специальной программы - среды программирования и редактирования скетчей (программ) - Arduino IDE. Взять программу можно с сайта arduino.cc, раздел Download, там всегда можно скачать последнюю, самую свежую версию программы. После того как среда программирования установлена остаётся только выбрать из меню программы драйвера для какой платы вы хотите использовать, - в нашем случае Arduino UNO, и COM порт через который посредством эмуляции USB подключена Arduino. На этот счёт очень много всяческих мануалов, поэтому этот этап мы пропускаем (на всякий случай - меню Tools > Serial Port) .

Программу для микро робота можно с нашего сайта, правда только после регистрации, шутка Мини робот на Arduino. Для того чтобы программа заработала необходимы дополнительные библиотеки - AFMotor.h, Sevo.h, NewPing.h, все они есть в архиве, вам необходимо распаковать архив в папку установленной программы Arduino IDE. У меня -это директория c:Program Files (x86)Arduino, библиотеки нужно положить в папку c:Program Files (x86)Arduinolibraries. Затем войти в директорию c:Program Files (x86)ArduinolibrariesAPC_4_ROBOT и два раза щёлкнуть мышкой по APC_4_ROBOT.ino это и есть сам скетч, затем запустится среда программирования. Подсоединяем голую плату Arduino Uno (это значит без подключенных модулей) через шнур USB к компьютеру, жмём кнопку со стрелочкой в право, программа начнёт заливаться в контроллер. Весь процесс занимает несколько секунд, и если всё правильно подсоединено, то не должно загораться никаких красных надписей, а индикатор в нижнем правом углу закончит свое движение на 100%. Программа для Arduino установлена в контроллер Atmega328.

12. Запуск робота

Мини робот на Arduino — готов к движению. Robot Wally

Можно осуществить первый, пока ещё пробный запуск нашего робота. У нас робот поехал не правильно, одно колесо крутилось правильно, а другое в противоположную сторону. Пришлось менять полярность проводов двигателя на колодке M2. Зато потом наш маленький робот с честью справлялся со всеми углами и препятствиями комнаты.

Эту статью я посвящаю всем новичкам, которые решили изучать Arduino. Дальнейшее изучение можно продолжать начиная с первого урока, - мигание светодиодом. Материал с роботом, это очень интересно, и чтобы заинтересовать вас, я решил начать именно с того как построить робота объезжающего препятствия. Дальнейшее будет намного проще, и пойдет как по маслу. Этот робот действительно работает. Всем удачи!

P.S. Это был достаточно вольный перевод статьи найденной, когда-то давно, на бескрайних просторах интернет, больше конечно отсебятины, т.к всё делалось по новой, рисунки доработаны, ссылок на источник нет, потому как документ был вордовский.

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

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

Мы предлагаем небольшой обзор готовых роботов на плате Arduino.

Машинка на Arduino, управляемая через Bluetooth

Машинка, управляемая через Bluetooth , стоимостью чуть менее $100. Поставляется в разобранном виде. Помимо корпуса, мотора, колес, литиевой батарейки и зарядного устройства, получаем плату Arduino UNO328, контроллер мотора, Bluetooth адаптер, пульт дистанционного управления и прочее.

Видео с участием этого и еще одного робота:

Более подробное описание игрушки и возможность купить на сайте интернет-магазина DealExtreme .

Робот-черепаха Arduino

Комплект для сборки робота-черепахи стоимостью около $90. Не хватает только панциря, все остальное, необходимое для жизни этого героя, в комплекте: плата Arduino Uno, сервоприводы, датчики, модули слежения, ИК-приемник и пульт, батарея.

Черепаху можно купить на сайте DealExtreme , аналогичный более дешевый робот на Aliexpress .

Гусеничная машина на Arduino, управляемая с сотового телефона

Гусеничная машина, управляемая по Bluetooth с сотового телефона , стоимостью $94. Помимо гусеничной базы получаем плату Arduino Uno и плату расширения, Bluetooth плату, аккумулятор и зарядное устройство.

Гусеничную машину также можно купить на сайте DealExtreme , там же подробное описание. Может быть, более интересный железный Arduino-танк на Aliexpress .

Arduino-автомобиль, проезжающий лабиринты

Автомобиль, проезжающий лабиринты , стоимостью $83. Помимо моторов, платы Arduino Uno и прочего необходимого cодержит модули слежения и модули обхода препятствий.

Готовый робот или каркас для робота

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

Где еще купить готовых роботов

В обзоре мы выбрали наиболее дешевых и интересных на наш взгляд готовых Arduino-роботов из китайских интернет-магазинов. Если нет времени ждать посылку из Китая — большой выбор готовых роботов в интернет-магазинах Амперка и DESSY . Низкие цены и быструю доставку предлагает интернет-магазин ROBstore . Список рекомендованных магазинов .

Возможно вас также заинтересуют наши обзоры проектов на Arduino:


Обучение Arduino

Не знаете, с чего начать изучение Arduino? Подумайте, что вам ближе — сборка собственных простых моделей и постепенное их усложнение или знакомство с более сложными, но готовыми решениями?

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

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

Инфракрасные дальномеры;

-двигатели 3-х вольтовые с редукторами и колесами;

-коннекторы для батареек 3А;

-аккумулятор (если не хватит батареек);

-Реле, чтобы управлять двигателями;

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


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

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

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

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

Const int R = 13; //пины к которым подключены ИК-дальномеры const int L = 12; int motorL = 9; //пины к которым подключено реле int motorR = 11; int buttonState = 0; void setup() { pinMode(R,INPUT); pinMode(L,INPUT); pinMode(motorR,OUTPUT); pinMode(motorL,OUTPUT); } void loop() { { buttonState = digitalRead(L); if (buttonState == HIGH){ digitalWrite(motorR,HIGH); } else { digitalWrite(motorR,LOW); } } {{ buttonState = digitalRead(R); if (buttonState == HIGH){ digitalWrite(motorL,HIGH); } else { digitalWrite(motorL,LOW); } } } }

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

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

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

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

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

Список деталей:
1. Набор деталей корпуса и лап из оргстекла 1.5 мм.
2. Arduino Mega или Uno (используется Mega) - 1 шт.
3. Микро сервопривод (используются TowerPro SG90) - 8 шт.
4. Ультразвуковой дальномер HC-SR04 - 1 шт.
5. Аккумулятор размером 18560, 3.7V (используются TrustFire 2400 mAh) - 2 шт.
6. Держатель батарей размера 18560 (используется переделанный контейнер - упаковка) - 1 шт.
7. Стойка для печатной платы 25 мм. (используется вот такие стойки) - 4 шт.
8. Часть макетной платы.
9. Провода-перемычки.
10. Винт DIN 7985 M2, 8 мм. - 18 шт.
11. Гайка DIN 934 M2 - 18 шт

Сборка робота Z-RoboDog:

1. Корпус робота изготовлен из прозрачного оргстекла толщиной 1.5 мм. Все детали вырезаны лазером по чертежу сделанном в программе CorelDraw:

2. Склейте корпус секундным клеем. Прочности склеенного корпуса будет вполне достаточно. При сборке учитывайте положение отверстий на нижней крышке (смотрите на фото), а лучше приложите плату и убедитесь что всё совпадает. Боковые стенки крепите так, чтобы отверстия для проводов находились ближе к задней стенке. Более широкое отверстие на задней стенке предназначено для USB провода, учтите это при сборке.


3. Отметьте и просверлите отверстия (сверло 2 мм.). Закрепите сервоприводы в корпусе используя болты и гайки (пункты 10, 11 из списка). Валы передних сервоприводов должны быть ближе к передней стенке. Валы задних сервоприводов ближе к задней стенке.




4.1. Соберите лапы. Возьмите верхние части лап (с двумя отверстиями). Разметьте середину детали. Подставив качалку сервоприводов отметьте места крепления шурупами и просверлите отверстия (сверло 1.5 мм). Закрепите качалки так, чтобы шляпки шурупов были со стороны посадочных мест. Качалки закрепите с разных сторон и посадочные места для валов до были в противоположном направлении.


4.2. Отметьте и просверлите отверстия для крепления сервоприводов (сверло 2 мм). Валы закрепленных сервоприводов должны находиться ближе к узкому краю лапы.


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

5. Отметьте и просверлите отверстия для крепления ультразвукового дальномера (сверло 2 мм). Установите дальномер, ножки контактов должны быть направлены вверх.

6. Установите держатель батарей так, чтобы в корпусе он располагался по середине. Закрепите плату Arduino и подключите все компоненты. Для разветвления питания использовалась часть макетной платы.

Настройка и запуск робота Z-RoboDog:

На этом этапе вам придется самостоятельно установить лапы, чтобы можно было откалибровать шаги. Основная проблема в качалках, которые крепятся на валы только в определенных положениях. А также сами сервоприводы могут отличаться рабочими градусами.

Вот как у моей собачки выглядят лапы в крайних точках углов сервопривода (переменные zs1, zs2, zs3 и т.д). Постарайтесь лапы выставить как на фото. Визуально лапы должны быть в одинаковых положениях.

В основной стойке вы так же сможете выставить лапы. После чего не забудьте прикрутить качалки к валам сервоприводов.


Программная часть Z-RoboDog:

Код очень простой, везде добавлены комментарии. Все движения находятся в массиве, чтобы не запутаться в цифрах я использовал переменные для каждого сервопривода. Например, s1 - сервопривод 1, s2 - сервопривод 2 и так далее. Для упрощения понимания предлагая вам вот такую схему.

На схеме пронумерованы лапы, каждая часть лапы ассоциируется с сервоприводом который её двигает. Также для каждой лапы указаны направления движения, знаки плюс и минус указывают куда будет двигаться лапа при увеличении или уменьшении угла. Исходными углами выбраны углы основной стойки (s1, s2, s3 и т.д.). Например если вам нужно вытянуть 2-ю лапу вы должны увеличить угол s3 и s4, в массиве это будет выглядеть так {s1,s2, s3+100,s4+50, s5,s6, s7,s8}. Вот полный скетч. Код писался в силу моих познаний, сообщите если я выбрал не правильный путь реализации.

Видео:


Скетч в архиве : У вас нет доступа к скачиванию файлов с нашего сервера