Оглавление:
- Шаг 1. Что вам нужно в этом проекте:
- Шаг 2: Принципиальная схема
- Шаг 3: Программирование Arduino UNO
- Шаг 4: Отлично
Видео: Как сделать дома робота для обхода препятствий на Arduino: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Привет, ребята, в этой инструкции вы создадите робота, избегающего препятствий. Это руководство включает в себя создание робота с ультразвуковым датчиком, который может обнаруживать близлежащие объекты и изменять их направление, чтобы избегать этих объектов. Ультразвуковой датчик будет прикреплен к серводвигателю, который постоянно сканирует влево и вправо в поисках объектов на своем пути.
Итак, без лишних слов, приступим!
Шаг 1. Что вам нужно в этом проекте:
Вот список деталей:
1) Arduino Uno
2) Щиток драйвера двигателя
3) Мотор-редуктор, рама и комплект колес
4) Серводвигатель
5) Ультразвуковой датчик
6) Литий-ионный аккумулятор (2 шт.)
7) Держатель батареи
8) Мужской и женский перемычки
9) Паяльник
10) Зарядное устройство
Шаг 2: Принципиальная схема
Работающий:
Прежде чем приступить к работе над проектом, важно понять, как работает ультразвуковой датчик. Основной принцип работы ультразвукового датчика заключается в следующем:
При использовании внешнего триггерного сигнала триггерный вывод ультразвукового датчика получает высокий логический уровень как минимум на 10 мкс. Отправляется звуковой пакет от модуля передатчика. Он состоит из 8 импульсов по 40 кГц.
Сигналы возвращаются после удара о поверхность, и приемник обнаруживает этот сигнал. На выводе Echo высокий уровень с момента отправки и получения сигнала. Это время можно преобразовать в расстояние, используя соответствующие вычисления.
Целью этого проекта является создание робота для обхода препятствий с использованием ультразвукового датчика и Arduino. Все подключения выполняются согласно принципиальной схеме. Ниже поясняется принцип работы проекта.
Когда робот включен, оба двигателя робота будут работать нормально, и робот движется вперед. В это время ультразвуковой датчик непрерывно рассчитывает расстояние между роботом и отражающей поверхностью.
Эта информация обрабатывается Arduino. Если расстояние между роботом и препятствием составляет менее 15 см, робот останавливается и сканирует влево и вправо для определения нового расстояния с помощью серводвигателя и ультразвукового датчика. Если расстояние по направлению к левой стороне больше, чем с правой стороны, робот подготовится к повороту налево. Но сначала он немного отступает, а затем активирует мотор левого колеса в обратном направлении.
Точно так же, если правое расстояние больше, чем левое расстояние, робот готовится к правому вращению. Этот процесс продолжается вечно, и робот продолжает движение, не сталкиваясь с какими-либо препятствиями.
Шаг 3: Программирование Arduino UNO
#включают
#включают
#включают
# определить TRIG_PIN A1
# определить ECHO_PIN A0
# define MAX_DISTANCE 200
# define MAX_SPEED 255 // устанавливает скорость двигателей постоянного тока
# определить MAX_SPEED_OFFSET 20
Эхолот NewPing (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotor motor3 (3, MOTOR34_1KHZ);
AF_DCMotor motor4 (4, MOTOR34_1KHZ); Сервомашина;
логическое goForward = false;
int distance = 100; int speedSet = 0;
void setup () {
myservo.attach (10);
myservo.write (115); задержка (2000); расстояние = readPing (); задержка (100); расстояние = readPing (); задержка (100); расстояние = readPing (); задержка (100); расстояние = readPing (); задержка (100); }
void loop () {
int distanceR = 0; int distanceL = 0; задержка (40);
если (расстояние <= 15) {moveStop (); задержка (100); двигаться назад(); задержка (300); moveStop (); задержка (200); distanceR = lookRight (); задержка (200); distanceL = lookLeft (); задержка (200);
if (distanceR> = distanceL) {
Поверните направо(); moveStop (); } еще {turnLeft (); moveStop (); }} еще {moveForward (); } distance = readPing (); }
int lookRight () {
myservo.write (50); задержка (500); int distance = readPing (); задержка (100); myservo.write (115); расстояние возврата; }
int lookLeft () {
myservo.write (170); задержка (500); int distance = readPing (); задержка (100); myservo.write (115); расстояние возврата; задержка (100); }
int readPing () {
задержка (70); int cm = sonar.ping_cm (); если (см == 0) {см = 250; } return cm; }
void moveStop () {
motor3.run (ВЫПУСК);
motor4.run (РЕЛИЗ); }
void moveForward () {
if (! goForward) {
goForward = true;
motor3.run (ВПЕРЕД);
motor4.run (ВПЕРЕД); for (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) // медленно увеличивайте скорость, чтобы не разряжать батареи слишком быстро {
motor3.setSpeed (набор скорости);
motor4.setSpeed (набор скорости); задержка (5); }}}
void moveBackward () {
goForward = false;
motor3.run (НАЗАД);
motor4.run (НАЗАД); for (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) // медленно увеличивайте скорость, чтобы не разряжать батареи слишком быстро {
motor3.setSpeed (набор скорости);
motor4.setSpeed (набор скорости); задержка (5); }}
void turnRight () {
motor3.run (ВПЕРЕД);
motor4.run (НАЗАД); задержка (500);
motor3.run (ВПЕРЕД);
motor4.run (ВПЕРЕД); }
void turnLeft () {
motor3.run (НАЗАД);
motor4.run (ВПЕРЕД); задержка (500);
motor3.run (ВПЕРЕД);
motor4.run (ВПЕРЕД); }
1) Загрузите и установите Arduino Desktop IDE
- окна -
- Mac OS X -
- Linux -
2) Загрузите и вставьте файл библиотеки NewPing (библиотека функций ультразвукового датчика) в папку библиотек Arduino.
- Загрузите NewPing.rar ниже
- Распакуйте по пути - C: / Arduino / libraries
3) Загрузите код на плату Arduino через USB-кабель.
Код загрузки:
Шаг 4: Отлично
Теперь ваш робот готов избегать любого препятствия …
Буду рад ответить на любые ваши вопросы
Электронная почта: [email protected]
Сайт:
Подпишитесь на мой канал на YouTube:
Instagram:
Facebook:
Спасибо:)
Рекомендуемые:
Как сделать дома робота для управления жестами Arduino своими руками: 4 шага
Как сделать DIY-робот для управления жестами Arduino дома: Как сделать DIY-робот для управления жестами Arduino дома. В этом проекте я покажу вам, как сделать робота для управления жестами Arduino своими руками
Робот для обхода препятствий с ИК-датчиками без микроконтроллера: 6 шагов
Робот для обхода препятствий с ИК-датчиками без микроконтроллера: Ну, это старый проект, я сделал его в 2014 году в июле или августе, подумал поделиться им с вами, ребята. Это простой робот, избегающий препятствий, который использует ИК-датчики и работает без микроконтроллера. В ИК-датчиках используется микросхема операционного усилителя i
Робот для обхода препятствий (Arduino): 8 шагов (с изображениями)
Робот для избегания препятствий (Arduino): Здесь я собираюсь рассказать вам о создании робота для избегания препятствий на базе Arduino. Я надеюсь сделать пошаговое руководство по созданию этого робота очень простым способом. Робот, уклоняющийся от препятствий, - это полностью автономный робот, способный уклоняться от любых наблюдений
Как создать робота для обхода препятствий с помощью Arduino: 5 шагов
Как создать робота для обхода препятствий с помощью Arduino: в этой инструкции я научу вас, как создать робота для обхода препятствий, который работает с Arduino. Вы должны быть знакомы с Arduino. Arduino - это плата контроллера, в которой используется микроконтроллер atmega. Вы можете использовать любую версию Arduino, но я
Робот для обхода препятствий с использованием Arduino Uno: 5 шагов (с изображениями)
Робот для обхода препятствий с использованием Arduino Uno: Привет, ребята, это очень простой и рабочий проект, называемый роботом для обхода препятствий с использованием Arduino, и особенность этого проекта заключается в том, что он дает команды о том, как он движется на смартфоне через Bluetooth