Оглавление:

Робот с уклонением от ультразвука, использующий Arduino: 7 шагов
Робот с уклонением от ультразвука, использующий Arduino: 7 шагов

Видео: Робот с уклонением от ультразвука, использующий Arduino: 7 шагов

Видео: Робот с уклонением от ультразвука, использующий Arduino: 7 шагов
Видео: Hobot 2S Ultrasonic: робот-мойщик окон с двойной системой подачи моющей жидкости💦 ОБЗОР и ТЕСТ✅ 2024, Ноябрь
Anonim
Image
Image
Робот с уклонением от ультразвука, использующий Arduino
Робот с уклонением от ультразвука, использующий Arduino

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

Сделать это очень просто!

Шаг 1. Вещи, которые нужно делать

Вещи, необходимые для создания!
Вещи, необходимые для создания!
Вещи, необходимые для создания!
Вещи, необходимые для создания!
Вещи, необходимые для создания!
Вещи, необходимые для создания!
Вещи, которые нужно делать!
Вещи, которые нужно делать!

Для этого проекта вам понадобятся:

  1. Arduino UNO (купить на gearbest.com)
  2. Мини-макет (купить на gearbest.com)
  3. Модуль драйвера двигателя L298 (купить на gearbest.com)
  4. 2x двигателя постоянного тока с колесами ультразвуковой датчик HC-SR04 (купить на gearbest.com)
  5. Микро-серводвигатель (купить на gearbest.com)
  6. Кнопка Красный светодиод Резистор 220 Ом Держатель батареи 9 В (с разъемом питания или без него)
  7. 8 проставок (папа-мама),
  8. 8 гаек и 8 саморезов понадобится еще одна большая (металлическая)

скрепка и бусинка для заднего опорного колеса.

В качестве базы для роботов я использовал Acryllic Chasis от Aliexpress. Также можно использовать кусок дерева или металла (или две электрические пластины).

Стоимость всего проекта около 20 $

Инструменты: сверлильный станок супер клей бригада водитель горячий пистолет клей (опционально) мощность:

Мы будем использовать батарею 9 В для питания нашего робота, потому что он маленький и дешевый, но он не очень мощный и разрядится примерно через час. Подумайте, хотите ли вы использовать аккумуляторную батарею (мин. 6 В, макс. 7 В), которая будет более мощной, но при этом будет дороже и больше, чем батарея на 9 В. Подпишитесь на наш канал на YouTube Нажмите здесь

Шаг 2: понимание концепций

Понимание концепций
Понимание концепций
Понимание концепций
Понимание концепций
Понимание концепций
Понимание концепций

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

Ультразвуковой датчик

HC-SR04 - это схема, способная измерять расстояние до объектов до 4 метров с помощью ультразвуковых волн. Он отправляет пинг (как подводная лодка) и измеряет время (в микросекундах) между отправкой и получением чего-либо в ответ. Затем это время делится на 2, когда волна движется вперед и назад. А затем разделите на 29, чтобы получить расстояние в сантиметрах (или 74 для дюймов), потому что звук проходит 29,4 мкс на сантиметр (340 м / с). Датчик очень точный с допуском ~ 3 мм и легко интегрируется с Arduino.

Подключение ультразвукового датчика к микроконтроллеру AVR

Любой автономный робот должен иметь устройство для объезда препятствий и датчик измерения расстояния. Пара ИК-приемопередатчиков или датчик оттенков серого могут легко работать для обнаружения препятствий в диапазоне от 1 до 10 см. ИК-дальномеры (например, от Sharp) могут измерять расстояние до ближайшего препятствия с дальностью до 100 см. Однако на ИК-датчики влияет солнечный свет и другие источники света. У ИК-дальномеров меньший радиус действия, а также они дороги. Ультразвуковые датчики (также известные как ультразвуковые датчики приближения или сонар для компьютерных фанатов) выполняют обе эти задачи по разумной цене и с исключительной точностью. Диапазон составляет от 3 см до 350 см с точностью ~ 3 мм. Подключив один из этих ультразвуковых датчиков к нашему роботу, он может действовать как устройство для предотвращения препятствий и датчик измерения расстояния.

«Ультразвуковой» звук относится ко всему, что превышает частоты слышимого звука, и номинально включает все, что превышает 20 000 Гц или 20 кГц! Недорогие ультразвуковые датчики, используемые для робототехники, обычно работают в диапазоне от 40 кГц до 250 кГц, а датчики, используемые в медицинском оборудовании, работают в диапазоне до 10 МГц.

Шаг 3. Необходимые инструменты

Необходимые инструменты
Необходимые инструменты
Необходимые инструменты
Необходимые инструменты
Необходимые инструменты
Необходимые инструменты
Необходимые инструменты
Необходимые инструменты
  1. Мультиметр
  2. Макетная плата
  3. Плоскогубцы
  4. Инструмент для зачистки проводов
  5. Кусачки
  6. Клей-пистолет

Мультиметр Мультиметр на самом деле представляет собой простое устройство, используемое в основном для измерения напряжения и сопротивления, а также для определения того, замкнута ли цепь. Подобно отладке компьютерного кода, мультиметр помогает «отлаживать» электронные схемы.

Строительные материалы

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

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

Ручные инструменты

Необходимы отвертки и плоскогубцы различных типов и размеров (включая набор ювелирных инструментов: небольшие отвертки, обычно доступные в долларовых магазинах). Также важно сверло (желательно сверлильный станок для прямых отверстий). Ручная пила для резки стройматериалов (или фрезерный станок) также является важным активом. Если позволяет бюджет, определенно стоит рассмотреть небольшую настольную ленточную пилу (диапазон 200 долларов).

Макетная плата без пайки

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

Набор малых отверток

Эти маленькие отвертки необходимы при работе с электроникой. Но не заставляйте их слишком сильно - их размер делает их более хрупкими.

Набор обычных отверток

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

Плоскогубцы

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

Устройства для зачистки проводов / кусачки

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

Шаг 4: Cocepts для кодирования AVR

Cocepts для кодирования AVR
Cocepts для кодирования AVR

Расчет скорости звука относительно ультразвуковых датчиков

Немного по математике, но не бойтесь. Это проще, чем вы думаете.

Скорость звука в сухом воздухе при комнатной температуре (~ 20 ° C) = 343 метра в секунду.

Для того, чтобы звуковая волна попала и совершила круговой обход до ближайшего объекта, это = 343/2 = 171,5 м /, поскольку максимальная дальность действия дешевого ультразвукового датчика составляет не более 5 метров (туда и обратно), было бы разумнее измените единицы измерения на сантиметры и микросекунды.

1 метр = 100 сантиметров, 1 секунда = 10 ^ 6 микросекунд = (с / 171,5) x (м / 100 см) x ((1x10 ^ 6) / с) = (1 / 171,5) x (1/100) x (1000000 / 1) = 58,30903790087464 мкс / см = 58,31 мкс / см (округление до двух цифр для упрощения расчетов)Следовательно, время, необходимое для того, чтобы импульс прошел до объекта и отскочил на 1 сантиметр, составляет 58,31 микросекунды.

небольшой фон по тактовым циклам AVR

Чтобы понять тактовые циклы AVR, потребуется совсем другая глава, но мы вкратце разберемся, как это работает, чтобы упростить наши вычисления.

В нашем примере мы будем использовать плату AVR Draco с 8-битным микроконтроллером AVR - Atmega328P. Для простоты мы не будем изменять настройки микроконтроллера. Не тронули биты предохранителей; Внешний кристалл не прикреплен; Нет головной боли. При заводских настройках он работает на внутреннем генераторе 8 МГц с предварительным делителем / 8; Если вы не понимаете всего этого, это просто означает, что микроконтроллер работает на внутреннем RC-генераторе с частотой 1 МГц, и каждый тактовый цикл занимает 1 микросекунду.

1 2 1 МГц = 1000000 циклов в секунду Следовательно, 1 с / 1000000 = 1/1000000 = 1 мкс.

Часы AVR и преобразование расстояния

Мы почти на месте! Как только мы узнаем, как преобразовать тактовые циклы AVR в расстояние, пройденное звуковыми волнами, реализовать логику в программе будет легко.

Мы знаем, что скорость ультразвукового звука в идеальных условиях составляет: 58,31 мкс / см.

Мы знаем, что разрешение микроконтроллера AVR составляет 1 мкс / такт (CLK).

Следовательно, расстояние, проходимое звуком за такт (CLK), равно:

1 2 3 = (58,31 мкс / см) x (1 мкс / цикл) = 58,31 тактов / см или = 1 / 58,31 см / цикл

Если известно количество тактовых циклов, необходимое для распространения звука и его отражения, мы можем легко вычислить расстояние. Например, если датчику требуется 1000 тактов для перемещения и возврата, тогда расстояние от датчика до ближайшего объекта составляет = 1000 / 58,31 = 17,15 см (прибл.)

Теперь все имеет смысл? Нет? Прочтите это еще раз

Если вам понятна вся логика, упомянутая выше, мы реализуем ее в реальном сценарии, подключив недорогой ультразвуковой датчик HC-SR04 к нашей плате AVR Arduino.

Шаг 5: Подключение оборудования:

Аппаратные соединения
Аппаратные соединения
Аппаратные соединения
Аппаратные соединения
Аппаратные соединения
Аппаратные соединения
Аппаратные соединения
Аппаратные соединения

Плата Arduino позволяет легко подключать любые внешние датчики, а также просматривать результаты на ЖК-дисплее. Для ультразвукового определения дальности мы используем недорогой модуль HC-SR04. Модуль имеет 4 контакта, которые можно подключить к плате микроконтроллера: VCC, TRIG, ECHO и GND.

Подключите вывод VCC к 5 В, а вывод GND к земле на плате Arduino.

Выводы TRIG и ECHO могут быть подключены к любым доступным выводам на плате. Посылка как минимум 10-кратного «высокого» сигнала на триггерный вывод посылает восемь звуковых волн 40 кГц и поднимает эхо-вывод на высокий уровень. Если звук отражается от ближайшего объекта и возвращается, он улавливается принимающим преобразователем, а эхо-вывод опускается «низко».

Другие варианты модулей ультразвуковых датчиков также доступны с 3 контактами. Принцип работы остался прежним, но функциональные возможности триггерных и эхо-выводов объединены в один вывод.

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

Шаг 6: Код

Код Приведенный ниже код содержит только «ультразвуковое» расширение для управления двигателем постоянного тока с использованием H-моста из предыдущей статьи. Когда робот обнаруживает препятствие перед собой, он разворачивается (на произвольный угол) и продолжает движение вперед. Эту функциональность можно легко расширить, чтобы продолжать поворачиваться и одновременно обнаруживать препятствия - так, чтобы робот не поворачивался случайным образом, а начинал двигаться вперед только тогда, когда объект не обнаружен.

Для объяснения кода см. Видео Youtube, указанное на канале.

Шаг 7: видео

Посмотрите видео, чтобы увидеть весь процесс.

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