
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:04

Я создаю для развлечения робота, которого хочу автономно перемещать внутри дома.
Это долгая работа, и я делаю ее постепенно.
Это поучительный акцент на обнаружении препятствий с помощью Arduino Mega
Ультразвуковые датчики HC-SR04 и HY-SRF05 дешевы и просты в использовании, но их сложно интегрировать в цикл микроконтроллера в сложном роботе. Я хотел запустить обнаружение препятствий асинхронным способом.
_
Я уже опубликовал 3 инструкции об особенностях этого робота:
- Сделайте свой колесный энкодер
- Сделайте свой WIFI шлюз
- Используйте инерциальный модуль
И документация о сочетании искусственного интеллекта и ультразвука для локализации робота.
Шаг 1. В чем именно заключается проблема ультразвуковых датчиков и микроконтроллеров?


Синхронное ожидание и ограничения Arduino
Код микроконтроллеров работает в цикле и не поддерживает многопоточность. Ультразвуковые датчики основаны на продолжительности сигнала. Эта продолжительность длится до 30 мс, что очень долго, чтобы ждать внутри цикла, когда микроконтроллеры должны иметь дело с несколькими двигателями и датчиками (например, сервоприводами и двигателями постоянного тока с колесными энкодерами).
Итак, я хотел разработать объект, который работает асинхронно.
Шаг 2: как это работает?

Он был разработан для Atmega для обнаружения препятствий. Он поддерживает до 4 ультразвуковых датчиков.
Благодаря периодическому прерыванию по времени система может контролировать до 4 ультразвуковых датчиков. Основной код должен только определить, какой датчик активировать с условием и порогом. Основной код будет прерван только в случае появления (условие, порог).
Основные функции:
- Оповещение является основным средством обнаружения препятствий и обеспечивает прерывание, если хотя бы 1 из 4 датчиков обнаруживает расстояние ниже порогового значения.
- Монитор - это расширенная функция, которая обеспечивает прерывание при сочетании условий расстояния до 4 датчиков. Возможные условия: выше, ниже, равны или не равны пороговым значениям.
Шаг 3. Технические подробности
Используйте timer4, чтобы контакты 6 7 8 не могли использоваться в качестве ШИМ.
Для каждого датчика объекту нужен ПИН-код триггера и ПИН-код прерывания.
Помимо PIN-кодов прерывания датчиков объекту требуется другой PIN-код прерывания для использования программного обеспечения.
Шаг 4: Как реализовать?

Подключите датчики, как указано выше
Скачать из этого репозитория GitHub
- EchoObstacleDetection.cpp,
- EchoObstacleDetection.h
- ExampleEchoObstacleDetection.ino
Создайте каталог EchoObstacleDetection внутри своей библиотеки IDE и переместите.cpp и.h
Попробуй это
Откройте ExampleEchoObstacleDetection.ino.
Это простой пример обнаружения препятствий с использованием 2 ультразвуковых датчиков.
Вывод направляется на последовательный монитор. Сначала он распечатает расстояния, обнаруженные двумя датчиками, а затем распечатает предупреждения в зависимости от расстояний ниже пороговых значений.
Рекомендуемые:
ОБНАРУЖЕНИЕ ПРЕПЯТСТВИЙ И ИЗБЕЖАНИЕ ПРЕПЯТСТВИЙ: 3 шага

ОБНАРУЖЕНИЕ ПРЕПЯТСТВИЙ И ИЗБЕЖАНИЕ ПРЕПЯТСТВИЙ: Марсоход - это космический корабль, предназначенный для передвижения по поверхности планеты или другого небесного тела. Некоторые марсоходы были разработаны для перевозки членов пилотируемого космического экипажа; другие были частично или полностью автономными роботами. Р
Обнаружение объектов с помощью Dragonboard 410c или 820c с использованием OpenCV и Tensorflow .: 4 шага

Обнаружение объектов W / Dragonboard 410c или 820c с использованием OpenCV и Tensorflow. В этой инструкции описывается, как установить OpenCV, Tensorflow и фреймворки машинного обучения для Python 3.5 для запуска приложения Object Detection
Обнаружение опухолей головного мозга с помощью МРТ с помощью Matlab: 6 шагов

Обнаружение опухоли головного мозга с помощью МРТ с помощью Matlab: Авторы: Мадхумита Каннан, Генри Нгуен, Эшли Уррутия Авила, Мей Джин Этот код MATLAB представляет собой программу для определения точного размера, формы и местоположения опухоли, обнаруженной на снимках МРТ головного мозга пациента. Эта программа изначально предназначена для работы с детектором опухолей
Обнаружение препятствий на смартфоне RoboCar с использованием Arduino: 5 шагов

Робокар для обнаружения препятствий, управляемый смартфоном, с использованием Arduino: в этом проекте мы создали робот-автомобиль, в котором два ультразвуковых датчика и один модуль Bluetooth были связаны с Arduino
Обнаружение препятствий и предупреждение - Arduino UNO и Ultrasonic: 4 шага (с изображениями)

Обнаружение препятствий и предупреждения - Arduino UNO и Ultrasonic: это руководство, которое поможет вам понять ультразвуковой сигнал и зуммер и углубиться в изучение Arduino, выполните следующие действия и оставьте мне отзыв