Как сделать робота для уборки пола с помощью ультразвукового датчика?

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



(Это изображение взято из Circuit Digest)

Как использовать ультразвуковой датчик для создания робота для автоматической уборки пола?

Как мы теперь знаем, аннотация нашего проекта. Соберем еще немного информации, чтобы начать работу.



Шаг 1: Сбор компонентов

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



  • Шасси колеса автомобиля
  • Аккумулятор
  • Показать кисть

Шаг 2: Изучение компонентов

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



Arduino nano - это плата микроконтроллера, которая используется для управления или выполнения различных задач в цепи. Мы сжигаем Код C на Arduino Nano, чтобы сообщить плате микроконтроллера, как и какие операции выполнять. Arduino Nano имеет ту же функциональность, что и Arduino Uno, но при довольно небольшом размере. Микроконтроллер на плате Arduino Nano ATmega328p.

Ардуино Нано

L298N - это интегральная схема с высоким током и напряжением. Это двойной полный мост, предназначенный для работы со стандартной логикой TTL. Он имеет два входа включения, которые позволяют устройству работать независимо. Два двигателя могут быть подключены и работать одновременно. Скорость двигателей регулируется контактами PWM.



Драйвер двигателя L298N

Плата HC-SR04 - это ультразвуковой датчик, который используется для определения расстояния между двумя объектами. Он состоит из передатчика и приемника. Передатчик преобразует электрический сигнал в ультразвуковой, а приемник преобразует ультразвуковой сигнал обратно в электрический сигнал. Когда передатчик посылает ультразвуковую волну, она отражается после столкновения с определенным объектом. Расстояние рассчитывается с использованием времени, которое требуется ультразвуковому сигналу, чтобы пройти от передатчика и вернуться к приемнику.

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

Шаг 3: Сборка компонентов

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

Возьмите автомобильную колесную раму и установите выставочную щетку перед шасси. Установите Scotch Brite под роботом. Убедитесь, что он находится прямо за щеткой для обуви. Теперь прикрепите небольшой макет на верхнюю часть рамы, а за ней прикрепите драйвер двигателя. Правильно подключите двигатели к драйверу двигателя и аккуратно подключите контакты драйвера двигателя к Arduino. Установите аккумулятор за шасси. Аккумулятор питает драйвер двигателя, который питает двигатели. Arduino также будет получать питание от драйвера двигателя. Контакт Vcc и земля ультразвукового датчика будут подключены к 5 В и земле Arduino.

Принципиальная электрическая схема

Шаг 4: Начало работы с Arduino

Если вы еще не знакомы с Arduino IDE, не волнуйтесь, потому что пошаговая процедура настройки и использования Arduino IDE с платой микроконтроллера описана ниже.

  1. Загрузите последнюю версию Arduino IDE из Ардуино.
  2. Подключите плату Arduino Nano к ноутбуку и откройте панель управления. в панели управления нажмите на Оборудование и звук . Теперь нажмите на Устройства и принтеры. Здесь найдите порт, к которому подключена ваша плата микроконтроллера. В моем случае это COM14 но на разных компьютерах по-разному.

    Поиск порта

  3. Щелкните меню инструментов и установите доску на Arduino Nano.

    Доска настроек

  4. В том же меню инструментов установите порт на номер порта, который вы наблюдали ранее в Устройства и принтеры .

    Настройка порта

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

    Процессор

  6. Загрузите приведенный ниже код и вставьте его в свою Arduino IDE. Нажми на загрузить кнопку, чтобы записать код на плату микроконтроллера.

    Загрузить

Нажмите Вот чтобы скачать код.

Шаг 5: понимание кода

Код довольно хорошо прокомментирован и не требует пояснений. Но все же это кратко объясняется ниже.

1. Сначала инициализируются все контакты Arduino, которые мы собираемся использовать.

int enable1pin = 8; // Контакты для первого двигателя int motor1pin1 = 2; int motor1pin2 = 3; int enable2pin = 9; // Контакты для второго двигателя int motor2pin1 = 4; int motor2pin2 = 5; const int trigPin = 11; // Контакты для ультразвукового датчика const int echoPin = 10; const int buzzPin = 6; большая продолжительность; // Переменные для плавающего расстояния ультразвукового датчика;

2. установка void () это функция, в которой мы устанавливаем все выводы, которые будут использоваться как ВХОД или ВЫХОД. Скорость передачи также устанавливается в этой функции. Скорость передачи - это скорость, с которой плата микроконтроллера обменивается данными с подключенными датчиками.

void setup () {Serial.begin (9600); pinMode (trigPin, ВЫХОД); pinMode (echoPin, ВХОД); pinMode (buzzPin, ВЫХОД); pinMode (enable1pin, ВЫХОД); pinMode (enable2pin, ВЫХОД); pinMode (motor1pin1, ВЫХОД); pinMode (motor1pin2, ВЫХОД); pinMode (motor2pin1, ВЫХОД); pinMode (motor2pin2, ВЫХОД); }

3. пустой цикл () - это функция, которая непрерывно выполняется в цикле. В этом цикле мы сказали микроконтроллеру, когда двигаться вперед, если на расстоянии 50 см нет препятствий. Робот сделает крутой поворот направо, когда обнаружит препятствие.

void loop () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); duration = pulseIn (echoPin, HIGH); расстояние = 0,034 * (продолжительность / 2); if (distance> 50) // Двигаться вперед, если препятствий не найдено {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, HIGH); digitalWrite (motor1pin1, HIGH); digitalWrite (motor1pin2, LOW); digitalWrite (motor2pin1, HIGH); digitalWrite (motor2pin2, LOW); } else if (расстояние<50) // Sharp Right Turn if an obstacle found { digitalWrite(enable1pin, HIGH); digitalWrite(enable2pin, HIGH); digitalWrite(motor1pin1, HIGH); digitalWrite(motor1pin2, LOW); digitalWrite(motor2pin1, LOW); digitalWrite(motor2pin2, LOW); } delay(300); // delay }

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