Как создать 4WD Arduino Robot для начинающих

Конечно, машины с дистанционным управлением — это весело, но машины с автоматическим управлением еще более увлекательны. В этом уроке мы создадим четырехколесного робота, который сможет передвигаться и избегать препятствий. Я купил этот полный комплект 4WD у AliExpress, но вы легко могли купить большинство этих компонентов в магазине электроники и собрать их самостоятельно.

Я рекомендую прочитать все инструкции перед началом работы, так как это прояснит некоторые вещи, которые могут сбить с толку в первый раз. Кроме того, это может выглядеть как очень длинный, продвинутый проект из-за длины инструкций, но на самом деле это довольно просто. Не нужно пугаться — это проект начального уровня, с которым вы можете получить некоторые удовлетворительные результаты, а затем опираться на них, когда узнаете больше. Не нравится этот стиль робота? Вот еще несколько роботов Arduino

Вы могли бы легко построить вместо этого.

Вот что мы имеем после того, как вынули все из упаковки:

Arduino-бот-частей

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

Arduino-бот-кронштейн

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

Arduino-бот-моторы

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

Мотор-винты-снизу вид

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

Н-мост болты

Теперь, когда H-мост подключен, вы можете начать подключение источника питания. Поскольку держатель батареи на шесть АА поставляется с адаптером постоянного тока, вам необходимо либо отрезать конец (что я и сделал), либо проложить перемычки к самим батареям.

Аккумуляторная батарея держатель-DC-удалено

Независимо от того, как вы решите это сделать, вы проведете положительный провод к порту с меткой «VMS», а отрицательный провод к порту с меткой «GND» на мосту. Закрутите крепежи и убедитесь, что они надежно закреплены. Затем вы подключите провода двигателя. С обеих сторон есть набор из двух портов; один помечен «MOTORA», а другой «MOTORB». Оба красных провода с каждой стороны войдут в самый центральный зеленый порт, а оба черных провода — во внешний. Эта картина должна сделать это более ясным:

Н-мост-моторы-проводные вверх

Я обнаружил, что мне пришлось снять часть корпуса с проводов двигателя, чтобы заставить это работать. Теперь, когда двигатели и источник питания подключены, наденьте колеса на валы привода двигателя и прикрепите четыре медных вала в местах, показанных на рисунке ниже (для каждого медного вала требуется один небольшой болт). Этот робот начинает обретать форму!

колеса-на-приводные валы

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

Arduino-шасси

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

черно-ригель-микро-серво

Затем переверните сервопривод вверх дном в черное пластиковое кольцо держателя. Убедитесь, что провода, выходящие из сервопривода, направлены в том же направлении, что и более длинная часть держателя (опять же, см. Изображение ниже), и используйте четыре крошечных винта, чтобы закрепить поперечину (в держателе есть четыре отверстия, которые выровняйте с отверстиями на перекладине).

серво-черно-кольцо

Вот как это выглядит после прикрепления:

кольцо платы снизу

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

завершено следящая держатель

Теперь, когда сервопривод завершен, его можно установить на шасси.

серво-держатель монтажа

Вот где идут болты:

серво-держатель-шасси болты

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

Ультразвуковой датчик-связи почтового индекса

Если вы работаете из того же набора, что и я, вы получите сенсорный экран Arduino. Мы не будем использовать его в этой сборке, но вы можете поместить его поверх UNO, если хотите (как показано на рисунке ниже). Просто совместите контакты в нижней части экрана с портами ввода / вывода на Arduino и нажмите вниз, чтобы соединить их. Вам это не нужно в данный момент, но щиты могут пригодиться

,

Arduino датчик щит

Независимо от того, подключаете ли вы сенсорный экран или нет, вам понадобится четыре провода для подключения ультразвукового датчика к Arduino. Датчик имеет четыре контакта: VCC, GND, TRIG и ECHO. Подключите VCC к выводу 5 В на Arduino, GND к GND, а TRIG и ECHO к контактам 12 и 13 ввода / вывода.

Теперь возьмите нижнюю часть корпуса и подключите шесть перемычек к контактам ввода-вывода моста H (они обозначены как ENA, IN1, IN2, IN3, IN4 и ENB). Обратите внимание на то, какие цветные провода подключены к каким портам, как вам нужно знать позже.

Н-мост-провод

Теперь пришло время начать собирать все вместе. Возьмитесь за верхнюю часть корпуса и установите его на верхнюю часть медных валов, соединенных с нижней частью, и протяните провода, прикрепленные к мосту H, через отверстие в центре корпуса. Подключите шесть проводов к портам ввода-вывода следующим образом:

  • ENA к порту ввода / вывода 11
  • ENB к порту ввода / вывода 10
  • А1 к порту ввода / вывода 5
  • А2 к порту ввода / вывода 6
  • От B1 до порта ввода / вывода 4
  • B2 к порту ввода / вывода 3

Arduino-бот-проводки

Теперь используйте четыре коротких винта, чтобы прикрепить верхнюю часть корпуса к медным валам. Установите держатель батареи с шестью AA в верхней части корпуса (закрутите его, если можете), прикрепите держатель ячейки на 9 В к Arduino, и этот бот готов к работе!

Arduino-личинка-конечная

Ну, почти готов к рок. У него еще недостаточно личности.

Arduino-плохо-бот

Там мы идем. Теперь, чтобы дать ему мозги. Давайте сделаем немного программирования.

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

Это большой код для простого теста, но определение всех этих функций облегчает настройку позже. (Большое спасибо Billwaa за его сообщение в блоге об использовании H-моста для определения этих функций.) Если что-то пошло не так, проверьте все ваши соединения и убедитесь, что провода подключены к правильным контактам. Если все заработало, пришло время перейти к тестированию датчика. Чтобы использовать ультразвуковой датчик, вам нужно скачать библиотеку NewPing, а затем использовать Эскиз> Включить библиотеку> Добавить библиотеку .ZIP… загрузить библиотеку.

надстройка зип-библиотека

Убедитесь, что вы видите оператор включения в верхней части эскиза; если нет, нажмите Эскиз> Включить библиотеку> NewPing. Сделав это, загрузите следующий эскиз:

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

sensor_test

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

Подари роботу жизнь

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

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

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

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