Оглавление:

Стационарный радар (LIDAR) с Arduino: 10 шагов (с изображениями)
Стационарный радар (LIDAR) с Arduino: 10 шагов (с изображениями)

Видео: Стационарный радар (LIDAR) с Arduino: 10 шагов (с изображениями)

Видео: Стационарный радар (LIDAR) с Arduino: 10 шагов (с изображениями)
Видео: Лекция 1. Вводная лекция. Сенсоры мобильных роботов 2024, Июль
Anonim
Стационарный радар (LIDAR) с Arduino
Стационарный радар (LIDAR) с Arduino
Стационарный радар (LIDAR) с Arduino
Стационарный радар (LIDAR) с Arduino
Стационарный радар (LIDAR) с Arduino
Стационарный радар (LIDAR) с Arduino

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

  • Модули ультразвуковых датчиков довольно большие. Каждый робот будет выглядеть как ВАЛЛ-И.
  • Все текущие проекты радаров включают в себя датчик (ультразвуковой, инфракрасный, лазерный и т. Д.) И серводвигатель посередине. Сканирование окружающей среды требует, чтобы сервопривод двигался из стороны в сторону. Перемещение чего-либо вперед и назад приводит к изменениям импульса, что плохо для балансировки на двух ногах и ходьбы.
  • Частота сканирования ограничена скоростью сервопривода. Может быть, всего несколько герц. Даже если частота сканирования может быть увеличена каким-либо суперсерво, это приведет к сильной вибрации.
  • Расположение [Центральный серводвигатель - датчик] также ограничивает положение для монтажа и конструкцию. Смонтировать такую штуку, кроме головы, сложно. Из-за чего мои двуногие каждый раз выглядят как трясущийся ВАЛЛ-И. Не круто!
  • Устройство [серво-датчик] также может быть выполнено в стиле [мотор-датчик]. Датчик (или датчики) непрерывно вращается вдоль оси двигателя. Это может устранить рывки импульса и проблемы с низкой частотой сканирования, но не ограничение конструкции туловища. Сложность электромонтажа также существенно возрастет.

После поисков мне в глаза попался этот крохотный сенсор VL53L0X от ST. Согласно заявлению «Самый маленький в мире» датчик дальности по времени полета, его размеры составляют всего 4,4 x 2,4 x 1,0 мм. С участием

  • Встроенный ИК-лазерный излучатель и детектор
  • Дальность действия до 2 м (1,2 м в быстром режиме)
  • Программируемый адрес I2C
  • Выходной контакт прерывания GPIO
  • Безопасно для глаз

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

Причина, по которой программируемый адрес I2C и выходной контакт GPIO важны для этого проекта, объясняется позже.

Шаг 1. Инструменты и детали

Инструменты и запчасти
Инструменты и запчасти
Инструменты и запчасти
Инструменты и запчасти

Инструменты

В этом проекте требуются следующие инструменты:

  • Паяльник
  • Пайка руками помощи
  • Инструмент для обжима Dupont
  • Шестигранная отвертка 1,5 мм
  • Инструмент для удаления покрытия проволоки
  • Кусачки
  • Пистолет для горячего клея
  • Пинцет
  • Лупа (физическая или приложения в телефоне)
  • Плоскогубцы

Запчасти

В этом проекте используются следующие части:

  • 10 коммутационных плат VL53L0X GY-530
  • Arduino (Uno, Nano, Mega, Zero, Mini и т. Д.)
  • Макетная плата и несколько макетных проводов
  • Провода AWG # 26 разных цветов
  • Одножильный провод AWG # 30
  • 5x штекерных разъемов Dupont
  • 5x одноштырьковых корпусов Dupont
  • 10x держателей для коммутационных плат, напечатанных на 3D-принтере
  • 1x 3D печатная круглая рамка
  • 10 винтов M2x10 с плоской головкой
  • 10x 0804 LED (рекомендуется синий)
  • 10x SOT-23 AO3400 N-канальный полевой МОП-транзистор
  • Небольшой конденсатор (10 ~ 100 мкФ)

Коммутационная плата

Я использовал коммутационную плату VL53L0X - GY-530. Также доступны версии Adafruit и Pololu. Если возможно, я рекомендую использовать продукты Adafruit или Pololu, потому что они создают отличные продукты, отличные учебные пособия и отличные библиотеки программного обеспечения. Я тестировал библиотеку Adafruit VL53L0X и использовал модифицированную версию библиотеки Pololu VL53L0X.

Разъемы Dupont

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

Винты и детали, напечатанные на 3D-принтере

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

Шаг 2: взлом макетной доски

Взломать доску для разметки
Взломать доску для разметки
Взломать доску для разметки
Взломать доску для разметки
Взломать доску для разметки
Взломать доску для разметки
Взломать доску для разметки
Взломать доску для разметки

Конус обнаружения

Я использовал один модуль, чтобы нарисовать конус обнаружения. Использование в качестве мишени в основном 3D-печатного робота. Расстояние отображается на светодиодном дисплее и измеряется приблизительно. Измеренные данные записываются в файл Microsoft Excel и используются функции аппроксимации кривой. Лучше всего подходит кривая натурального логарифма с эффективным расстоянием от 3 см до примерно 100 см.

При 60 см кривая обнаружения для одного датчика составляет около 22 см. При ширине цели 20 см круговое разделение радиолокационной решетки в 10 ~ 15 градусов должно обеспечить приемлемое разрешение сканирования.

I2C адрес

Хотя адрес устройства VL53L0X I2C является программируемым, микроконтроллер должен полностью контролировать вывод XSHUT. Последовательность действий такова:

  1. Питание подается на AVDD.
  2. Все микросхемы VL53L0X переводятся в состояние Hw Standby (сброс) путем перевода ВСЕХ выводов XSHUT в LOW.
  3. Каждый чип выводится из состояния сброса по одному. Адрес I2C по умолчанию после загрузки - 0x52.
  4. Адрес микросхемы изменяется на новый адрес с помощью команды I2C. Например, 0x52 изменилось на 0x53.
  5. Повторите шаги 3 и 4 для всех фишек.

Теоретически на одной шине можно подключить максимум 126 устройств для 7-битного диапазона адресов. Однако на практике ограничение емкости шины и тока утечки микроконтроллера может / должно ограничивать максимальное количество устройств.

Новый адрес I2C не сохраняется в микросхеме VL53L0X от отключения питания или сброса. Таким образом, этот процесс должен выполняться один раз при каждом включении питания. Это означает, что на каждую единицу радиолокационной решетки требуется один драгоценный штифт. Это слишком недружелюбно по отношению к проводке и потреблению выводов для радиолокационной ленты с 10+ или 20+ единицами.

Как упоминалось в STEP1, хорошо, что есть вывод GPIO1 на микросхеме VL53L0X, который изначально использовался для прерывания, может выполнять эту работу.

Гирляндная цепь GPIO-XSHUTN

Выход GPIO находится в состоянии высокого импеданса при загрузке, а при активном состоянии открытый сток на низкий. Контакты GPIO и XSHUT подтянуты к AVDD на коммутационной плате GY-530, как рекомендовано в таблице данных. Чтобы надежно перевести все микросхемы VL53L0X в состояние Hw Standby (переводить XSHUT в низкий уровень), нам нужен логический элемент НЕ (инвертор) для каждого вывода XSHUT. Затем мы подключаем выход GPIO одного чипа (N-й чип) к XSHUTN (XSHUT-NOT) нижестоящего чипа (N + 1 чип).

При включении питания все выводы GPIO (неактивные) подтягиваются, все последующие выводы XSHUT переводятся в низкий уровень логическим элементом NOT (за исключением самой первой микросхемы, где вывод XSHUTN подключен к микроконтроллеру). Изменение адреса I2C и выпуск XSHUT нижестоящего чипа выполняется программно, одно за другим.

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

Добавление светодиода

На следующем этапе к коммутационной плате будет добавлен небольшой светодиод SMD 0805, подключенный от контактной площадки XSHUT к клемме GND соседнего конденсатора. Хотя сам по себе светодиод не влияет на работу модуля, он дает нам хорошую визуальную индикацию на логическом уровне XSHUT.

Последовательное подключение светодиода к подтягивающему резистору (10 кОм в моем случае) на выводе XSHUT приведет к падению напряжения. Вместо высокого логического уровня 3,3 В прямое падение напряжения для красного светодиода 0805 измеряется 1,6 В. Хотя это напряжение выше, чем высокий логический уровень (1,12 В) в таблице данных, синий светодиод лучше для этого взлома. Прямое падение напряжения для синего светодиода составляет около 2,4 В, что безопасно выше логического уровня микросхемы.

Добавление инвертора N-MOS (логический НЕ вентиль)

Небольшой N-канальный полевой МОП-транзистор SOT-23 установлен на добавленном нами светодиоде. Две клеммы (D, S) должны быть припаяны к коммутационной плате, а оставшаяся клемма (G) подключена к выходному контакту GPIO платы с помощью провода №26.

Примечания по добавлению компонентов SMD

Пайка SMD-компонентов на не предназначенной для этого коммутационной плате - непростая задача. Если вы еще не слышали о 0805, SMD, SOT-23, скорее всего, вы раньше не паяли эти крошечные компоненты. При работе с этими крошечными компонентами вручную очень часто:

  • Маленькая вещь просто упала и исчезла навсегда,
  • Крошечные подушечки на маленьком предмете только что отклеились.
  • Крошечные ножки у маленького существа просто сломались.
  • Паяльная олово просто собралась в каплю и не могла быть отделена.
  • И более…

Если вы все еще хотите создать этот радар, вы можете:

  • Измените компоненты на более крупный пакет, например стиль DIP.
  • Получите больше компонентов, чем требуется, для практики и потребления.

Шаг 3: Пайка светодиода 0805

Пайка светодиода 0805
Пайка светодиода 0805
Пайка светодиода 0805
Пайка светодиода 0805
Пайка светодиода 0805
Пайка светодиода 0805
Пайка светодиода 0805
Пайка светодиода 0805

Пайка светодиода 0805 SMD

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

  1. Используйте вспомогательную руку, чтобы держать коммутационную доску.
  2. Нанесите паяльную пасту на край SMD конденсатора и контактную площадку «XSHUT».
  3. Используйте паяльник, чтобы нанести дополнительный припой на край конденсатора.
  4. Нанесите паяльную пасту на оба конца светодиода 0805.
  5. С помощью паяльника нанесите олово на оба конца светодиода 0805.
  6. С помощью пинцета поместите светодиод, как показано на фото. Обычно на катодном конце имеется отмеченная линия. В моем примере на катодном конце есть зеленая линия. Подсоедините катодный конец к концу конденсатора.
  7. Используйте пинцет, чтобы слегка надавить на светодиод по направлению к конденсатору, и припаяйте светодиод к концу конденсатора, одновременно добавляя тепло к концу конденсатора. Не нажимайте слишком сильно на светодиод. Его крышка может сломаться под воздействием тепла и чрезмерного давления. После пайки слегка надавите на светодиод сбоку, чтобы проверить, припаян ли светодиод на место.
  8. Теперь припаяйте светодиод к контактной площадке XSHUT. Этот шаг должен быть проще.

Примечание. Конец конденсатора, показанный на рисунке, является клеммой заземления на этой коммутационной плате. И контактная площадка XSHUT подтягивается резистором.

Тестирование светодиода

Светодиод должен загореться при подаче питания (например, 5 В) и заземления на коммутационную плату.

Шаг 4: Пайка N-канального МОП-транзистора

Пайка N-канального МОП-транзистора
Пайка N-канального МОП-транзистора
Пайка N-канального МОП-транзистора
Пайка N-канального МОП-транзистора
Пайка N-канального МОП-транзистора
Пайка N-канального МОП-транзистора
Пайка N-канального МОП-транзистора
Пайка N-канального МОП-транзистора

Пайка N-канального МОП-транзистора AO3400

Этот MOSFET находится в корпусе SOT-23. Нам нужно «сложить» его на светодиод, а также добавить провод:

  1. Нанесите паяльную пасту и залудите все три клеммы.
  2. С помощью пинцета поместите полевой МОП-транзистор поверх светодиода 0805. Клемма S должна касаться верхней части конденсатора.
  3. Припаяйте клемму S концом конденсатора, как показано на фото.
  4. Отрежьте небольшой одножильный провод AWG # 30 и удалите покрытие примерно на 1 см.
  5. Используйте паяльник, чтобы расплавить припой в отверстии XSHUT снизу, и вставьте провод №30 сверху, как показано на фото.
  6. Припаиваем верхний конец провода к клемме MOSFET D.
  7. Отрежьте лишнюю проволоку.

Примечание: клемма MOSFET S подключается к концу конденсатора, как показано на рисунке. Этот конец - клемма заземления. Клемма MOSFET D подключается к исходному выводу XSHUT.

Терминал G в данный момент не подключен. Его положение чуть выше некоторых подтягивающих резисторов. Убедитесь, что между ними (МОП-транзистор и резистор) есть зазор и они не соприкасаются друг с другом.

Шаг 5: Подключение массива датчиков

Подключение матрицы датчиков
Подключение матрицы датчиков
Подключение матрицы датчиков
Подключение матрицы датчиков
Подключение матрицы датчиков
Подключение матрицы датчиков

Электропроводка общей шины

В общий автобус входят:

  • Vcc мощность. Красный на фото. Я использую Arduino nano с логикой 5 В. На коммутационной плате есть LDO и переключатель уровня. Поэтому безопасно использовать 5В в качестве Vin.
  • Земля. Черный на фото.
  • ПДД. На фото зеленый.
  • SCL. Желтый на фото.

Эти четыре линии являются общими линиями. Отрежьте провода соответствующей длины и припаяйте их параллельно ко всем модулям датчиков. Я использовал 20 см от Arduino до первого датчика и по 5 см после каждого.

Подключение XSHUTN и GPIO

Белый провод длиной 20 см идет от контакта управления Arduino к контакту XSHUTN первого датчика. Это линия управления, необходимая для вывода первого чипа VL53L0X из состояния сброса и изменения адреса I2C.

Белый провод длиной 5 см между каждым модулем - это линия управления гирляндной цепью. Контактная площадка GPIO восходящей микросхемы (например, микросхемы №3) подключена к нижележащей (например, микросхеме №4) ветви XSHUTN (клемма G N-канального MOSFET).

Будьте осторожны, чтобы клемма G не соприкасалась с резистором, расположенным ниже. Вы можете добавить изоляционную ленту в зазор. Здесь можно использовать защитный лайнер, обычно поставляемый с микросхемой VL53L0X.

Используйте термофен, чтобы приклеить контрольный провод.

Горячий клей

Как вы можете видеть на фотографии, на белом контрольном проводе, рядом с клеммой G N-MOS, есть капля горячего клея. Этот шаг очень важен и абсолютно необходим. Плавающая пайка непосредственно к ножке SMD компонента очень слабая. Даже небольшое давление на проволоку может сломать ногу. Делайте этот шаг осторожно.

Тестирование светодиода

Когда вы подаете питание (например, 3,3–5 В) и заземляете массив датчиков, светодиод на первом модуле должен реагировать с логическим уровнем провода XSHUTN. Если вы подключите XSHUTN к высокому логическому уровню (например, 3,3–5 В), светодиод должен погаснуть. Если вы подключите провод XSHUTN к низкому уровню (земле), светодиод на первом модуле должен гореть.

Для всех последующих модулей светодиод должен быть выключен.

Этот тест проводится перед подключением к ардуино.

Шаг 6: Завершение массива датчиков

Image
Image
Завершение массива датчиков
Завершение массива датчиков
Завершение массива датчиков
Завершение массива датчиков
Завершение массива датчиков
Завершение массива датчиков

Тестирование гирляндной цепи

Теперь мы хотим проверить, работает ли изменение адреса I2C для всех датчиков в массиве. Как уже упоминалось, первый чип управляется Arduino. Вторая микросхема управляется первой микросхемой и так далее.

  1. Установите макетную доску. 5V и заземляющая шина напрямую подключены к adriano 5V и заземлению. Потребление тока для каждого датчика составляет 19 мА в таблице данных.
  2. Добавьте конденсатор на шину питания, чтобы стабилизировать Vin.
  3. Подключите Vin и заземление от матрицы датчиков к шине питания.
  4. Подключите SDA к пину Arduino Nano A4 (может отличаться для других микроконтроллеров).
  5. Подключите SCL к пину A5 Arduino Nano (может быть другим для других микроконтроллеров).
  6. Подключите провод XSHUTN к контакту D2 Arduino Nano. (Это можно изменить в эскизе).
  7. Перейдите на github https://github.com/FuzzyNoodle/Fuzzy-Radar и загрузите библиотеку.
  8. Откройте пример «Daisy_Chain_Testing» и загрузите скетч.

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

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

Открытие порта Порт открыт Начальный эскиз. Установите микросхему 0 в режим сброса. Все светодиоды состояния должны быть выключены. Теперь настраиваем датчики. Светодиод должен загореться один за другим. Настройка микросхемы 0 - Сбросить адрес I2C на 83 - Инициализировать датчик. Настройка микросхемы 1 - Сбросить адрес I2C на 84 - Инициализировать датчик. Настройка микросхемы 2 - Сбросить адрес I2C на 85 - Инициализировать датчик. Конфигурация радиолокационной установки завершена.

Соберите держатель и раму

  1. Осторожно поместите каждый модуль GY-530 в держатель с помощью винта M2x10. Не нажимайте на полевой МОП-транзистор и не тяните за провода XSHUTN.
  2. Поместите каждый держатель в круглую рамку. Склейте детали горячим клеем.

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

Файлы, напечатанные на 3D-принтере, которые я использовал, представлены ниже. Круглая рама состоит из 9 модулей, разделенных на 10 градусов каждый. Если у вас зоркий глаз, то на предыдущих фотографиях было 10 модулей. Причина? Объясняется ниже…

Удалите защитную пленку

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

Что касается защитной пленки, в техническом описании указано: «Заказчик должен удалить ее непосредственно перед установкой защитного стекла». Два крошечных отверстия (излучатель и приемник) на микросхеме VL53L0X уязвимы для загрязнений, таких как пыль, жир, горячий клей и т. Д.

При загрязнении диапазон может быть уменьшен, а показания могут отличаться на очевидную величину. Один из моих тестовых модулей случайно загрязнен клеевой глиной, диапазон уменьшен до 40 см, а показание расстояния ошибочно увеличено на 50%. Так что будь осторожен!

Шаг 7: Получение данных

Image
Image
Laser Tracer (демонстрация)
Laser Tracer (демонстрация)

Использование примера Raw_Data_Serial_Output

Теперь нам очень нравится видеть данные из нашего массива датчиков. В библиотеке arduino на GitHub:

https://github.com/FuzzyNoodle/Fuzzy-Radar

Есть пример под названием Raw_Data_Serial_Output. Этот пример демонстрирует необработанные выходные данные из массива датчиков. Выходные значения указаны в миллиметрах.

После того, как датчики инициализированы, вы должны увидеть что-то вроде этого в окне последовательного порта, когда вы взмахнете рукой через датчики:

Обратитесь к видеоклипу для живой демонстрации.

Использование примера Fuzzy_Radar_Serial_Output

Следующий шаг - получить полезные данные из этих показаний расстояния. Что мы хотели от РАДАРА, так это расстояние до целевого объекта и угол.

  • Расстояние в миллиметрах относительно поверхности датчика. Возвращение 0 означает, что цель находится вне диапазона.
  • Угол в градусах в горизонтальной плоскости. В коде в настоящее время ожидается, что датчики расположены равномерно. Значение 0 градусов означает, что цель находится в центре массива.

В библиотеке применен некоторый алгоритм фильтрации:

  • Удаление шума:

    • Кратковременные (с точки зрения подсчета образцов) показания считаются шумом и удаляются.
    • Показания, далекие от среднего значения, удаляются.
  • Расчет грузового угла (см. Иллюстрацию выше)

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

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

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

Выходное расстояние и угол сглаживаются фильтром нижних частот

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

Объект не обнаружен. Никаких объектов не обнаружено. Distance = 0056 Angle = 017 Distance = 0066 Angle = 014 Distance = 0077 Angle = 011 Distance = 0083 Angle = 010 Distance = 0081 Angle = 004 Distance = 0082 Angle = 000 Distance = 0092 Angle = 002 Distance = 0097 Angle = 001 Distance = 0096 Угол = 001 Расстояние = 0099 Угол = 000 Расстояние = 0101 Угол = -002 Расстояние = 0092 Угол = -004 Расстояние = 0095 Угол = -007 Расстояние = 0101 Угол = -008 Расстояние = 0112 Угол = -014 Расстояние = 0118 Угол = -017 Расстояние = 0122 Угол = -019 Расстояние = 0125 Угол = -019 Расстояние = 0126 Угол = -020 Расстояние = 0125 Угол = -022 Расстояние = 0124 Угол = -024 Расстояние = 0133 Угол = -027 Расстояние = 0138 Угол = - 031 Расстояние = 0140 Угол = -033 Расстояние = 0136 Угол = -033 Расстояние = 0125 Угол = -037 Расстояние = 0120 Угол = -038 Расстояние = 0141 Угол = -039 Объект не обнаружен. Никаких объектов не обнаружено. Никаких объектов не обнаружено.

Итак, теперь у вас есть РАДАР (ЛИДАР):

  • Меньше, чем модули ультразвуковых датчиков
  • Нет движущихся частей
  • Сканирует с частотой 40 Гц.
  • Имеет форму ремня, может устанавливаться на круглую раму
  • Используйте только три провода управления, плюс питание и заземление.
  • Имеет диапазон от 30 миллиметров до примерно 1000 миллиметров.

В следующих шагах мы покажем вам несколько интересных демонстраций!

Шаг 8: Laser Tracer (демонстрация)

Image
Image
Laser Tracer (демонстрация)
Laser Tracer (демонстрация)

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

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

Код можно скачать здесь.

См. Предоставленное видео.

Шаг 9: Смотрю Poopeyes (демонстрация)

Image
Image

Демонстрация использования радара для отслеживания местоположения и расстояния до объекта.

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