Каталог
Проект 9: Робот, следящий за движением руки

Проект 9: Робот, следящий за движением руки

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

Принцип работы

Ультразвуковой датчик измеряет расстояние до ближайшего объекта путем отправки ультразвукового сигнала и измерения времени, необходимого для возвращения отраженного сигнала. Датчик подключен к Arduino, который обрабатывает данные и управляет моторами через модуль L298N, чтобы робот мог двигаться вперед, назад или останавливаться в зависимости от расстояния до объекта.

Установка библиотек

Чтобы подключить библиотеки для Arduino, выполните следующие шаги:

  1. Скачайте библиотеки с официального сайта или из репозитория GitHub:

  2. Откройте программу Arduino IDE и перейдите в меню «Скетч» → «Подключить библиотеку» → «Добавить .ZIP библиотеку…».

  3. В открывшемся окне выберите скачанный .zip файл и нажмите «Открыть».

  4. Внизу Arduino IDE появится сообщение “Библиотека добавлена. Проверьте меню “Подключить библиотеку””.

  5. Теперь библиотека будет доступна для использования в ваших проектах.

Пример кода

#include <AlashUltrasonic.h>
#include <AlashMotorControlX2.h>

// Определение пинов для ультразвукового датчика
const uint8_t TRIGGER_PIN = A1;
const uint8_t ECHO_PIN = A0;
AlashUltrasonic sensor(TRIGGER_PIN, ECHO_PIN);

// Определение пинов для моторов
const unsigned int PIN_FORWARD_LEFT = 9;
const unsigned int PIN_BACKWARD_LEFT = 8;
const unsigned int PIN_ENABLE_LEFT = 10;
const unsigned int PIN_FORWARD_RIGHT = 7;
const unsigned int PIN_BACKWARD_RIGHT = 6;
const unsigned int PIN_ENABLE_RIGHT = 5;
// Инициализация двух моторов
AlashMotorControlX2 motors(PIN_FORWARD_LEFT, PIN_BACKWARD_LEFT, PIN_ENABLE_LEFT, PIN_FORWARD_RIGHT, PIN_BACKWARD_RIGHT, PIN_ENABLE_RIGHT);
void setup() {
  Serial.begin(9600);  // Инициализация последовательного порта для отображения информации
  sensor.begin();
  motors.setSpeed(80);  // Установка начальной скорости для обоих моторов
}
void loop() {
  float distanceCenter = sensor.getDistance();
  Serial.print("DistanceCenter: ");
  Serial.print(distanceCenter);
  Serial.println(" cm");
  if (distanceCenter < 25) {
    motors.setSpeed(100);
    motors.backward();
  }
  else if (distanceCenter >= 25 && distanceCenter < 50) {
    motors.setSpeed(100);
    motors.forward();
  }
  else {
    motors.stop();
  }
  delay(25);
}

Описание кода

  1. Инициализация датчика и моторов:

    • Создаем объект sensor для управления ультразвуковым датчиком.
    • Создаем объект motors для управления двумя моторами.
    • В функции setup инициализируем последовательный порт, датчик и устанавливаем начальную скорость для моторов.
  2. Основной цикл (loop):

    • Получаем расстояние до объекта с помощью датчика.
    • Если расстояние меньше 25 см, робот движется назад.
    • Если расстояние между 25 и 50 см, робот движется вперед.
    • Если объектов поблизости нет (более 50 см), робот останавливается.
    • Информация о расстоянии выводится в последовательный монитор.

Полезная информация

  • Ультразвуковые датчики: Ультразвуковые датчики, такие как HC-SR04, позволяют точно измерять расстояние до объектов и избегать препятствий. Они отправляют ультразвуковые волны и измеряют время их отражения, что позволяет определять расстояние до объекта с высокой точностью.
  • Библиотека AlashUltrasonic: Эта библиотека упрощает работу с ультразвуковыми датчиками, предоставляя удобные функции для получения расстояния. Она абстрагирует детали работы с датчиком, позволяя разработчикам сосредоточиться на логике приложения.
  • Библиотека AlashMotorControl: Эта библиотека упрощает управление моторами, предоставляя функции для управления скоростью и направлением вращения моторов. Она поддерживает различные режимы управления и позволяет легко интегрировать управление моторами в проекты на базе Arduino.
  • Оптимизация работы: Вы можете экспериментировать с настройками скорости и расстояния, чтобы оптимизировать работу робота для конкретных задач и условий. Например, вы можете настроить пороговые значения расстояний для более точного управления движением робота.

Заключение

Этот проект позволяет протестировать робота, собранного из набора 4WD Smart Car Kit v1.0, который следит за движением руки или других объектов, используя ультразвуковой датчик и две библиотеки для управления сенсорами и моторами. Это отличная возможность для изучения основ робототехники, работы с датчиками и управления моторами на базе Arduino. Вы можете продолжить улучшать и модифицировать этот проект, добавляя новые функции и возможности, такие как более сложные алгоритмы избегания препятствий или использование дополнительных датчиков для повышения точности и функциональности робота.

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

Предзаказ
Предзаказ успешно отправлен!
Имя *
Телефон *
Добавить в корзину
Название товара
100 тг
1 шт.
Перейти в корзину
Обратный звонок
Запрос успешно отправлен!
Имя *
Телефон *
Заказ в один клик
С помощью уведомлений о заказе можно не только получать актуальную информацию по заказу, но и иметь быстрый канал связи с магазином